0

我正在尝试使用以下代码使用 VB6 ADO 连接将访问表中的所有记录插入到 sql server 表中

Set cn = New ADODB.connection
cn.CursorLocation = adUseClient
cn.ConnectionString = "Provider=SQLOLEDB.1;Password=password;Persist Security
Info=True;User ID=sa;Initial Catalog=Kargozini;Data Source=DC"
cn.Open
cn.execute("INSERT INTO TLeavePersonel SELECT * FROM OPENDATASOURCE
('Microsoft.Jet.OLEDB.4.0','Data Source=D:\Kargozini\arazz\Arazdb.Mdb; 
Jet OLEDB:Database Password=MYPASSWORD;' )... TLeavePersonel Rowset_1")

但是当我运行代码时会出现以下错误:

运行时错误“-2147217900 (80040e14)”:[OLE/DB 提供程序返回消息:Microsoft Jet 数据库引擎无法打开文件“D:\Kargozini\arazz\Arazdb.Mdb”。它已经由另一个用户独占打开,或者您需要权限才能查看其数据。]

4

1 回答 1

0

看来您正在使用 MS Access,因此您可以在查询中引用 SQL Server 连接:

INSERT INTO 
[ODBC;DRIVER=SQL Server;SERVER=server;Trusted_Connection=Yes;DATABASE=Kargozini;].TLeavePersonel 
SELECT * FROM TLeavePersonel;

您将在此处找到合适的 ODBC 连接字符串:http: //www.connectionstrings.com/

于 2013-03-18T12:38:09.330 回答