從 JMP 17 升級到 JMP 18 後 ODBC 連線不起作用從 JMP 17 升級到 JMP 18 後,我的 ODBC 連線停止運作。在 JMP 17 中,它用於嵌入到 Open Database() 以及 New SQL Query() 函數中的各種 SQL 查詢,從 Google BigQuery 中提取資料。根據我嘗試連接的方式,我會收到略有不同的錯誤訊息:
開啟資料庫(),日誌中的錯誤訊息:

新的 SQL 查詢():
Windows 使用者 ID 和密碼在此視窗中無法運作。

透過 > 檔案 > 開啟資料庫 > 新連接 > 登入建立資料庫連接:

我還從頭開始創建了一個新的 DSN,但也沒有用。 ODBC 不是最新版本,因為我們的 IT 部門由於推測的錯誤而限制了我們可以使用的版本。如果 ODBC 連線在 JMP 17 中起作用,那麼假設它在 JMP 18 中也應該起作用,這樣是錯誤的嗎?
資料存取回覆:從 JMP 17 升級到 JMP 18 後 ODBC 連線不起作用你沒錯。
具體來說,您使用的是哪個版本的 JMP 17 和 JMP 18?
這是一個錯誤。聯絡技術支援將幫助我們追蹤此事。
作為一個參與從原始碼編譯 libcurl 更新的人,我非常確定建置時命令沒有發生任何更改。我將必須查看 curl 更改列表以查看預設建置選項是否有變化。
回覆:從 JMP 17 升級到 JMP 18 後 ODBC 連線不起作用您能連接 Windows ODBC 管理員嗎?
您所看到的螢幕截圖是驅動程式提供的授權對話框。
回覆:從 JMP 17 升級到 JMP 18 後 ODBC 連線不起作用@Paul_Nelson ,謝謝你。 JMP 版本為17.2.0和18.2.0 ,在 Windows 11 Enterprise 上運作。我已經聯繫技術支援並使用案例編號更新了這個問題。 TS-00201379 。
@bryan_boone ,是的,我能夠連接 ODBC 管理器(下面的螢幕截圖)。如上所述,連線在 JMP 17 下按預期工作,但在 JMP 18 下則不行。
測試連接:

登入後刷新令牌:

回覆:從 JMP 17 升級到 JMP 18 後 ODBC 連線不起作用@Paul_Nelson這不是 JMP 的 libcurl,而是 ODBC 驅動程式中的 libcurl。
錯誤訊息來自驅動程序,而不是 JMP。
JMP 17 中的連線應該可以在 JMP 18 中運作。
JMP 18 所做的和 JMP 17 不做的是使用初始連接中的連接字串來建立其他連接(或根據需要刪除並重新連接)如果驅動程式未返回完整的連接字串(根據規範),則後續連接將失敗。這可能就是您所看到的。
回覆:從 JMP 17 升級到 JMP 18 後 ODBC 連線不起作用@bryan_boone ,我不確定我是否理解:
- 如果 JMP 17 中的連接應該在 JMP 18 中起作用,那麼為什麼我看到的是不同的東西?
- 我從頭開始建立並配置了一個新的 DSN,並嘗試透過建立資料庫連線 > 檔案 > 開啟資料庫 > 新連線 > 登入將 JMP 連接到 Google BigQuery。這不起作用。自從 JMP 14 以來,我多次嘗試過這種方法,但直到現在,這種方法在 JMP 18 中才失敗。為什麼?
您建議我採取哪些後續步驟?例如,強制提升 ODBC 驅動程式的版本?
回覆:從 JMP 17 升級到 JMP 18 後 ODBC 連線不起作用@bryan_boone @Paul_Nelson @Dahlia_Watkins ,升級到最新的 Google BigQuery 驅動程式3.1.2.1004 。沒有變化。
以下是一些文檔截圖:
- JMP 17 左 vs JMP 18 右
- 兩者都使用我們內部的「視圖開啟器」插件進行了測試,該插件可以透過 JSL 的「New SQL Query()」從 Google BigQuery 中提取資料。
- 中間是 ODBC 驅動程式更新的證明
我不明白 JMP 18 中的資料庫登入需要什麼?顯然,公司內部使用者憑證是不夠的。它還想要什麼?

當我點擊「更改資料來源...> 新連線> 機器資料來源> 選擇我的使用者 DSN > 確認」時,我收到以下 JMP 警報。

回覆:從 JMP 17 升級到 JMP 18 後 ODBC 連線不起作用我已經在這裡運行了該設定。
此驅動程式不符合 ODBC 規範中的 SQLDriverConnect 函數。
具體來說,它在成功連接後不會返回完整的連接字串。
我曾與技術支援人員合作,並且有一個使用資料連接器 18 的解決方案(以透過驅動程式的不相容部分)和先前版本的驅動程式(以透過驅動程式的 libcurl 錯誤)
您可以聯繫他們以獲取所有詳細資訊。
回覆:從 JMP 17 升級到 JMP 18 後 ODBC 連線不起作用謝謝你, @bryan_boone 。我已將 Google BigQuery 的 Simba ODBC 驅動程式降級到較低版本(3.0.2.1005, 驅動程式存檔連結),現在可以使用 JMP 18 連接到我們的 Google BigQuery 資料倉儲。非常感謝@Dahlia_Watkins幫助我找到並指出這個解決方案。
在我結束此問題並接受此回應作為解決方案之前,除了這裡已經提到的內容之外,還有其他內容應該或可以透過他們的支援案例引起 Simba / Google 的注意嗎?
回覆:從 JMP 17 升級到 JMP 18 後 ODBC 連線不起作用降級驅動程式會影響您遇到的 libcurl 問題。
對於 SQLDriverConnect,完成的連接字串僅包含 DSN,如 DSN=MyBigQuery(其中 MyBigQuery 在 ODBC 管理器中定義)。 ODBC 規範說它應該是一個完整的連接字串,這意味著您應該擁有返回的連接字串中的所有信息,以便您可以使用它(並且只能使用它)並創建另一個連接。
最後一件事是,完成的連接字串省略了您配置連接的目錄(如 CATALOG=)。您可以在 Windows 登錄中看到,驅動程式連線設定在設定時儲存在其中。
回覆:從 JMP 17 升級到 JMP 18 後 ODBC 連線不起作用我建立了一個 JMP Note,可以幫助使用者體驗此JMP 報告 872545 。
抄送: @Ressel