Databricks OSS ODBC 驅動程式

Important

Databricks OSS ODBC 驅動程式版本 0.5.0 目前處於 測試階段。 關於一般可用的 2.x 版本驅動程式,請參閱 Databricks ODBC 驅動程式文件。

若想在驅動程式測試期間回報問題或申請功能,請聯絡你的 Databricks 帳號團隊。

Databricks OSS ODBC 驅動程式是 Databricks SQL 及 Lakehouse//RT 倉庫的 ODBC 3.8 驅動程式。 它設計上是為了相容於支援工作負載的 Databricks ODBC 驅動程式 2.x 版本。 現有的應用程式、DSN 以及使用共通 2.x 功能的連線字串,通常應該可以無需更改地運作。

Requirements

Databricks OSS ODBC 驅動程式和 2.x 版 Databricks ODBC 驅動程式使用相同的已註冊 ODBC 驅動程式名稱、套件識別碼、安裝路徑及函式庫名稱。 安裝一個版本會取代現有的安裝。 若要切換驅動程式,請重新安裝您要使用版本的套件。

Databricks OSS ODBC 驅動程式支援以下平台:

作業系統 封裝與架構 需求
Windows 作業系統 MSI 用於 x64 和 x86 驅動程式架構必須與應用程式架構相符。
macOS 通用.pkg,適用於 Intel 與 Apple 晶片 macOS 13.3 或以上。
Linux 適用於 x86_64、aarch64 和 i686 的 .deb 以及 .rpm glibc 2.28 或以上版本,以及相容的 ODBC 驅動程式管理員。

你也需要 Databricks SQL 或 Lakehouse//RT 倉儲的 伺服器主機名稱 和 HTTP 路徑。 如需取得 Azure Databricks 計算資源的連線詳細資訊,請參閱 。

安裝 Databricks OSS ODBC 驅動程式

  1. 在 Databricks OSS ODBC 驅動程式存檔中,下載適用於你的作業系統與架構的 Databricks OSS ODBC 驅動程式版本 0.5.0。
  2. 安裝下載的套件:
    • 在 Windows 上,解壓下載並執行 32 位元或 64 位元的 MSI。 安裝程式會向 Windows ODBC Driver Manager 註冊 Databricks ODBC Driver。

    • 在 macOS 上,執行 DatabricksODBC-<version>-macOS.pkg。

    • 在 Linux 上,安裝 .deb or .rpm 套件並向 unixODBC 註冊驅動程式:

      sudo odbcinst -i -d -f /opt/databricks/databricksodbc/Setup/odbcinst.ini
      

驅動程式庫安裝在與 2.x 版相同的位置:

  • Windows 64 位元: C:\Program Files\Databricks ODBC Driver\lib\databricksodbc64.dll
  • Windows 32 位元: C:\Program Files (x86)\Databricks ODBC Driver\lib\databricksodbc32.dll
  • macOS:/Library/databricks/databricksodbc/lib/libdatabricksodbc.dylib
  • Linux 64 位元: /opt/databricks/databricksodbc/lib/64/libdatabricksodbc64.so
  • Linux 32 位元: /opt/databricks/databricksodbc/lib/32/libdatabricksodbc32.so

設定連線

使用您現有的 2.x DSN 或連線字串開始。 常見的性質Driver如 、 Host、 SchemaPortHTTPPathSSLCatalog是相容的。 驅動程式也接受 HTTP 傳輸未用到的常見 2.x 屬性,以便重複使用現有的 DSN。

若要使用這些設定建立 DSN 或不含 DSN 的連線字串,請參閱 為 Databricks ODBC 驅動程式建立 ODBC DSN 或 為 Databricks ODBC 驅動程式建立不含 DSN 的 ODBC 連線字串。

建立新連線時,請使用下列範例中的屬性。 若為 DSN,請使用 ODBC 驅動程式管理員輸入相同的鍵/值組。

以下範例使用 OAuth 使用者對機器的(U2M)認證。 為提升可讀性,文中包含換行。 請勿將其納入連線字串中:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
AuthMech=11;
Auth_Flow=2;
Catalog=main;
Schema=default

支援下列驗證方法:

驗證方法 屬性
OAuth 用戶對機器(U2M) AuthMech=11;Auth_Flow=2。 PWD 並非必須。 持續性權杖快取預設已啟用。 將 EnableTokenCache=0 設為停用此功能,或將 TokenCachePassPhrase 設為在加密快取時使用通行片語。
OAuth 機器對機器(M2M) AuthMech=11;Auth_Flow=1;Auth_Client_ID=<client-id>;Auth_Client_Secret=<client-secret>。
OAuth 權杖傳遞 AuthMech=11;Auth_Flow=0;Auth_AccessToken=<oauth-token>。
Azure Databricks 個人存取權杖 AuthMech=3;UID=token;PWD=<personal-access-token>。

從 2.x 版升級

  1. 檢視你的應用程式所使用功能的已知限制。
  2. 記錄已安裝的 2.x 版本,並備份你的 DSN、連線字串和驅動程式組態檔。
  3. 安裝 Databricks OSS ODBC 驅動程式。
  4. 沿用你現有的 DSN 或連線字串。
  5. 測試連線建立、元資料發現、預備語句、參數綁定、取消、大型結果檢索及具代表性的應用程式工作流程。

Databricks OSS ODBC 驅動程式能報告比 2.x 更具體的 Databricks 類型名稱及宣告的十進位精確度與縮放。 驗證能精確比較元資料值的應用程式。

若要在更換安裝後回滾,請重新安裝所需的 2.x 套件並還原備份的設定。

已知限制

在駕駛人處於測試階段時,以下限制適用:

  • 驅動程式支援 Databricks SQL 及 Lakehouse//RT 倉庫。 它不支援多功能運算。
  • SQL 總是直接送到 Azure Databricks。 驅動程式不會執行 2.x 版本的 SQL-92 轉換。 UseNativeQuery 被接受為相容性,但不會改變行為。
  • 不支援透過SQL_ATTR_ASYNC_ENABLE和SQLCompleteAsync進行非同步執行。
  • PUT GET, , ,REMOVE且不支援 Unity 目錄卷中檔案的操作。
  • 不支援二進位輸入參數。
  • 支援參數陣列,包括帶有字串和 Unicode 值的 pyodbc fast_executemany ,但驅動程式每列會發送一個執行請求。
  • 大型結果會自動使用 Cloud Fetch,無法強制內嵌。 結果檢索支援 Databricks 的 SQL 資料型別,但除了 FILEOBJECT和 。 複數值會以文字回傳。
  • HTTPS 代理程式支援基本認證,但不支援 Kerberos 或 SPNEGO 認證。
  • 不支援憑證撤銷設定及加密的互惠 TLS 私鑰。
  • 部分進階 2.x 屬性不支援。 當某處房產未被申請時,駕駛人會記錄警告。