我正在尝试使用 Visual Studio 2010 在 VB.NET 中使用 SQLXMLBulkLoad 对象模型将 XML 数据批量插入 SQL Server 2005 Express。
当加载器访问我的 .xml 文件中不包含值的元素时,它会引发错误,因为 SQL Server 中的相应表列设置为不包含空值。这是设计使然,而不是插入 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 来解决它。但是,当我尝试这样做时,我收到“无法批量加载,因为文件“这是一个本地临时文件”无法打开”的错误消息。