Wie kann ich dynamisches SQL mit Oracle.ManagedDataAccess.Client abfragen?
Posted: 22 Dec 2024, 05:03
Ich konvertiere die Bibliothek System.client.Oracle in Oracle.ManagedDataAccess.Client?. Jetzt
Ich versuche, eine Gruppe von Personen eines Landes anhand der Provinz-ID abzufragen.
SELECT P.name
FROM PEOPLE P LEFT JOIN TABLE(NUMBER_LIST(:IDS)) G ON P.CONTACT_ID ON CG.COLUMN_VALUE
aber wenn ich es in C# schreibe. Es verursachte ORA 01722.
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("IDS", string.Join(",", list));
Ich denke, weil es ein String ist, wenn ich Parameter setze. Ich versuche, es in eine int-Liste umzuwandeln, aber es verursacht 01484:
Wie kann ich dieses Problem beheben?
Ich versuche, eine Gruppe von Personen eines Landes anhand der Provinz-ID abzufragen.
SELECT P.name
FROM PEOPLE P LEFT JOIN TABLE(NUMBER_LIST(:IDS)) G ON P.CONTACT_ID ON CG.COLUMN_VALUE
aber wenn ich es in C# schreibe. Es verursachte ORA 01722.
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("IDS", string.Join(",", list));
Ich denke, weil es ein String ist, wenn ich Parameter setze. Ich versuche, es in eine int-Liste umzuwandeln, aber es verursacht 01484:
Wie kann ich dieses Problem beheben?