2014-03-26 6 views
3

Mirosofts Oracle Provider (System.Data.OracleClient)에서 Oracles Data Provider ODP.Net (Oracle.DataAccess.Client) 버전 11.2.0.4로 프로젝트를 마이그레이션하려고합니다. 지금 당장 가지고있는 문제는 다음과 같습니다.C#/ODP.Net : MERGE INTO - 영향을받은 행 수를 얻는 방법?

함수 OracleCommand.ExecuteNonQuery를 사용하여 MERGE INTO 문을 실행할 때 성공했는지 여부와 상관없이 항상 -1을 반환합니다. Microsoft Provider는 항상 영향을받는 행 수를 반환합니다. 이것이 ODP.Net에서 기대하는 바입니다. 그러나 INSERT/DELETE/UPDATE 문에 영향을받는 행 수만 반환합니다 ...

그래서 어떻게 작동합니까? 어떤 아이디어?

건배 기독교

+0

Oracle Provider의 버그 일 수 있습니다. 관련 Oracle 포럼에 게시 했습니까? –

답변

2

이 불행하게도, ODP.NET의 버그입니다.

익명 PL/SQL 또는 저장 프로 시저에서이 작업을 수행 할 수있는 경우 PL/SQL의 SQL % ROWCOUNT를 이용할 수 있습니다.

+0

익명 블록을 사용하면 저에게 효과적입니다. 감사! – user3270991

+0

2.5 년 후에 아직도 도청. > _> 적어도 오라클이 염려하는 곳이면 어디에서나 버그로 입력 되었습니까? – jpmc26

관련 문제