无法使用 PHP 和 ODBC 连接到 Databricks SQL 端点

Cannot connect to Databricks SQL Endpoint using PHP and ODBC

我正在尝试使用 Docker 容器中的 PHP 连接到我们的 Databricks SQL 端点。

我设置我的 Docker 容器来下载和配置此处指定的 ODBC 驱动程序:https://docs.databricks.com/integrations/bi/jdbc-odbc-bi.html#install-and-configure-the-odbc-driver-for-linux

我的 Docker 设置在 https://github.com/rlorenzo/databricks_php

但是,当它尝试使用我的 PHP 测试脚本中的 ODBC 进行连接时,出现错误:

Warning: odbc_connect(): SQL error: [unixODBC][FreeTDS][SQL Server]Unable to connect to data source, SQL state S1000 in SQLConnect in /test_connection.php on line 14
ODBC connect failed: S1000

当我尝试使用 PDO 库进行连接时,我收到一条不同的错误消息:

SQLSTATE[08S01] SQLConnect: 20009 [unixODBC][FreeTDS][SQL Server]Unable to connect: Adaptive Server is unavailable or does not exist

连接细节是正确的,因为我能够使用 Datagrip 连接到 Databricks SQL 端点。我还可以验证 ODBC 库是否已正确安装,因为我可以查询 Microsoft SQL 服务器。

我一定是 Databricks ODBC 连接器以某种方式配置错误,但我一无所知。在我看来,一切都与文档相符。

我已经尝试联系 Databricks 支持,但到目前为止他们没有帮助。

问题是 Databricks SQL 驱动程序还不支持 ARM,我的笔记本电脑和 Docker 容器正在为此构建。参见

我在 https://github.com/rlorenzo/databricks_php 更新了我的存储库并使用了一个工作示例并强制容器构建 x86 版本。

如果 Databricks 支持 ARM,将更新我的存储库。

希望这对以后的人有所帮助。