日期:2014-05-16  浏览次数:20797 次

急等....在Access里面的“查询”执行OpenRowSet()\OpenDataSource()函数老说有“From 子句有语法错误”
是不是access不支持这两个函数,但我想把sql中的数据导到access,还有什么办法??

出错句子如下:
insert   into   newtable1   select   *   from     openrowset( 'SQLOLEDB ', '192.168.1.46 '; 'sa '; 'sa ', 'select   *   from   pubs.dbo.newtable ')as   a   where   联系人ID   not   in   (select   联系人ID   from   newtable1)
这些在sql查询分析器里面没错!!


------解决方案--------------------
1、在ACCESS中没有这两个函数,这是T-SQL的;
2、在SQL SERVER中执行:
SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0 ', 'Data Source= "d:\temp\123.mdb ";User ID=Admin;Password= ')...temp

or

SELECT * FROM OPENROWSET( 'Microsoft.Jet.OLEDB.4.0 ', 'd:\temp\123.mdb '; 'admin '; ' ', temp)

3、注意:只能在本机中导入数据;
4、可以用JET SQL
SELECT * INTO aa
FROM TT IN ODBC[ODBC;Driver=SQL Server;UID=sa;PWD=123;Server=MIS;DataBase=TEMP];