问题陈述:将存储在 .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)
错误信息:
回溯(最近一次通话最后):
文件“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:未定义名称“调度”
在处理上述异常的过程中,又出现了一个异常:
回溯(最近一次通话最后):
文件“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 中引发 api.InterfaceError ("Windows COM Error: Dispatch('ADODB.Connection') failed.") adodbapi.apibase.InterfaceError: Windows COM Error: Dispatch('ADODB.Connection ') 失败的。
在处理上述异常的过程中,又出现了一个异常:
回溯(最近一次通话最后):
文件“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 行,在连接中引发 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”的连接时出错')
在这一点上,任何帮助都非常感谢。
谢谢你,真诚的,JD。