【问题标题】:Unable to make database connection using python adodbapi library无法使用 python adodbapi 库建立数据库连接
【发布时间】:2019-12-20 16:58:24
【问题描述】:

我正在尝试使用以下代码使用 python 库 adodbapilatest OLEDB 提供程序建立 SQL Server 数据库连接-

import adodbapi
import configparser

def try_connection():    
    _SERVER_NAME = "SERVERNAME"
    _DATABASE = "TESTDB"
    _USERNAME = "TERSTUSER"
    _PASSWORD = "TESTPWD"  

    conn = adodbapi.connect("PROVIDER=MSOLEDBSQL;Data Source={0};Database={1};UID={2};PWD={3};".format(_SERVER_NAME,_DATABASE,_USERNAME,_PASSWORD))
    cursor = conn.cursor()

print( try_connection() )

但是,我无法建立连接。我遇到了我无法弄清楚的巨大跟踪错误:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Python 3.5\lib\site-packages\adodbapi\adodbapi.py", line 97, in make_COM_connecter
    c = Dispatch('ADODB.Connection') #connect _after_ CoIninialize v2.1.1 adamvan
NameError: name 'Dispatch' is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Python 3.5\lib\site-packages\adodbapi\adodbapi.py", line 116, in connect
    co.connect(kwargs)
  File "C:\Program Files (x86)\Python 3.5\lib\site-packages\adodbapi\adodbapi.py", line 266, in connect
    self.connector = connection_maker()
  File "C:\Program Files (x86)\Python 3.5\lib\site-packages\adodbapi\adodbapi.py", line 99, in make_COM_connecter
    raise api.InterfaceError ("Windows COM Error: Dispatch('ADODB.Connection') failed.")
adodbapi.apibase.InterfaceError: Windows COM Error: Dispatch('ADODB.Connection') failed.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "TestAdodb.py", line 41, in <module>
    print( try_connection() )
  File "TestAdodb.py", line 18, in try_connection
    conn = adodbapi.connect("PROVIDER=MSOLEDBSQL;Data Source={0};Database={1};UID={2};PWD={3};".format(_SERVER_NAME,_DATABASE,_USERNAME,_PASSWORD))
  File "C:\Program Files (x86)\Python 3.5\lib\site-packages\adodbapi\adodbapi.py", line 120, in connect
    raise api.OperationalError(e, message)
adodbapi.apibase.OperationalError: (InterfaceError("Windows COM Error: Dispatch('ADODB.Connection') failed.",), 'Error opening connection to "PROVIDER=MSOLEDBSQL;Data Source=SERVERNAME;Database=TESTDB;UID=TERSTUSER;PWD=TESTPWD;"')

谁能告诉我我的连接字符串有什么问题/缺少什么?

【问题讨论】:

    标签: python adodbapi


    【解决方案1】:

    引用pypi

    先决条件:

    • C Python 2.7 或 3.5 或更高版本和 pywin32(Mark Hammond 的用于 windows 扩展的 python)或 Iron Python 2.7 或更高版本。 (在 IPy2.0 中工作 适用于除 BUFFER 以外的所有数据类型)

    安装:

    • (Windows 上的 C-Python):安装包含 adodbapi 的 pywin32(“pip install pywin32”)。
    • (Windows 上的 IronPython):从 http://sf.net/projects/adodbapi 下载 adodbapi。打开拉链。打开命令窗口 作为管理员。 CD 到包含解压缩文件的文件夹。 使用您选择的 IronPython 运行“setup.py install”。

    您是否安装了adodbapi 库的所有先决条件?

    如果我没有安装 pywin32 库,我能够重现该错误。

    使用以下命令安装pywin32 库:

    pip install pywin32
    

    【讨论】:

    • 酷。感谢您的帮助!
    猜你喜欢
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 2015-02-15
    相关资源
    最近更新 更多