Использование SqlBulkCopy для вставки строк в таблицу со столбцом типа «xml» в SQL Server 2008 вызывает исключение.

У меня есть простая таблица в SQL Server с двумя столбцами Id (BIGINT), PublishData (XML).

Я заинтересован в использовании SqlBulkCopy, но когда я пытаюсь использовать SqlBulkCopy.WriteToServer(DataTable), это дает мне исключение ниже. Я использую тип данных SqlXml в C #, когда создаю данные и добавляю столбец для PublishData. Я думаю, что это не соответствует типу столбца xml в SQL Server. Мне нужно знать, какой правильный тип данных мне нужно использовать при создании таблицы данных для столбца xml, а затем использовать его с SqlBulkCopy.

Любая помощь будет оценена?

Необработанное исключение: System.InvalidCastException: указанное приведение недопустимо.
в System.Data.SqlClient.TdsParser.WriteBulkCopyValue (значение объекта, метаданные SqlMetaDa taPriv, TdsParserStateObject stateObj.TdsParserStateObject stateObj. ()
в System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServer (Int32 columnCount)
в System.Data.SqlClient.SqlBulkCopy.WriteToServer (таблица DataTable, DataRowSt использует rowState)
в System.Data.SqlClient. SqlBulkCopy.WriteToServer (таблица DataTable)


person aamir    schedule 08.07.2012    source источник


Ответы (1)


нужно знать, какой правильный тип данных мне нужно использовать при создании таблицы данных для столбца xml, а затем использовать его с SqlBulkCopy

Как насчет того, чтобы связать это вместо того, чтобы спрашивать здесь? Я имею в виду, серьезно, сколько типов данных там?

Я бы посоветовал вам попробовать STRING в .NET;) Очевидно, не так ли - вы вряд ли сможете хранить XML в типах данных Bool или Integer, поэтому ЕДИНСТВЕННОЙ альтернативой SqlXml, которую я вижу, будет строка.

person TomTom    schedule 08.07.2012