Python 如何以只读方式打开SQL Compact数据库
有一个SQLCompactV3.1数据库,我想快速阅读。我在python中这样做,所以我没有访问托管代码的权限 我注意到,如果使用adodbapi,只需打开数据库文件,就可以修改它。不幸的是,当我在连接字符串中添加'File mode=Read Only'时,我得到了一个奇怪的错误 以下是我用来连接的代码:Python 如何以只读方式打开SQL Compact数据库,python,sql-server-ce,ado,Python,Sql Server Ce,Ado,有一个SQLCompactV3.1数据库,我想快速阅读。我在python中这样做,所以我没有访问托管代码的权限 我注意到,如果使用adodbapi,只需打开数据库文件,就可以修改它。不幸的是,当我在连接字符串中添加'File mode=Read Only'时,我得到了一个奇怪的错误 以下是我用来连接的代码: import adodbapi adodbapi.connect('Provider=Microsoft.SQLSERVER.MOBILE.OLEDB.3.0; Data Source="a
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();
谢谢你的帮助,伊夫里奥看这里: cn.Mode=adModeRead