다음을 통해 공유


Oracle REF 커서들

.NET Framework Data Provider for Oracle은 Oracle REF CURSOR 데이터 형식을 지원합니다. 데이터 공급자를 사용하여 Oracle REF CURSOR을 사용하는 경우 다음 동작을 고려해야 합니다.

비고

일부 동작은 Microsoft OLE DB Provider for Oracle(MSDAORA)의 동작과 다릅니다.

  • 성능상의 이유로 Oracle용 데이터 공급자는 명시적으로 지정하지 않는 한 MSDAORA처럼 REF CURSOR 데이터 형식을 자동으로 바인딩하지 않습니다.

  • 데이터 공급자는 REF CURSOR 매개 변수를 지정하는 데 사용되는 {resultset} 이스케이프를 포함하여 ODBC 이스케이프 시퀀스를 지원하지 않습니다.

  • REF CURSOR을 반환하는 저장 프로시저를 실행하려면 OracleParameterCollection의 매개 변수를 OracleType으로 정의하고, 각각의 속성을 커서Direction으로 지정해야 합니다. 데이터 공급자는 REF CURSOR을 출력 매개 변수로만 바인딩할 수 있습니다. 공급자는 REF CURSOR을 입력 매개 변수로 지원하지 않습니다.

  • OracleDataReader 매개 변수 값에서 가져오는 것은 지원되지 않습니다. 값은 명령 실행 후 형식 DBNull 입니다.

  • REF CURSOR(예: 호출 시)에서 작동하는 유일한 ExecuteReader 열거형 값은 CloseConnection이며 다른 모든 값은 무시됩니다.

  • OracleDataReader의 REF CURSOR 순서는 OracleParameterCollection의 매개 변수 순서에 따라 달라집니다. Alignment 속성은 무시됩니다.

  • PL/SQL TABLE 데이터 형식은 지원되지 않습니다. 그러나 REF CURSOR이 더 효율적입니다. TABLE 데이터 형식을 사용해야 하는 경우 MSDAORA와 함께 OLE DB .NET 데이터 공급자를 사용합니다.

이 섹션 안에

REF CURSOR 예제
REF CURSOR을 사용하는 방법을 보여 주는 세 가지 예제를 포함합니다.

OracleDataReader의 REF CURSOR 매개 변수
REF CURSOR 매개 변수를 반환하고 값을 OracleDataReader로 읽는 PL/SQL 저장 프로시저를 실행하는 방법을 보여 줍니다.

OracleDataReader를 사용하여 여러 REF CURSOR에서 데이터 검색
두 개의 REF CURSOR 매개 변수를 반환하고 OracleDataReader를 사용하여 값을 읽는 PL/SQL 저장 프로시저를 실행하는 방법을 보여 줍니다.

하나 이상의 REF CURSOR을 사용하여 데이터 세트 채우기
PL/SQL 저장 프로시저를 실행하여 두 개의 REF CURSOR 매개 변수를 반환하고, 반환된 행들로 DataSet을 채우는 방법을 보여줍니다.

참고하십시오