0

ADODB 接続文字列でプロバイダを SQLOLEDB から MSOLEDBSQL に変更すると、次のエラーが発生します。

-2147217864 更新する行が見つかりません。最後に読み取られてから一部の値が変更されている可能性があります。

接続文字列は次のとおりです。

Provider=MSOLEDBSQL;SERVER=servername;APP=Applicationname;DATABASE=databasename;WSID=id;Trusted_Connection=yes;MARS Connection=True;DataTypeCompatibility=80

コードは次のようになります。

Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient 
rs.Open("SELECT * FROM tableName WHERE 1 = 2", Adoconnection, adOpenStatic, adLockBatchOptimistic, CommandTypeEnum.adCmdText) 
rs.AddNew
'Add the fields
...
...
rs.UpdateBatch ''this line throws error

これで、プロバイダーの接続文字列を SQLOLEDB に変更すると、同じコードで問題なく動作します。

4

2 に答える 2