本当に紛らわしい問題があります。データファイル XML、スキーマ、および SQL データベース接続文字列を渡す、作成した小さなアプリを使用して、 SQL 一括読み込みをテストしようとしています。
これは非常に単純なアプリです。コードの主要部分は次のとおりです。
SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class objBL = new SQLXMLBULKLOADLib.SQLXMLBulkLoad4Class();
objBL.ConnectionString = "provider=sqloledb;Data Source=SERVER\\SERVER; Database=Main;User Id=Username;Password=password;";
objBL.BulkLoad = true;
objBL.CheckConstraints = true;
objBL.ErrorLogFile = "error.xml";
objBL.KeepIdentity = false;
objBL.Execute("schema.xml", "data.xml");
ご覧のとおり、非常に単純ですが、この内容を渡すライブラリから次のエラーが発生しています: Interop.SQLXMLBULKLOADLib.dll。
メッセージは次のとおりです。
Failure: Attempted to read or write protected memory. This is often an indication that other memory has been corrupted
何が原因なのか、それが何を意味するのかさえわかりません。
これ以前に、SQLXML4.0 がインストールされていないために最初にエラーが発生したため、簡単に修正できました。次に、データベースに接続できなかったためエラーが発生しました (接続文字列が間違っています) - 修正されました。今、これがあり、私たちは困惑しています。
助けてくれてありがとう。私たちは本当に頭を悩ませています!