如何打开SQL Compact数据库只读

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