2009-07-27 5 views
1

ODP.NET을 통해 임의의 SQL 스크립트를 실행할 수 있습니까? 다음과 같이하고 싶습니다.ODP.NET을 통해 임의의 Oracle SQL 스크립트를 실행할 수 있습니까?

SomeOracleObject.RunFile("myfile.sql"); 

즉, sqlplus.exe의 필요성을 제거하고 싶습니다.

+0

일반적으로 Oracle의 SQL 스크립트에는 SQL 및 PL/SQL뿐만 아니라 SQL * Plus 명령이 포함됩니다 .SQL * Plus 명령 (SPOOL, BREAK, COLUMN 등)을 포함하는 스크립트를 지원해야합니까? –

+0

SQL 및 PL/SQL 명령 만이 스크립트는이 .NET 코드가 실행되도록 명시 적으로 작성되었습니다. –

+0

그래서 저는 그렇게 생각하지 않습니다. ..)) –

답변

0

다음은 내가 묻는 바를 정확히 수행하는 데 사용하는 코드입니다.

using (OracleConnection conn = CreateConnection(confConnString)) 
    { 
     try 
     { 
      using (OracleCommand cmd = conn.CreateCommand()) 
      { 
       cmd.CommandText = scriptFileContents; 

       cmd.ExecuteNonQuery(); 
+0

이것은 작동하지 않습니다. - 그렇게하려고하면 ORA-00911 오류가 발생합니다. SQL 문의 끝에 – thecoop

+0

각 스크립트 파일의 내용을 BEGIN/END;에 랩핑하십시오. –

1

나는 이와 유사한 해결책을 찾고있다. I posted on the Oracle forums ODP.NET에 대해서는 오라클의 아무도 실제로 포럼에 참여하지 않는 것으로 보입니다. 내가 본 바로는 DevArt의 dotConnect for Oracle의 OracleScript class입니다. 이상적으로 나는 SQL Server Management Objects 안에있는 것과 동일한 기능을 원하지만 오라클에 대해 원합니다. 선택의 여지가 있다면 이런 식으로 SQL Server로 되돌아 갈 것입니다.하지만 내 선택이 아닙니다. :

관련 문제