我正在尝试使用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")
可以将参数直接传递给pyodbc.connect方法通过create_引擎中的connect_args参数:
这也将使数据库能够通过几个事务/会话持久化。在
我刚试过这样的方法,效果很好
一般来说,在建立连接后,我们应该小心更改当前目录(又称“数据库”),因为有些技术(例如JDBC
Connection
对象)会跟踪当前目录,如果我们直接在T-SQL中调用USE ...
来更改当前目录,可能会混淆。但是,我不知道pyodbc的Connection
对象是否会进行任何这样的缓存,所以这种方法可能还可以。在相关问题 更多 >
编程相关推荐