ODBC 연결 시간 초과<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />오랫동안 ODBS 호출과 테이블 조작에 대한 많은 스크립트를 데이지 체인 방식으로 묶어 놓은 기존 프로그램을 디버깅하려고했습니다. 로그는 테이블이 JSL 코드를 참조 할 때 (존재하지 않는 테이블이 실행 실행을 위해 변경 될 때) 테이블을 표시하지 않기 때문에 어느 시점에서는 ODBC 테이블이 작성되지 않는 것처럼 보입니다. 각 ODBC 호출은 자체 테스트 할 때 올바른 데이터를 반환하므로 JMP에 스크립트 호출 제한에 얼마나 긴 시간이 걸리면 ODBC 호출에 응답 할 것인지 궁금합니다. 모든 조언을 크게 주시면 감사하겠습니다.
다시 : ODBC 연결 시간 초과헤이 댄
JSL에서 두 가지 다른 쿼리를 실행하는 비슷한 문제가 있다고 생각합니다. 첫 번째 쿼리는 내 스크립트에서 두 번째 전에 완료하는 것이 중요했습니다. 첫 번째 쿼리는 두 번째 쿼리보다 많은 데이터를 가져오고 여러 조인을 수행합니다. 두 번째 쿼리는 wait ()를 넣지 않으면 항상 첫 번째 쿼리보다 먼저 완료됩니다. 나는 wait ()보다 더 나은 해결책을 찾고 싶었다. Dave에게 기술 지원을 위해 약간의 문의를 한 후 벽에 머리를 대었다. 그의 대답은 다음과 같습니다.
"기본적으로 JMP는 백그라운드에서 SQL 쿼리를 실행하므로 쿼리 완료 시점을 항상 알 수는 없습니다.
이 동작은 변경 될 수 있습니다. 파일> 환경 설정으로 이동하여 환경 설정 그룹 컨테이너에서 쿼리 빌더 옵션을 선택한 경우 "가능한 경우 배경에서 쿼리 실행"을 선택 취소 할 수 있습니다. 이렇게하면 JMP가 강제로 포 그라운드에서 쿼리를 실행하고 첫 번째 쿼리가 완료 될 때까지 두 번째 쿼리를 실행하지 않아야합니다.
또 다른 옵션은 OnRunComplete 플래그를 사용하여 두 번째 쿼리를 시작할 시점을 JMP에 알리는 것입니다.
NextSQL = 두 번째 SQL 쿼리를 여기에 지정하십시오.
query = 새 SQL 쿼리 (여기에 첫 번째 쿼리를 지정);
쿼리 << 실행 (OnRunComplete (NextSQL));
이것은 JMP가 첫 번째 쿼리가 완료되었음을 확인할 때까지 두 번째 SQL 쿼리를 시작하지 않게합니다. "
희망이 당신을 도와줍니다.
제이슨
다시 : ODBC 연결 시간 초과기다리는 시간을 추가하는 것은 동일한 입력이 주어진 문제를 해결하는 것처럼 보이지는 않지만 무작위 ODBC 쿼리는 실제로 테이블을 만들지 않습니다.
로그는 JSL 명령에서 다른 테이블과 조인하기 위해 테이블 참조를 시도 할 때 테이블을 찾을 수 없다는 것을 알고 있습니다.
테이블이 처음부터 빌드되지 않는 이유에 대해 좀 더 상세한 로그를 얻으 려는가?
다시 : ODBC 연결 시간 초과wait (0)을 넣으십시오. 각 SQL readin 문 다음에 오는 명령문. 그러면 JSL이 버퍼를 플러시합니다.
다시 : ODBC 연결 시간 초과JMP 내부 및 외부에서 개별적으로 테스트했습니다. 사실, 때로는 코드가 멈춘 곳에서 코드를 다시 시작할 수 있으며, 앞으로 진행되고 완료 될 것이므로 문제 해결이 지금까지는 어려워집니다.
다시 : ODBC 연결 시간 초과여보세요,
jsl 스크립트에서 많은 sql을 사용하고 jmp 시간 초과 실행 문제가 없습니다.
jmp 또는 다른 SQL 쿼리 프로그램에서 모든 sql 쿼리를 테스트 했습니까?
문안 인사,
기ume