2010-06-25 1 views
2

임 그러나 .. 다음 코드 ADO (C#)를 이용하여 오라클 프로 시저 실행

Connection conn = new Connection(); 
Recordset rs = new Recordset(); 
conn.Open("Provider=MSDAORA;User Id=username;Password=password;Data Source=DB;", null, null, 0); ; 
rs.Open("sproc 'abc', 'xyz'", conn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly, -1); 
ABC와 XYZ 입력 파라미터이다

를 사용하여 C# 1 애플리케이션으로부터 오라클 저장된 프로 시저를 호출

을 시도 그것을 실행하려고하면 "유효하지 않은 SQL 문 예외"가 발생합니다.

오라클 저장 프로 시저를 실행하는 다른 방법이 있습니까? 나는 .. 상기 한 바와 같은 방법으로 MSSQL 저장 발동 또는 일반 오라클 쿼리를 실행할 수 있습니다

심지어 createparameter를 사용했지만, 그 도움이되지 않았다 중 하나

감사합니다, 샘

답변

1

잡아 오라클 ODP.NET 도구 : http://www.oracle.com/technology/software/tech/windows/odpnet/index.html

그들은 내가의 예를 들어 내 ASP.NET 응용 프로그램

Check here에서 우리의 오라클 데이터베이스와 상호 작용하는 데 사용하는 무엇인가 C#에서 Oracle 저장 프로 시저 호출. 패키지에 기본적으로

:

// Create oracle command object for the stored procedure 
OracleCommand cmd = new OracleCommand("HR_DATA.GETCURSORS", conn); 
cmd.CommandType = CommandType.StoredProcedure; 

// Enter a parameter for the procedure 
OracleParameter dep_id = new OracleParameter(); 
dep_id.OracleDbType = OracleDbType.Decimal; 
dep_id.Direction = ParameterDirection.Input; 
dep_id.Value = 60; 
cmd.Parameters.Add(dep_id); 

// Add more parameters ... 

// Execute the stored procedure 

Here's a link to the API documentation

+0

+1. Microsoft는 자신의 Oracle 드라이버를 더 이상 사용하지 않으며 Oracle의 ODP.NET을 사용하도록 권장합니다. –

0

신경 끄시 고 ... 분명히 내가 입력 매개 변수 주위에 괄호를 실종됐다 ...

감사합니다, 샘

관련 문제