使用Windows身份验证连接到sqlalchemy

时间:2020-06-11 02:39:39

标签: python sql-server python-3.x sqlalchemy pyodbc

我正在查看sqlalchemy engine interface dialect中列出的文档,但看不到它说了如何做到这一点。

我知道我需要使用trusted_connection = 'yes',但我想知道它在哪里表明这就是我们需要做的事情。

有人可以指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

我知道了。

做什么:

1)使用DBAPI连接到数据库,在本例中为pyodbc

2)您将传递的连接字符串将基于所使用的驱动程序,在我的情况下为ODBC Driver 11 for SQL Server

3)在用于我的驱动程序的语法中,它明确表示要使用trusted_connection='yes'进行Windows身份验证。

4)您需要传递给create_engine的值与您发送给正在使用的驱动程序的值相同。

详细信息:

1)我在做什么:

我正在使用pyodbc访问SQL Server。然后,我使用sqlalchemy处理数据库。

2)在the documentation for SQLAlchemy上找不到Trusted_connection = 'yes',因为它是连接字符串的一部分,而不是create_engine的语法。

3)Documentation for pyodbc and Connection Strings。 Pyodbc不会查看连接字符串。连接字符串未经修改地传递给数据库驱动程序,并且是特定于驱动程序的。 Documentation for Connecting to databases

4)Reference for all connection strings可以具体告诉您您要连接到的每个数据库的连接字符串的外观。

5)并非我原来的问题的一部分,但也对此感到好奇:仅当在网络外部连接SQL Server时才需要端口号。 When is Port Number Required

6)在create engine documentation中,它说URL是第一个位置参数,但是当您查看参数时,它没有指定该参数。我希望有人证明我做错了,但我坚信这是真的。