sqlalchemy,用DSN指定数据库名称

编程入门 行业动态 更新时间:2024-10-28 05:12:40
本文介绍了sqlalchemy,用DSN指定数据库名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在尝试使用 sqlalchemy 从 Linux 连接到 SQL Server.此页面显示基于 DSN 的连接如下.

I am trying to connect to a SQL Server from Linux using sqlalchemy. This page shows DSN-based connection as below.

engine = create_engine("mssql+pyodbc://scott:tiger@some_dsn")

有没有办法使用 DSN 指定数据库名称?我知道我们可以在 odbc.ini 或 SQL 查询中指定数据库名称,但我想知道我们是否也可以这样做.

Is there a way to specify a database name using DSN? I am aware that we can specify a database name either in odbc.ini or a SQL query but I would like to know if we can also do something like this.

engine = create_engine("mssql+pyodbc://scott:tiger@some_dsn/databasename")

推荐答案

可以通过create_engine中的connect_args参数直接将参数传递给pyodbc.connect方法:

You can pass arguments directly to the pyodbc.connect method through the connect_args parameter in create_engine:

def my_create_engine(mydsn, mydatabase, **kwargs): connection_string = 'mssql+pyodbc://@%s' % mydsn cargs = {'database': mydatabase} cargs.update(**kwargs) e = sqla.create_engine(connection_string, connect_args=cargs) return e

这也将使数据库能够通过多个事务/会话持久化.

This will also enable the database to be persisted through several transactions / sessions.

更多推荐

sqlalchemy,用DSN指定数据库名称

本文发布于:2023-10-17 11:13:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1500727.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:名称   数据库   sqlalchemy   DSN

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!