我正在尝试使用sqlalchemy从Linux连接到SQL Server。This page显示基于DSN的连接,如下所示。
engine = create_engine("mssql+pyodbc://scott:tiger@some_dsn")
有没有办法使用DSN指定数据库名称?我知道我们可以在odbc.ini或SQL查询中指定数据库名称,但我想知道我们是否也可以这样做。
engine = create_engine("mssql+pyodbc://scott:tiger@some_dsn/databasename")
发布于 2017-08-04 01:37:26
我刚试过这样的方法,它似乎工作得很好
engine = create_engine("mssql+pyodbc://scott:tiger@some_dsn")
with engine.begin() as conn:
conn.execute("USE databasename")作为一般规则,我们应该小心更改当前目录(也称为“数据库”),因为某些技术(例如,JDBC对象)会跟踪当前编目,如果我们直接在T- Connection中调用USE ...来更改当前编目,可能会产生混乱。然而,我不知道pyodbc的Connection对象做任何这样的缓存,所以这种方法可能是可以的。
https://stackoverflow.com/questions/45468623
复制相似问题