Gs与ce认证的差别:SQLCE与Python的连接

问题陈述:将.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 (最近一次调用 last):

文件“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

在处理上述异常期间,发生了另一个异常:

Traceback (最近一次调用 last):

文件 "D:\ Work\ Programs\ Python35.Connection '错误。Windows 错误。输出\ lib\ site-packages\ adodbapi\ adodbapi.py",第 112 行,在 connect co.connect (kwargs) 文件 "D:\ Work\ Programs\ Python35.virtualenvs\ adbapi\ site\

在处理上述异常期间,发生了另一个异常:

Traceback (最近一次调用 last):

文件“D:/ Work / Programming / Python / SQL\ DataTransfer / SQL_CE_reportDB.py”,第 8 行,在 connection = adodsapi.connect (cons_str) 文件“D:\ Work\ Programs\ Python35.virtualenvs\ site-packages\ adodbapi\ adodbape”

在这一点上,任何帮助非常感谢。

谢谢你,真诚的,JD。

1

看起来你有一个错字:

Provoider => Provider
1

adodbapiversion= '2.6.0.6' 取决于要在 Python 环境中安装的 pypiwin32。对于 adodbapi.py,从第 51 行:

if api.onIronPython:
    from System import Activator, Type, DBNull, DateTime, Array, Byte
    from System import Decimal as SystemDecimal
    from clr import Reference
    def Dispatch(dispatch):
        type = Type.GetTypeFromProgID(dispatch)
        return Activator.CreateInstance(type)
    def getIndexedValue(obj,index):
        return obj.Item[index]
else: # try pywin32
    try:
        import win32com.client
        import pythoncom
        import pywintypes
        onWin32 = True
        def Dispatch(dispatch):
            return win32com.client.Dispatch(dispatch)
    except ImportError:
        import warnings
        warnings.warn("pywin32 package (or IronPython) required for adodbapi.",ImportWarning)
    def getIndexedValue(obj,index):
        return obj(index)

在我的情况下,我跟踪了一个事实,即 Dispatch 函数没有被定义,因为在第 62 行生成了一个 ImportError 异常,(import win32com.client)被捕获在 except 块中,但由于某种原因,警告消息没有显示在我的控制台中。

尝试:

pip install pypiwin32

和上面描述的 ImportError 异常不应再引发。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(202)
大数据库建设方案:大数据 | 数据库与架构(database for big data)
上一篇
云服务器挂机游戏:Spring云数据流服务器云铸造配置服务器
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(60条)