0
我有一个通过输出参数返回XML数据的sql server存储过程(sql server 2005)。 要连接到此数据库,首选选项是System DSN,因此我使用ODBC类 - ODBCConnection,ODBCCommand。问题是无论我使用什么数据类型,NChar,char,Text,NText,VarChar,NVarChar,当我调用ODBCCommand :: ExecuteNonQuery时,总会得到相同的错误:C#,ODBC,Sql Server和xml数据类型
“数据类型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();
反正我可以使它工作吗?
在此先感谢 -Neel。
当我通过Visual Studio中的服务器资源管理器连接时,xml被即时创建,并且存储过程的参数显示为Text作为参数的数据类型,我尝试使用Text,但得到相同的错误。 –
我想你需要将它转换为Text(System.String),反之亦然,分别传递和检索。需要检查。 –
究竟如此呢? –