【问题标题】:Unable to connect to SQL Server using SQLALchemy无法使用 SQLALchemy 连接到 SQL Server
【发布时间】:2020-05-22 17:00:34
【问题描述】:

我正在使用 Windows 10 机器尝试使用 Python 连接到 SQL Serve (SQL Developer 2017)。我的代码如下:

从 sqlalchemy 导入 create_engine engine = create_engine('mssql+pymssql://Sonwabo:helpdeskNo1@localhost:1433/dbname') 连接 = engine.connect()

我收到以下错误: pymssql.OperationalError: (20009, b'DB-Lib 错误消息 20009, 严重性 9:\n无法连接: Adaptive Server 不可用或不存在 (localhost:1433)\nNet-Lib 出现未知错误 (10060)\n ')

【问题讨论】:

    标签: sqlalchemy


    【解决方案1】:

    我记得我的 sqlalchemy 连接在连接到 SQL Server 时也非常挑剔。我不得不对驱动程序进行一些试验,并在 pymssql 和 pyodbc 之间进行切换。这就是最终为我工作的原因。

    server = 'server'
    username = 'user'
    password = 'pass'
    driver = 'ODBC+DRIVER+17+for+SQL+Server'
    engine_stmt = 'mssql+pyodbc://{}:{}@{}/{}?driver={}'.format(username,
                                                                password,
                                                                server,
                                                                database,
                                                                driver)
    engine = sqlalchemy.create_engine(engine_stmt)
    

    【讨论】:

    • 我现在收到以下错误:pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
    • 我可以使用 localhost 作为我的服务器名称吗?
    • 当我使用 Windows 身份验证时,我应该提供用户名和密码的值吗?
    【解决方案2】:

    我认为你应该遵循以下格式。

    server = ‘ServerAddress' 
    database = 'DataBaseName' 
    username = 'UserName' 
    password = 'Password'
    driver = 'SQL Server Native Client 11.0'
    DataBase_connection = f'mssql://{username}:{password}@{server}/{database}?driver={driver}'
    
    
    engine = create_engine(DataBase_connection)
    connection = engine.connect()
    

    【讨论】:

      猜你喜欢
      • 2018-03-01
      • 2019-08-09
      • 2016-04-14
      • 2021-08-11
      • 2013-03-22
      • 2015-08-29
      • 2016-11-08
      • 2014-04-07
      • 1970-01-01
      相关资源
      最近更新 更多