Visual Studio 2010 を使用して、VB.NET の SQLXMLBulkLoad オブジェクト モデルを使用して、XML データを SQL Server 2005 Express に一括挿入しようとしています。
値を保持していない .xml ファイル内の要素にローダーが到達すると、SQL Server の対応するテーブル列が null 値を含まないように設定されているため、エラーがスローされます。これは仕様によるものであり、NULL を挿入する代わりに、ローダーが空白を挿入する必要があります。BulkLoad を使用するのはこれが初めてなので、これを行う方法がわかりません。助言がありますか?
error.xml ファイルのテキスト:
<?xml version="1.0" ?>
<Result State="FAILED">
<Error>
<HResult>0x80004005</HResult>
<Description> <![CDATA[ No data was provided for column 'blah' on table 'blah', and this column cannot contain NULL values.]]></Description>
<Source>General operational error</Source>
<Type>FATAL</Type>
</Error>
</Result>
編集: http://social.msdn.microsoft.com/Forums/en-US/sqlxml/thread/bfa31c49-6ae5-4a5d-bcde-cd520e0cdf70/
この男は私が抱えているのとまったく同じ問題を抱えていて、objBl.Transaction = True を使用して解決できました。しかし、それをしようとすると、「「これはローカル一時ファイルです」というファイルを開けなかったため、一括読み込みできません」というエラーが表示されます。