【问题标题】:Superset cannot connect to my MSSQL databaseSuperset 无法连接到我的 MSSQL 数据库
【发布时间】:2023-03-06 17:40:01
【问题描述】:

在我的虚拟机(RHEL、Linux 7.2-11)上安装 Superset(来自 Airbnb 的开源软件)后,我无法在配置页面中添加我的 MSSQL 数据库。

菜单->来源->数据库->添加

在 SQLAlchemy URI 字段中,我输入了:

mssql+pymssql://user:password@host:port/database

显然,我的用户、密码、主机、端口和数据库名称。

但是当我点击“测试连接”时出现以下错误:

ERROR: {"error": "Connection failed!
The error message returned was:
(pymssql.OperationalError) (18456, 'DB-Lib error message 20018, severity 14:\
General SQL Server error: Check messages from the SQL Server\
DB-Lib error message 20002, severity 9:\
Adaptive Server connection failed (host:port)')"}

我已经安装了 pymssql 包,我真的不知道这个错误可能来自哪里。

我尝试按照这些教程进行操作,但也许我做错了:

http://airbnb.io/superset/installation.html

http://airbnb.io/superset/tutorial.html#connecting-to-a-new-database

【问题讨论】:

    标签: python sql-server sqlalchemy apache-superset


    【解决方案1】:

    对我有用的是:

    mssql+pymssql://user:pass@address.of.db/?charset=utf8
    

    但是,我没有设法使用这种语法定义数据库,进而无法定义/找到可用的表。

    【讨论】:

    • 谢谢 Dror,但它也失败了。我确定驱动程序有问题。我需要一个等效的 jTDS 驱动程序来从我的 RHEL 虚拟机连接到具有 Windows 身份验证的 SQL Server。也许你听说过这样的司机?
    • 我不知道...您使用的是什么操作系统?
    • 我使用的是 Red Hat Enterprise Linux 2.7-11
    • 对不起,我想我不能再帮忙了:(
    【解决方案2】:

    我在连接 MSSQL 时也遇到了问题。我在 macOS Catalina 上。我采取了以下步骤,并且成功了:

    1. brew install msodbcsql17 mssql-tools(参见:https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/install-microsoft-odbc-driver-sql-server-macos?view=sql-server-ver15
    2. pip install pyodbc
    3. mssql+pyodbc://UserName:Password@HostIP,Port/DBName?driver=ODBC Driver 17 for SQL Server

    最后提及“driver=ODBC Driver 17 for SQL Server”很重要。 (见:https://stackoverflow.com/a/51266453/13150101

    【讨论】:

      【解决方案3】:

      请尝试 mssql://user:password@host:port/database

      【讨论】:

      • 您好,谢谢您的回答。我试过了,现在我有这个错误:“错误:{“错误”:“连接失败!返回的错误消息是: (pyodbc.Error)('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)')"}" Previous我在 Linux (docs.microsoft.com/en-us/sql/connect/odbc/linux/…) 上安装了适用于 SQL Server 的 ODBC 驱动程序。而且我还安装了pyodbc。再次感谢你:)
      • 您需要在连接字符串中指定驱动程序名称。见docs.sqlalchemy.org/en/latest/dialects/…
      猜你喜欢
      • 2018-04-27
      • 2013-03-15
      • 2020-03-07
      • 2019-04-24
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多