Я пытаюсь выполнить массовую вставку XML-данных в SQL Server 2005 Express с помощью объектной модели SQLXMLBulkLoad в VB.NET с помощью Visual Studio 2010.
Когда загрузчик добирается до элемента в моем 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. Однако, когда я пытаюсь это сделать, я получаю сообщение об ошибке «Не удается выполнить массовую загрузку, потому что файл« Это локальный временный файл »не может быть открыт».