powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как можно сделать SQL запрос к двум базам Access из Делфи
8 сообщений из 8, страница 1 из 1
Как можно сделать SQL запрос к двум базам Access из Делфи
    #39519486
alvltss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста, как можно сделать SQL запрос к двум базам Access из Делфи одновременно. Не понимаю как в один ADOQuery "впихнуть" вторую базу и выбрать из нее значения по соответсвующим полям из результата запроса к первой.
Буду признателен за подсказки/примеры.
...
Рейтинг: 0 / 0
Как можно сделать SQL запрос к двум базам Access из Делфи
    #39519579
Фотография Chippolino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
провайдер JET позволяет указывать ODBC источники прямо в теле запроса
так можно в одном батче скрестить бульдога с носорогом
например ексель и mssql
Код: sql
1.
2.
3.
4.
5.
6.
SELECT  a.F1,a.F2,a.F5,a.F3,a.F4,b.PG,now(),a.F9,a.F6,a.F7,a.F8
FROM (select * from [List1$A2:I] IN [Excel 12.0 xml;HDR=no;IMEX=1;DATABASE=D:\data\cervenec.xlsx]) a
inner join 
(select * from viBusinessStructure  IN [ODBC;Driver={SQL Server Native Client 10.0};Server=myServer;Database=myDatabase;Trusted_Connection=yes;]) b
on a.F4=b.FAGR
WHERE a.F1<>'Overall Result'


укажите нужные вам строки подключения в разделе IN и будет вам счастье
...
Рейтинг: 0 / 0
Как можно сделать SQL запрос к двум базам Access из Делфи
    #39522058
alvltss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за информацию!
Буду пробовать.
...
Рейтинг: 0 / 0
Как можно сделать SQL запрос к двум базам Access из Делфи
    #39522294
alvltss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем, попробовал но нифига не получается. Например, простой запрос

Код: pascal
1.
Select * from Logs  IN [Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Config.mdb; Persist Security Info=False;]



выдает ошибку "Источник данных не найден и не указан драйвер, используемый по умолчанию", хотя все это прописано.
Кроме того, выскакивает окно авторизации. Как его отключить в строке подключения непонятно.
Если выполнить это запрос при подключенной базе, то выскакивает ошибка "Неправильно определен объект Parameter. Представлены несогласованные или неполные сведения"
Как это все победить?
...
Рейтинг: 0 / 0
Как можно сделать SQL запрос к двум базам Access из Делфи
    #39522344
Jet,
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alvltssВ общем, попробовал но нифига не получается. Например, простой запрос

Код: pascal
1.
Select * from Logs  IN ''[Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Config.mdb; Persist Security Info=False;]




выдает ошибку "Источник данных не найден и не указан драйвер, используемый по умолчанию", хотя все это прописано.
Кроме того, выскакивает окно авторизации. Как его отключить в строке подключения непонятно.
Если выполнить это запрос при подключенной базе, то выскакивает ошибка "Неправильно определен объект Parameter. Представлены несогласованные или неполные сведения"
Как это все победить?вроде апострофы нужны ещё
Но это всё равно тебе не поможет, ходи по ссылке 18178978
...
Рейтинг: 0 / 0
Как можно сделать SQL запрос к двум базам Access из Делфи
    #39524092
alvltss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему то те варианты у меня не работают ... не понятно почему...
Мне подсказали другой вариант-
Select * from Logs IN "D:\Config.mdb" он работает.
...
Рейтинг: 0 / 0
Как можно сделать SQL запрос к двум базам Access из Делфи
    #39524341
Шыфл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alvltss,

В первом ответе кто-то переврал мой пост, там пустые ковычки должны быть '' после IN

Строка с драйвером нужна для источника данных, отличного от Ассесс, а с ним работает и без драйвера.
...
Рейтинг: 0 / 0
Как можно сделать SQL запрос к двум базам Access из Делфи
    #39525154
alvltss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал такой запрос

Код: pascal
1.
2.
3.
4.
5.
6.
         qry_SQL.SQL.Add('select Seconds from SutvValueTable  ' );
         qry_SQL.SQL.Add ('INNER JOIN DataTable IN "Q:\Systel\Bin\Zerver.mdb"  ');
         qry_SQL.SQL.Add ('ON SutvValueTable.RegionIndex= DataTable.RegionIndex  ');
         qry_SQL.SQL.Add('AND SutvValueTable.DataIndex= DataTable.DataIndex  ');
         qry_SQL.SQL.Add (' where Seconds= (SELECT max(Seconds ) From SutvValueTable)  ');
         qry_SQL.SQL.Add('and (Status> 4095) and (Status< 8092) and (Status mod 2 = 0)  ');



Синтаксическая ошибка. Что тут не так? Может, надо как-то указать полный путь к базе в строках 2 и 3?
Также в первой строке хочу указать поле из DataTable. Но тоже не совсем понятно, с полным путем указывать или как?
Подскажите, кто может, плиз....
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как можно сделать SQL запрос к двум базам Access из Делфи
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]