Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何以只读方式打开SQL Compact数据库_Python_Sql Server Ce_Ado - Fatal编程技术网

Python 如何以只读方式打开SQL Compact数据库

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

有一个SQLCompactV3.1数据库,我想快速阅读。我在python中这样做,所以我没有访问托管代码的权限

我注意到,如果使用adodbapi,只需打开数据库文件,就可以修改它。不幸的是,当我在连接字符串中添加'File mode=Read Only'时,我得到了一个奇怪的错误

以下是我用来连接的代码:

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