C#、ODBC、Sql Server 和 xml 数据类型

本文关键字:xml 数据类型 Sql ODBC Server | 更新日期: 2023-09-27 18:37:00

我有一个通过输出参数返回XML数据的sql server存储过程(sql server 2005)。要连接到此数据库,首选选项是系统 DSN,因此我正在使用 ODBC 类 - ODBCConnection、ODBCCommand。问题是无论我使用什么数据类型,NChar,char,Text,NText,VarChar,NVarChar,当我调用ODBCCommand::ExecuteNonQuery时,我总是得到相同的错误:

"数据类型 0x63 是已弃用的大型对象或 LOB,但标记为输出参数。 不支持将已弃用的类型作为输出参数。 请改用当前的大型对象类型。

我调用存储过程如下:

     OdbcCommand cmd = new OdbcCommand("{CALL FetchTasks(?)}", conn);
     cmd.CommandType = CommandType.StoredProcedure;
     OdbcParameter param1 = new OdbcParameter();
     param1.ParameterName = "@TaskXML";
     param1.OdbcType = OdbcType.Text; //I have tried nchar, char, text, ntext
     param1.Size = 2048;
     param1.Value = "<Root></Root>";
     param1.Direction = ParameterDirection.Output;
     cmd.Parameters.Add(param1);
     cmd.ExecuteNonQuery();

无论如何我可以让它工作吗?

提前致谢-尼尔。

C#、ODBC、Sql Server 和 xml 数据类型

实际上您需要

检查返回 xml 数据的表列的数据类型是 xml 还是其他?这取决于此。