如何打开SQL Compact数据库只读

时间:2010-09-24 18:57:27

标签: python sql-server-ce ado

我想快速阅读一个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

相关问题