Ошибка при вставке данных XML через хранимую процедуру - PullRequest
1 голос
/ 02 февраля 2012

У меня есть таблица с типом данных столбца как xml в SQL Server 2005. Я создал хранимую процедуру для вставки значений в этот столбец.

Но при вызове SP из кода в C # это даетme error

Не удалось преобразовать значение параметра из XDocument в строку.

Может кто-нибудь помочь с этим?

Это хранимая процедураЯ создал:

Create Procedure [dbo].[TestReportRepository_Save]
@ReportExecutionTime datetime,
@ReportFile xml,

as
begin

insert into TestReportRepository(ReportExecutionTime,ReportFile) values(@ReportExecutionTime,@ReportFile)

end

Код C #:

DbParameter dbParam1 = dac.Parameter("@ReportExecutionTime", ReportExecutionTime, DbType.DateTime, ParameterDirection.Input);
DbParameter dbParam2 = dac.Parameter("@ReportFile", xmlDoc.Document, DbType.Xml, ParameterDirection.Input);

DbParameter[] dbParamColl = new DbParameter[] { dbParam1, dbParam2 };
long reportID = dac.Save("TestReportRepository_save", dbParamColl);

Пожалуйста, помогите мне определить, что я делаю неправильно.

1 Ответ

3 голосов
/ 02 февраля 2012

При передаче этого параметра - передавайте не объект XDocument, а его строковое представление.

Для XmlDocument это XmlDocument.OuterXml, найдите один для XDocument и передайте его

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...