그래서 C# .NET 응용 프로그램에서 Oracle 저장 프로 시저를 호출하려고합니다. 내가 찾을 수있는 대부분의 온라인 참조는 "System.Data.OracleClient;"를 사용하지만 .Net 3.5는 네임 스페이스를 인식하지 못하기 때문에 대신 "Oracle.DataAccess.Client"를 사용하고 있습니다. 여기 "Oracle.DataAccess"(매개 변수 사용)를 사용하여 C#에서 Oracle 저장 프로 시저 호출
는 이전에 설치를, 아래에있는 내 코드의 일부 의역이고 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.
명령 대신이 오류 제공에서 "간부"를 제거 :
ORA-06550: line 1, column 8:
PLS-00801: internal error [22503]
ORA-06550: line 1, column 8:
PL/SQL: Statement ignored
을
아이디어가 있으십니까? 나는이이 일에 stackoverflow.com 및 내 지난 주에 게시 내 처음 아무것도에게
을 명확히 드리겠습니다, 그래서 내가 당신을 생각
Microsoft 고객을 사용할 것을 권합니다. System.Data.OracleClient.dll에 대한 참조를 추가했는지 확인하십시오. – pilotcam
왜 @pilotcam입니까? Microsoft는 MS Oracle 클라이언트 (System.Data.OracleClient)를 감가 상각했으며 ODP (Oracle.DataAccess.Client)를 사용할 것을 권장합니다. http://blogs.msdn.com/b/adonet/archive/2009/06/15/system-data-oracleclient-update.aspx –