我有一个通过输出参数返回 XML 数据的 sql server 存储过程(sql server 2005)。要连接到此数据库,首选选项是 System 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();
无论如何我可以让它工作吗?
在此先感谢-尼尔。