我想快速阅读一个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\\;')
然后我收到错误消息
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\\";')
我添加了SSCE,因为当我用C#编写测试程序时,它需要它。以下代码完美地运行,并且在执行简单的SELECT查询时不会修改文件。
conn = new SqlCeConnection("Data Source = awesome.spf; File mode = Read Only;SSCE:Temp File Directory=\"c:\\users\\evelio\\desktop\\\";");
conn.Open();
感谢您的帮助,
Evelio
答案 0 :(得分:3)