JMP 17에서 JMP 18로 승격한 후 ODBC 연결이 작동하지 않습니다.JMP 17에서 JMP 18로 업그레이드한 후 ODBC 연결이 작동하지 않았습니다. JMP 17에서는 Open Database() 함수에 포함된 다양한 SQL 쿼리와 New SQL Query() 함수에서 Google BigQuery에서 데이터를 가져오는 데 ODBC 연결이 사용되었습니다. 연결 방법에 따라 약간씩 다른 오류 메시지가 나타납니다.
Open Database(), 로그의 오류 메시지:

새로운 SQL 쿼리():
이 창에서는 Windows 사용자 ID와 비밀번호가 작동하지 않습니다.

파일 > 데이터베이스 열기 > 새 연결 > 로그인을 통해 데이터베이스 연결을 만듭니다.:

새 DSN도 처음부터 만들었는데, 이것도 작동하지 않았습니다. ODBC가 최신 버전이 아닙니다. IT 부서에서 버그로 추정되는 것들 때문에 사용 가능한 버전을 제한하고 있기 때문입니다. JMP 17에서 ODBC 연결이 작동했다면 JMP 18에서도 작동할 거라고 생각하는 건 잘못된 걸까요?
데이터 액세스Re: JMP 17에서 JMP 18로 승격한 후 ODBC 연결이 작동하지 않습니다.당신은 틀린 말을 하지 않았습니다.
구체적으로 JMP 17과 JMP 18의 어떤 버전을 사용하고 있나요?
버그입니다. 기술 지원팀에 문의하시면 문제를 추적하는 데 도움이 될 것입니다.
libcurl update를 소스에서 컴파일하는 담당자로서, 빌드 시간 명령에는 아무런 변경 사항이 없다고 확신합니다. curl 변경 목록을 확인해서 기본 빌드 옵션에 변경 사항이 있는지 확인해야겠습니다.
Re: JMP 17에서 JMP 18로 승격한 후 ODBC 연결이 작동하지 않습니다.Windows ODBC 관리자에 연결할 수 있나요?
화면 캡처에 보이는 것은 드라이버가 제공하는 권한 부여 대화 상자입니다.
Re: JMP 17에서 JMP 18로 승격한 후 ODBC 연결이 작동하지 않습니다.@폴_넬슨 님, 감사합니다. JMP 버전은 17.2.0 과 18.2.0 이며 Windows 11 Enterprise에서 실행됩니다. 기술 지원팀에 문의하여 이 질문을 사례 번호 TS - 00201379 로 업데이트했습니다.
@bryan_boone 님 , 네, ODBC 관리자를 통해 연결할 수 있습니다(아래 스크린샷 참조). 말씀하신 대로 JMP 17에서는 연결이 예상대로 작동하지만 JMP 18에서는 작동하지 않습니다.
연결 테스트:

로그인 후 토큰 새로 고침:

Re: JMP 17에서 JMP 18로 승격한 후 ODBC 연결이 작동하지 않습니다.@폴_넬슨 이건 JMP의 libcurl이 아니고 ODBC 드라이버에 있는 libcurl이에요.
오류 메시지는 JMP가 아니라 드라이버에서 나옵니다.
JMP 17의 연결은 JMP 18에서도 작동해야 합니다.
JMP 18에서는 JMP 17과 달리 초기 연결의 연결 문자열을 사용하여 추가 연결을 생성하거나(또는 필요에 따라 삭제 후 다시 연결) 수행합니다. 드라이버가 완전한 연결 문자열(사양에 따라)을 반환하지 않으면 후속 연결이 실패합니다. 아마도 이러한 현상이 발생할 수 있습니다.
Re: JMP 17에서 JMP 18로 승격한 후 ODBC 연결이 작동하지 않습니다.@bryan_boone , 제가 제대로 이해하지 못한 것 같습니다.
- JMP 17의 연결이 JMP 18에서도 작동해야 하는데, 왜 다른 현상이 보이나요?
- 새 DSN을 처음부터 만들고 구성한 후, '파일' > '데이터베이스 연결 만들기' > '데이터베이스 열기' > '새 연결' > '로그인'을 통해 JMP를 Google BigQuery에 연결해 보았습니다. 이 방법이 효과가 없었습니다. JMP 14부터 이 방법을 여러 번 시도했는데, JMP 18에서만 이 방법이 실패합니다. 이유가 무엇일까요?
다음 단계로 어떤 것을 추천해 주시겠어요? 예를 들어 ODBC 드라이버의 버전 승격을 강제로 적용하는 것 같은 거죠?
Re: JMP 17에서 JMP 18로 승격한 후 ODBC 연결이 작동하지 않습니다.@bryan_boone @폴_넬슨 @달리아_왓킨스 님이 최신 Google BigQuery 드라이버 3.1.2.1004 로 업그레이드했습니다. 변경 사항이 없습니다.
아래는 문서에 대한 몇 가지 스크린샷입니다.
- JMP 17 왼쪽 vs JMP 18 오른쪽
- 두 가지 모두 JSL의 'New SQL Query()'를 통해 Google BigQuery에서 데이터를 가져오는 것을 용이하게 하는 당사의 자체 "view opener" 추가 기능을 사용하여 테스트되었습니다.
- 가운데는 ODBC 드라이버 업데이트 증명
JMP 18에서 데이터베이스 로그인에 필요한 것이 무엇인지 모르겠습니다. 회사 내부 사용자 자격 증명으로는 충분하지 않은 것 같습니다. 그 외에 무엇이 필요한 걸까요?

