在sql server端执行: CDatabase db; db.Open(..); //从sql server到access db.ExecuteSQL("insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0','c:\\aa.mdb';'admin';'', accessDatabasename) (accessTable) select * from table") //从难从严access到sql serverinsert into table select * from OPENROWSET('Microsoft.Jet.OLEDB.4.0','c:\aa.mdb';'admin';'', accessDatabasename)
非常感谢,不过还有一些疑问: 1。是不是OPENROWSET必须在SQL Server得机器上运行呢? 我不是在SQL Server上运行老是报错,说'Microsoft.Jet.OLEDB.4.0'拒绝连接……,在SQL Server上运行,它又报说From后面的不对,我是这样用的: // access-> sql db已经通过ODBC连上了远程得SQL Server db.ExecuteSQL("insert into table1 select * from OPENROWSET ('Microsoft.Jet.OLEDB.4.0','c:\aa.mdb';'admin';'', table1)"); 2.第一个sql -> access 得我看得不太明白,能不能弄个具体的库和表举个例子?
“是不是OPENROWSET必须在SQL Server得机器上运行呢?”是,PENROWSET只能打开sql server服务器端的access数据库。而且登录用户要有"system administrators"权限。 db.ExecuteSQL("insert into table1 select * from OPENROWSET ('Microsoft.Jet.OLEDB.4.0','c:\aa.mdb';'admin';'', table1)");这就是一个完整的例子。具体的你可以在sql server 查询分析器的帮助中找到
CDatabase db;
db.Open(..);
//从sql server到access
db.ExecuteSQL("insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0','c:\\aa.mdb';'admin';'', accessDatabasename) (accessTable) select * from table")
//从难从严access到sql serverinsert into table select * from OPENROWSET('Microsoft.Jet.OLEDB.4.0','c:\aa.mdb';'admin';'', accessDatabasename)
1。是不是OPENROWSET必须在SQL Server得机器上运行呢?
我不是在SQL Server上运行老是报错,说'Microsoft.Jet.OLEDB.4.0'拒绝连接……,在SQL Server上运行,它又报说From后面的不对,我是这样用的:
// access-> sql
db已经通过ODBC连上了远程得SQL Server
db.ExecuteSQL("insert into table1 select * from OPENROWSET ('Microsoft.Jet.OLEDB.4.0','c:\aa.mdb';'admin';'', table1)");
2.第一个sql -> access 得我看得不太明白,能不能弄个具体的库和表举个例子?
db.ExecuteSQL("insert into table1 select * from OPENROWSET ('Microsoft.Jet.OLEDB.4.0','c:\aa.mdb';'admin';'', table1)");这就是一个完整的例子。具体的你可以在sql server 查询分析器的帮助中找到