Итак, я пытаюсь вызвать хранимую процедуру Oracle из моего приложения на C # .NET.Большинство сетевых ссылок, которые я могу найти, предлагают "использование System.Data.OracleClient;", но .Net 3.5 не распознает это пространство имен, поэтому вместо этого я использую "Oracle.DataAccess.Client".
Вот некоторые перефразированиямоего кода ниже, с ранее установленной и протестированной OracleConnection под названием 'myConn', уже заполненной параметром ': arg_myArg' (это число, если это имеет значение):
command.Connection = myConn;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "exec mySchema.myProc(:arg_myArg)"
command.ExecuteNonQuery();
Хитрость в том, что процедура ничего не возвращает по проекту , она просто заполняет другую таблицу, из которой я извлекаю.Однако, когда я пытаюсь запустить приведенный выше код, я получаю «OracleException» в последней строке и выдает эту ошибку:
ORA-06550: line 1, column 13:
PLS-00103: Encountered the symbol "MYSCHEMA" when expecting one of the following:
:= . ( @ % ;
The symbol ":=" was substituted for "MYSCHEMA" to continue.
Удаление «exec» из команды дает эту ошибку вместо:
ORA-06550: line 1, column 8:
PLS-00801: internal error [22503]
ORA-06550: line 1, column 8:
PL/SQL: Statement ignored
Есть идеи? Я был бы рад что-нибудь прояснить
Это мой первый пост на stackoverflow.com и моя последняя неделя на этой работе, поэтому яценим ваше понимание и относительную поспешность с выяснением этого