如何在SQLAlchemy URI中提供数据库名称?

时间:2018-03-30 00:57:58

标签: sql-server sqlalchemy pymssql apache-superset

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

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

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

2 个答案:

答案 0 :(得分:0)

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

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

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

OR

ALTER LOGIN <Login_Name_noQuotes> with DEFAULT_DATABASE = <DB_name_no_quotes

由于我的数据库名称中有空格,我实现了第一个语句并且它有效。

您可以通过执行以下SQL

来检查默认数据库

select name, loginname, dbname as DefaultDB from syslogins

答案 1 :(得分:0)

尝试

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

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