【问题标题】:how to give database name in SQLAlchemy URI?如何在 SQLAlchemy URI 中给出数据库名称?
【发布时间】:2018-09-09 01:27:55
【问题描述】:

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

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

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

【问题讨论】:

    标签: sql-server sqlalchemy pymssql apache-superset


    【解决方案1】:

    试试

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

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

    【讨论】:

      【解决方案2】:

      我无法找到所需的参数,我只能在 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-01-10
        • 1970-01-01
        • 2020-12-11
        • 1970-01-01
        • 2020-02-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多