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 驅動程式
- 在 Databricks OSS ODBC 驅動程式存檔中,下載適用於你的作業系統與架構的 Databricks OSS ODBC 驅動程式版本 0.5.0。
- 安裝下載的套件:
在 Windows 上,解壓下載並執行 32 位元或 64 位元的 MSI。 安裝程式會向 Windows ODBC Driver Manager 註冊 Databricks ODBC Driver。
在 macOS 上,執行
DatabricksODBC-<version>-macOS.pkg。在 Linux 上,安裝
.debor.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 版升級
- 檢視你的應用程式所使用功能的已知限制。
- 記錄已安裝的 2.x 版本,並備份你的 DSN、連線字串和驅動程式組態檔。
- 安裝 Databricks OSS ODBC 驅動程式。
- 沿用你現有的 DSN 或連線字串。
- 測試連線建立、元資料發現、預備語句、參數綁定、取消、大型結果檢索及具代表性的應用程式工作流程。
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進行非同步執行。 -
PUTGET, , ,REMOVE且不支援 Unity 目錄卷中檔案的操作。 - 不支援二進位輸入參數。
- 支援參數陣列,包括帶有字串和 Unicode 值的 pyodbc
fast_executemany,但驅動程式每列會發送一個執行請求。 - 大型結果會自動使用 Cloud Fetch,無法強制內嵌。 結果檢索支援 Databricks 的 SQL 資料型別,但除了
FILEOBJECT和 。 複數值會以文字回傳。 - HTTPS 代理程式支援基本認證,但不支援 Kerberos 或 SPNEGO 認證。
- 不支援憑證撤銷設定及加密的互惠 TLS 私鑰。
- 部分進階 2.x 屬性不支援。 當某處房產未被申請時,駕駛人會記錄警告。