![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос опять про Access - > MS SQL [D7, MSSQL]
Tornado © (2006-04-26 14:55:00)"Все перепробовал ничего не помогает" (с)
Задача таже: перебросить данные из Access в SQL Server 2000.Пишу запрос:
SQL.Add('SELECT * FROM OPENDATASOURCE('SQLOLEDB.1','Data Source=10.000.000.00;User ID=sa;Password=1111').IzmKab.dbo.tbl_Frames_ARZ');
Не работает, пишет про засаду с кавычками (типа неправильный синтакис). Ну подскажите мне как правильно его "оформить" плиз!!! Третью неделю бьюсь :)
ADOQuery подключен к тому же серверу (SQL Server на 10.000.000.00)
В QueryAnalyser запрос работает, в Дельфях замучался уже :)
mark82 (2006-05-30 12:54:00) [1]vseotaki rebeata kak pravilino delati?
sniknik (2006-04-27 12:51:00) [2]> ага спасибо, попробую...замысел то - закинуть данные из Access в MS SQL. ADOQuery подключать к SQL или к Access ?
ADOQuery ни к чему подуключать не нужно, его нужно вообще выкинуть...
подключать ADOConnection, а уже его указывать в ADODataSet.
и подключать его можно и так и так только синтаксис тогда разный... по первому в BOL, по второму в справку аксесса JETSQL40.CHM.
> пишет неправильно определен параметр...
правильно пишет...
не может быть смешения стилей, OPENDATASOURCE это mssql-ная конструкция, IN access-ная (к тому же неправильная даже для access-а), в пример видимо не заглядывал...
Tornado (2006-04-27 12:42:00) [3]да нет, все это один запрос просто разбит на 2 части
isasa (2006-04-27 11:59:00) [4]Второе не в запрос, а в ConnectionString ?
Tornado (2006-04-27 11:44:00) [5]пишу:
SQL.Add('INSERT INTO OPENDATASOURCE(''SQLOLEDB.1'',''Data Source=10.200.200.50;User ID=sa;Password=1111'').IzmKab.dbo.tbl_ARZAMAS SELECT * FROM tbl_Frames_ARZ IN ');
SQL.Add('[Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Programm\Access to SQL Server\Izm2005.mdb;Persist Security Info=False]');
пишет неправильно определен параметр...
Tornado (2006-04-27 11:38:00) [6]sniknik © (27.04.06 11:01) [4]
ага спасибо, попробую...замысел то - закинуть данные из Access в MS SQL. ADOQuery подключать к SQL или к Access ?
Таблица tbl_Frames_ARZ находится в БД Access, соответственно IzmKab.dbo.tbl_ARZAMAS - в MS SQL
sniknik (2006-04-27 11:01:00) [7]> теперь нужно заставить выполнится такой запрос:
уверен? ну тогда проследи чтобы подключение было к одной MSSQL ной базе (там где таблица tbl_Frames_ARZ), и существовала другая к которой делается подключение в OPENDATASOURCE.
вот только access тут будет совсем не причем (а вроде хочеш -> [0]). чтобы был при чем посмотри в BOL топик по OPENDATASOURCE, пример подключения к jet, и пересоставь запрос.
Tornado (2006-04-27 10:35:00) [8]ну наконец то выполнился этот запрос!!! ура.
усложняем задачу, теперь нужно заставить выполнится такой запрос:
SQL.Add('INSERT INTO OPENDATASOURCE(''SQLOLEDB.1'',''Data Source=10.252.253.90;User ID=sa;Password=sql'').IzmKab.dbo.tbl_ARZAMAS SELECT * FROM tbl_Frames_ARZ');
Тут опять засада с синтаксисом...
Tornado (2006-04-26 15:13:00) [9]нет не однократно, запрос будет часто выполнятся. Уж чего я только не делал с этими кавычками...щас еще попробую
Johnmen (2006-04-26 15:06:00) [10]Если это делается однократно, то нет ничего проще, чем сделать просто экспорт в Enterprise Manager'е.
А насчет кавычек - так просто удвой их. Те, которые в "теле" запроса.