【发布时间】:2019-09-25 14:10:26
【问题描述】:
我正在尝试在将 oracle 参数发送到数据库之前为其分配值,但是这个特定的 XMLTYPE 正在抛出
System.ArgumentException: '值不在预期范围内。'
我尝试了各种建议,但其中大多数涉及重新启动笔记本电脑或 Visual Studio 设置等,我觉得这与 XMLType 到 XDocument 有关。但是,类似的代码适用于另一种解决方案。
我的 C# 代码如下所示:
public static string SaveMyData(int myId, XDocument myData)
{
try
{
OracleParameter[] parameters = new OracleParameter[3];
parameters[0] = new OracleParameter()
{
ParameterName = "P_ID",
Value = myId,
OracleDbType = OracleDbType.Int16,
Direction = ParameterDirection.Input
};
parameters[1] = new OracleParameter()
{
ParameterName = "P_DATA",
Value = myData,
OracleDbType = OracleDbType.XmlType,
Direction = ParameterDirection.Input
};
parameters[2] = new OracleParameter()
{
ParameterName = "P_RESULT",
OracleDbType = OracleDbType.Varchar2,
Direction = ParameterDirection.Output
};
string myresult = DataAccess.DataContext.GetInstance().Data.ExecuteProcWithParameter(UPDATE_MY_DATA, parameters)["P_RESULT"].ToString();
return myresult;
}
catch (Exception ex)
{
throw ex;
}
}
myData 的值为:
<players>
<player>
<id>10101</id>
<name>Ricardo Ferreira Rodrigues</name>
<shirtnumber>1</shirtnumber>
<position>Guarda Redes</position>
<realteam>5</realteam>
</player>
<player>
<id>10103</id>
<name>Antonio Manuel</name>
<shirtnumber>2</shirtnumber>
<position>Defesa</position>
<realteam>5</realteam>
</player>
</players>
我什至尝试将 myData 更改为 XmlDocument,但这也不起作用。知道可能出了什么问题吗?
【问题讨论】:
-
我只是希望有人告诉我这个问题的负面标记的原因?这不是一个有效的问题吗?还是没有格式化或不够清晰?还是我没有尽力而为,还没有感到沮丧?我真的很想改进这部分并在未来以更好的方式发布。
标签: c# .net xml oracle xmltype