【发布时间】:2020-09-12 17:09:05
【问题描述】:
我不知道给我的帖子取什么标题,如果你有更好的主意,请随时编辑标题。
我以前没有使用过 SQL Alchemy,我查看的文档位于以下位置,但没有帮助:
这是我正在使用的代码:
import sqlalchemy as sal
from sqlalchemy import create_engine
#Here are the parameters I am using:
- server = 'Q-20/fake_example'
- database = 'AdventureWorks2017'
- driver = 'ODBC Driver 17 for SQL Server'
- trusted_connection='yes'
DATABASE_CONNECTION = 'mssql+pyodbc://@server = ' + server + '/database = ' + database + '?trusted_connection = ' + trusted_connection + '&driver=' + driver
engine = sal.create_engine(DATABASE_CONNECTION)
所有这些似乎都可以正常工作,没有任何问题;但是,当我添加这一行时:
connection=engine.connect()
我收到以下错误消息:
sqlalchemy.exc.OperationalError: (pyodbc.OperationalError) ('08001', '[08001] [Microsoft][ODBC Driver 17 for SQL Server]命名管道 提供者:无法打开与 SQL Server [53] 的连接。 (53) (SQLDriverConnect); [08001] [Microsoft] [用于 SQL 的 ODBC 驱动程序 17 服务器]登录超时过期(0); [08001] [微软] [ODBC驱动程序17 对于 SQL Server]无效的连接字符串属性 (0); [08001] [Microsoft][ODBC Driver 17 for SQL Server]网络相关或 建立连接时发生特定于实例的错误 到 SQL Server。服务器未找到或无法访问。检查是否 实例名称是正确的,并且如果 SQL Server 配置为允许 远程连接。有关详细信息,请参阅 SQL Server 联机丛书。 (53)')
我不知道我在做什么有什么问题,有人有什么建议吗?
到目前为止我所做的尝试:
- 我已确认 SQL Server 已配置为允许远程连接。我按照说明进行了此检查here
- 删除服务器前的“@”符号,但这只会产生相同的错误消息。
【问题讨论】:
-
谢谢,帮了点忙,但还是有错误。
-
Hostname Connections 和 Pass through exact Pyodbc string 部分是否提供任何帮助?
-
我在玩过它后编辑了我的帖子。进步了,但还是卡住了。不过我会看看的。
-
如果您使用受信任的连接,则服务器名称前不需要
@符号
标签: python sql-server sqlalchemy sql-server-2014