eve*_*lio 6 python ado sql-server-ce
我想快速阅读一个SQL Compact v3.1数据库.我在python中这样做,所以我无法访问托管代码.
我注意到,如果我使用adodbapi,数据库文件实际上只是通过打开它来修改.遗憾的是,当我向连接字符串添加"文件模式=只读"时,我得到一个奇怪的错误.
这是我用来连接的代码:
import adodbapi
adodbapi.connect('Provider=Microsoft.SQLSERVER.MOBILE.OLEDB.3.0; Data Source="awesome.sdf"; File mode = Read Only;SSCE:Temp File Directory=c:\temp\\;')
Run Code Online (Sandbox Code Playgroud)
然后我收到错误消息
OperationalError: (com_error(-2147352567, 'Exception occurred.', (0, u'Microsoft OLE DB Service Components',
u'Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.',
None, 0, -2147217887), None),
u'Error opening connection: Provider=Microsoft.SQLSERVER.MOBILE.OLEDB.3.0; Data Source="Awesome.sdf";File mode = Read Only;SSCE:Temp File Directory="c:\\\temp\\";')
Run Code Online (Sandbox Code Playgroud)
我添加了SSCE,因为当我用C#编写测试程序时,它需要它.以下代码完美地运行,并且在执行简单的SELECT查询时不会修改文件.
conn = new SqlCeConnection("Data Source = awesome.spf; File mode = Read Only;SSCE:Temp File Directory=\"c:\\users\\evelio\\desktop\\\";");
conn.Open();
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助,
Evelio