python 超集无法连接到MSSQL数据库

e5njpo68  于 2023-04-28  发布在  Python
关注(0)|答案(4)|浏览(222)

在我的虚拟机(RHEL,Linux 7. 0)上安装Superset(Airbnb的开源软件)后。2-11),我不能在配置页中添加我的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

7rtdyuoh

7rtdyuoh1#

对我起作用的是以下几点:

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

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

mwecs4sa

mwecs4sa2#

我也有问题,以连接MSSQL。我在macOS Catalina 上。我采取了以下步骤,它奏效了:

  1. brew install msodbcsql 17 mssql-tools(请参阅:https://learn.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://用户名:密码@主机IP,端口/数据库名?driver=ODBC Driver 17 for SQL Server
    最后提到'driver=ODBC Driver 17 for SQL Server'是很重要的。(参见:https://stackoverflow.com/a/51266453/13150101
bjp0bcyl

bjp0bcyl3#

我发现我必须先安装MSSQL驱动程序,我用:

docker exec -it superset_app bash -c 'pip install pymssql'

在Superset UI中,我可以通过选择“Microsoft SQL Server”数据库并设置SQLALCHEMY URI来连接到数据库:

mssql+pymssql://username:password@host:port/dbname
wlsrxk51

wlsrxk514#

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

相关问题