0

VB6 ADO接続を使用して、次のコードを使用してアクセステーブルからSQLサーバーテーブルにすべてのレコードを挿入しようとしています

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から作業しているように見えるので、クエリでSQLServer接続を順番に参照できます。

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 に答える