" 데이터 소스 변경… > 새 연결 > 머신 데이터 소스 > 내 사용자 DSN 선택 > 확인을 눌러 확인 "을 클릭하면 아래 JMP 경고가 표시됩니다.

Re: JMP 17에서 JMP 18로 승격한 후 ODBC 연결이 작동하지 않습니다.여기서 해당 설정을 실행했습니다.
해당 드라이버는 ODBC 사양의 SQLDriverConnect 함수와 호환되지 않습니다.
구체적으로 말하면, 연결에 성공하면 완성된 연결 문자열을 반환하지 않습니다.
저는 기술 지원팀과 협력해 본 결과, 데이터 커넥터를 사용하는 18개 솔루션(드라이버의 비규격 부분을 통과하기 위한)과 이전 버전의 드라이버(드라이버의 libcurl 오류를 통과하기 위한)가 있었습니다.
자세한 내용을 알고 싶으면 해당 회사에 연락하세요.
Re: JMP 17에서 JMP 18로 승격한 후 ODBC 연결이 작동하지 않습니다.@bryan_boone 님, 감사합니다. Google BigQuery용 Simba ODBC 드라이버를 하위 버전(3.0.2.1005, 드라이버 보관함 링크 )으로 다운그레이드했고, 이제 JMP 18을 사용하여 Google BigQuery 데이터웨어하우스에 연결할 수 있습니다. @달리아_왓킨스 님께서 이 솔루션을 찾아주시고 안내해 주셔서 정말 감사합니다.
이 답변을 해결책으로 받아들이고 이 문제를 닫기 전에, 여기에 언급된 것 외에도 Simba/Google 측에서 지원 사례를 통해 알려야 하거나 알려줄 수 있는 다른 사항이 있습니까?
Re: JMP 17에서 JMP 18로 승격한 후 ODBC 연결이 작동하지 않습니다.드라이버를 다운그레이드하면 발생한 libcurl 문제에 영향을 미칠 수 있습니다.
SQLDriverConnect의 경우, 완성된 연결 문자열에는 DSN만 포함됩니다. 예를 들어 DSN=MyBigQuery(여기서 MyBigQuery는 ODBC 관리자에 정의되어 있습니다)와 같습니다. ODBC 사양에 따르면 완성된 연결 문자열이어야 합니다. 즉, 반환된 연결 문자열에 모든 정보가 있어야 해당 연결 문자열을 사용하고 다른 연결을 생성할 수 있습니다.
마지막으로, 완성된 연결 문자열에는 연결을 구성할 때 사용한 카탈로그(예: CATALOG=)가 생략됩니다. 이는 구성 시점에 드라이버 연결 설정이 저장되는 Windows 레지스트리에서 확인할 수 있습니다.
Re: JMP 17에서 JMP 18로 승격한 후 ODBC 연결이 작동하지 않습니다.저는 이 JMP 노트 872545를 경험하는 사용자에게 도움이 되는 JMP 노트를 만들었습니다.
참조: @레셀