Форум: "Базы";
Текущий архив: 2010.03.21;
Скачать: [xml.tar.bz2];
ВнизНемогу открыть файл mdb в запросе AdoQuery Найти похожие ветки
← →
Михаил (2009-03-11 10:12) [0]Здравствуйте! Есть программа на Delphi7. Требуется создать запрос к одной и той же таблице из двух разных mdb файлов. К первой базе соединение установлено с помощью connection string. Проблема в том, как указать второй файл mdb. Первый вариант sql запроса работает в том случае если в базе нет пароля.
SELECT * FROM [C:\Data.mdb].MyTable
Так как пароль на базу есть, пробовал второй вариант Sql запроса с паролем.SELECT * FROM [Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\Data.mdb;Mode=Read;Extended Properties="";Persist Security Info=False;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password=9poferRandomize65536;Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1].MyTable;
В этом случае выдаётся ошибка "невозможно найти устанавливаемый ISAM".
В чём загвоздка? Подскажите. Спасибо.
← →
Медвежонок Пятачок © (2009-03-11 10:16) [1]SELECT * FROM MyTable
← →
Михаил (2009-03-11 10:26) [2]
> SELECT * FROM MyTable
Это понятно :).
К примеру как будет работать?SELECT * FROM MyTableA, [C:\Data.mdb].MyTableB where MyTableA.id = MyTableB.id
Без пароля на базу "Data.mdb" работает, а с паролем пишет "Неверный пароль".
← →
Palladin © (2009-03-11 10:27) [3]
> Михаил (11.03.09 10:12)
В чем проблема создания двух соединений?
← →
Михаил (2009-03-11 10:35) [4]
> В чем проблема создания двух соединений?
Пробовал создать два соединения. В программе требуется перенести отсутствующие данные из одной базы в другую без дубликатов. типа синхронизации.
В данный момент именно так и реализовано. Два соединения запрос в одной базе, потом в цикде выполняется insert ... values . Когда записей много выполняется долго. хочется одним запросом сделать.
Что-то типа.INSERT INTO B SELECT * FROM A WHERE ID NOT IN (SELECT ID FROM B)
Где таблица "A" с той же структурой что и "B" но находится в другом mdb.
Вопрос, как его подключить если он с паролем?
← →
Медвежонок Пятачок © (2009-03-11 10:42) [5]К примеру как будет работать?
SELECT * FROM MyTableA, [C:\Data.mdb].MyTableB where MyTableA.id = MyTableB.id
Без пароля на базу "Data.mdb" работает, а с паролем пишет "Неверный пароль".
Нет конечно. Не будет.
Пароль неверный - введи верный
← →
Михаил (2009-03-11 10:43) [6]NOT IN (... можно будет на INNER JOIN заменить, не суть важно. Главное подключить второй MDB в запросе, либо использовать два ADOCOnnection в одном запросе. Не знаю что будет проще.
← →
Михаил (2009-03-11 10:43) [7]
> К примеру как будет работать?SELECT * FROM MyTableA, [C:
> \Data.mdb].MyTableB where MyTableA.id = MyTableB.idБез
> пароля на базу "Data.mdb" работает, а с паролем пишет "Неверный
> пароль".Нет конечно. Не будет.Пароль неверный - введи верный
Как его ввести в запросе? )
← →
забыл (2009-03-11 14:06) [8]если у одной базы нет пароля, то может она и не будет против, если к ней по паролю попробовать подключится. А та которая просит пароль, пусть получит. св-во такое есть, connectionstring..
← →
Михаил (2009-03-11 14:21) [9]
> забыл (11.03.09 14:06) [8]
> если у одной базы нет пароля, то может она и не будет против,
> если к ней по паролю попробовать подключится. А та которая
> просит пароль, пусть получит. св-во такое есть, connectionstring.
> .
В том то и дело, что у обоих mdb одинаковый пароль. К текущей базе пароль применяется из Connection string, а к импортируемой по ходу нет. Так как выводится сообщение "Ошибочный пароль"
← →
Немо © (2009-03-11 15:14) [10]а так если?
SELECT
*
FROM
MyTableA as A,
[C:\Data.mdb].MyTableB as B
where
A.id = B.id
← →
sniknik © (2009-03-11 16:03) [11]в параметры к соединению добавить pwd=пароль;
← →
sniknik © (2009-03-11 16:03) [12]к тому что в запросе естественно
← →
Михаил (2009-03-11 16:30) [13]
> sniknik © (11.03.09 16:03) [11]
> в параметры к соединению добавить pwd=пароль;
Куда добавить параметр pwd в AdoConnection? Дополнитьельно в ConnectionString или есть какое нибудь дополнительное свойство parameters?
← →
Михаил (2009-03-11 16:54) [14]
> sniknik © (11.03.09 16:03) [11]
> в параметры к соединению добавить pwd=пароль;
Огромное спасибо! ) Всё работает.SELECT * FROM [C:\Data.mdb; pwd = password].MyTable;
Вопрос закрыт.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2010.03.21;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.004 c