Я пытаюсь присвоить значение параметру oracle перед отправкой его в базу данных, но этот конкретный XMLTYPE выбрасывает
System.ArgumentException: 'значение не попадает в ожидаемый диапазон.'
Iпробовал различные предложения, но большинство из них включают перезапуск настроек ноутбука или визуальной студии и т. д., я чувствую, что это как-то связано с XMLType to 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, но это также не работает.Есть идеи, что может пойти не так?