문제는 해당 항목의 내용과 동일합니다. 내가 쿼리를 실행하려고하면 ORA-12537 예외가 발생하는 INSERT...RETURNING
절을 사용하여 쿼리를 실행하려고합니다. 다음과 같이 소스는 다음과 같습니다 마지막 줄의INSERT ... RETURNING 절을 사용하면 ORA-12537이 표시됨
using (OracleCommand command = new OracleCommand()) {
command.Connection = connection;
command.BindByName = true;
command.CommandText = "INSERT INTO objects(name)VALUES(:objectName)RETURNING id INTO :objectId";
command.Parameters.Add ("objectName", OracleDbType.Varchar2, ParameterDirection.Input);
command.Parameters.Add ("objectId", OracleDbType.Int64, ParameterDirection.Output);
command.ExecuteNonQuery();
}
실행이 OracleException이 메시지 ORA-12537: Network Session: End of file
제기되고 리드. RETURNING
하위 절없이 동일한 쿼리를 실행하면 분명히 원활 해집니다.
오타 : PL/SQL 블록으로 대신 순수한 SQL 컨텍스트에서 문을 실행하는
시도? 'objectId' 매개 변수를 선언해야합니다 ('objectName'을 선언 할 때 * 두 번 *) –
예, 고마워요. 제 질문을 입력하는 동안 오타를 만들었습니다. 그것은 근원이 아닙니다. –
@ 0xdb 그리고 친절한 선생님, 저에게 진심으로 감사드립니다 :) 당신이 대답으로 써 주시면 좋을 것 같습니다. –