0

我正在使用 Apache Superset 并连接到 SQLServer,我正在使用下面的 url,它工作正常,但连接到 MSSQL 上的主数据库。我想连接到 MSSQL 上的另一个数据库,但不知道该怎么做

mssql+pymssql://<username>:<password>@<freetds_name>/?charset=utf8

有没有办法可以在 url 中明确提及数据库名称?我遇到的另一个问题是我的数据库名称中有空格,它是“数据分析”

4

2 回答 2

1

尝试

mssql+pymssql://user:pass@host/db

参考:http ://docs.sqlalchemy.org/en/latest/dialects/mssql.html

于 2018-03-30T19:31:02.760 回答
0

我无法找到所需的参数,我只能在 url 中提及数据库的名称。虽然有一些方法可以做到,但如果您使用的是 freetds_name,我还没有看到任何设置数据库名称的选项。我尝试在 odbc.ini 中设置默认数据库名称,但由于某种原因它不起作用。

最简单的方法是执行以下任何 SQL

EXEC '<Login_name in Quotes>', '<DB name in Quotes>'

或者

ALTER LOGIN <Login_Name_noQuotes> with DEFAULT_DATABASE = <DB_name_no_quotes

由于我的数据库名称中有空格,因此我实现了第一条语句并且它起作用了。

您可以通过执行以下 SQL 来检查默认数据库

select name, loginname, dbname as DefaultDB from syslogins

于 2018-03-30T13:28:51.573 回答