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?
Oracle.ManagedDataAccess.Client-Fehler ORA 01722. Wie kann ich ihn beheben? ⇐ C#
-
- Similar Topics
- Replies
- Views
- Last post