데이터베이스 오류 메시지 잡기<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />여보세요,
데이터베이스 오류 메시지를 잡아 하나의 jmp 변수에 넣는 방법이 있는지 알고 싶습니다.
ID 기본 키에 이미 존재하는 하나의 값을 삽입하려는 경우 Oracle DB의 예:
/* JSL */
sql = "MY.TABLE(ID, 데이터) 값에 삽입('A',150)";
OpenDatabase(dsnDB, SQL);
/* 로그 표시 */
[Oracle][ODBC][Ora]ORA-00001: 고유 제약 조건(MY.TABLE) 위반
ORA-06512: 라인 1
jsl 변수에 "[Oracle][ODBC][Ora]ORA-00001: 고유 제약 조건(MY.TABLE) 위반"을 포함하고 싶습니다.
지금은 해결책을 찾지 못했습니다.
감사.
Re: 데이터베이스 오류 메시지를 잡는 중입니다.안녕,
이 훌륭한 팁에 감사드립니다. 로그 캡쳐 기능은 제가 찾던 기능입니다.
Re: 데이터베이스 오류 메시지를 잡는 중입니다.안녕,
이를 수행하는 한 가지 방법은 로그 캡처 기능을 사용하는 것입니다. JSL 코드를 테스트하기 위해 두 가지 유형의 오류를 시뮬레이션했습니다.
- 지정된 테이블에서 열을 선택하기 전에 Access 데이터베이스에 대한 연결을 설정하지 않아 발생하는 실패 오류
- 적절한 ODBC 드라이버가 설치되지 않아 실패 오류
다음 JSL 코드와 결과 오류 메시지에서 원하는 작업을 수행할 수 있는 방법에 대한 예를 포함했습니다.
여기에 기본 이름
( 1 ) ;AccessError01 = "액세스 오류:" || 로그 캡처 ( 개방형 데이터베이스 (
"DSN=MS Access 데이터베이스;DBQ=C:UsersstkoprDocumentsMovinOn.accdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;" ,
"tblVehicle에서 * 선택" ,
"tbl차량"
)) ;
다음은 로그에 기록되고 시나리오 테스트 1에 대한 오류 문자열이 AccessError01 변수에 저장됩니다.
"액세스 오류:[Microsoft][ODBC Microsoft Access Driver] '(알 수 없음)' 파일을 찾을 수 없습니다.
"
다음은 로그에 기록되고 시나리오 테스트 2에 대한 문자열이 AccessError01 변수에 저장됩니다.
"액세스 오류:[iODBC][드라이버 관리자] 데이터 원본 이름을 찾을 수 없고 기본 드라이버가 지정되지 않았습니다. 드라이버를 로드할 수 없습니다.
"
예, ...ODBC 데이터베이스에 연결할 수 있습니다.