Oracle.ManagedDataAccess.Client-Fehler ORA 01722. Wie kann ich ihn beheben?C#

Ein Treffpunkt für C#-Programmierer
Guest
 Oracle.ManagedDataAccess.Client-Fehler ORA 01722. Wie kann ich ihn beheben?

Post by Guest »

Ich versuche, System.Oracle.Client in Oracle.ManagedDataAccess.Client zu konvertieren. Alles ist in Ordnung, aber wenn ich den Datensatz bekomme. Es hat den Fehler ORA 01722. Ich denke, diese SQL-Abfrage verursacht das Problem:
text2 += " LEFT JOIN CONTACT_GROUP CG ON C.CONTACT_ID = CG.CONTACT_ID \r\n LEFT JOIN TABLE(NUMBER_LIST(:GROUP_IDS)) TG ON CG.GROUP_ID = TG.COLUMN_VALUE ";
oracle_DataAccess.SetParameter("GROUP_IDS", string.Join(",", list));
The SQL execute like : ...LEFT JOIN TABLE(NUMBER_LIST(:GROUP_IDS)) TG...
The function SetParameter below:

if (parameterValue is int)
{
m_oraCmd.Parameters.Add(parameterName, OracleDbType.Int32).Value = Convert.ToInt32(parameterValue);
}
else if (parameterValue is string)
{
m_oraCmd.Parameters.Add(parameterName, OracleDbType.Varchar2).Value = parameterValue.ToString();
}
else if (parameterValue is DateTime)
{
m_oraCmd.Parameters.Add(parameterName, OracleDbType.Date).Value = parameterValue;
}
else if (parameterValue is decimal || parameterValue is double || parameterValue is float)
{
m_oraCmd.Parameters.Add(parameterName, OracleDbType.Decimal).Value = Convert.ToDecimal(parameterValue);
}
else
{
m_oraCmd.Parameters.Add(parameterName, OracleDbType.Varchar2).Value = parameterValue?.ToString();
}

Andere Daten sind in Ordnung, da es sich nur um int und string handelt. Wie kann ich dieses Problem beheben?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post