【发布时间】:2017-01-31 22:39:01
【问题描述】:
问题陈述:将存储在.sdf文件中的数据提取到python。 系统配置:Win 10 Pro 64位,python 3.5.2-64位,adodbapi库,SQL CE 3.5
我对编程还很陌生,我选择 Python 作为我学习的第一门语言。目前,我在连接 SQL CE 3.5 .sdf 文件的过程中遇到了困难。
我使用了 adodbapi 库。在过去的一周里,我在网上广泛搜索了这个问题的解决方案,并确保我的连接字符串是正确的。我已经尝试过堆栈溢出和https://www.connectionstrings.com/microsoft-sqlserver-ce-oledb-3-5/ 提供的多个选项/解决方案。
代码:
import adodbapi
cons_str = "Provider=Microsoft.SQLSERVER.MOBILE.OLEDB.3.5;" \
"Data Source=D:\Work\Programming\Python\SQL_DataTransfer\LF.sdf;"\
"Persist Security Info=False;" \
"SSCE:Max Database Size=4091"
connection = adodbapi.connect(cons_str)
print(connection)
错误信息:
Traceback(最近一次调用最后一次):
文件“D:\Work\Programs\Python35.virtualenvs\sql_output\lib\site-packages\adodbapi\adodbapi.py”,第 93 行,在 make_COM_connecter c = Dispatch('ADODB.Connection') #connect 之后 CoIninialize v2.1.1 adamvan NameError: name 'Dispatch' 没有定义
在处理上述异常的过程中,又发生了一个异常:
Traceback(最近一次调用最后一次):
文件“D:\Work\Programs\Python35.virtualenvs\sql_output\lib\site-packages\adodbapi\adodbapi.py”,第 112 行,在连接中 co.connect(kwargs) 文件“D:\Work\Programs\Python35.virtualenvs\sql_output\lib\site-packages\adodbapi\adodbapi.py”,第 269 行,在连接中 self.connector = connection_maker() 文件“D:\Work\Programs\Python35.virtualenvs\sql_output\lib\site-packages\adodbapi\adodbapi.py”,第 95 行,在 make_COM_connecter raise api.InterfaceError ("Windows COM Error: Dispatch('ADODB.Connection') failed.") adodbapi.apibase.InterfaceError: Windows COM 错误: Dispatch('ADODB.Connection') 失败。
在处理上述异常的过程中,又发生了一个异常:
Traceback(最近一次调用最后一次):
文件“D:/Work/Programming/Python/SQL_DataTransfer/SQL_CE_reportDB.py”,第 8 行,在 连接 = adodbapi.connect(cons_str) 文件“D:\Work\Programs\Python35.virtualenvs\sql_output\lib\site-packages\adodbapi\adodbapi.py”,第 116 行,在连接中 raise api.OperationalError(e, message) adodbapi.apibase.OperationalError: (InterfaceError("Windows COM Error: Dispatch('ADODB.Connection') failed.",), '打开与"Provoider=Microsoft.SQLSERVER.MOBILE.OLEDB.3.5;Data Source=D 的连接时出错:\Work\Programming\Python\SQL_DataTransfer\LF.sdf;Persist Security Info=False;SSCE:Max Database Size=4091"')
在这一点上,任何帮助都非常感谢。
谢谢你, 真挚地, 京东。
【问题讨论】:
-
你 100% 确定它是 3.5 文件而不是 4.0 文件吗?
-
是的,我在 Visual Studio 中打开了同一个文件。
标签: sql python-3.x sqlconnection adodbapi