Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.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 Server CE 4.0数据库文件_Python_Database_Sql Server Ce_Connection String_Adodbapi - Fatal编程技术网

通过Python加载、查询SQL Server CE 4.0数据库文件

通过Python加载、查询SQL Server CE 4.0数据库文件,python,database,sql-server-ce,connection-string,adodbapi,Python,Database,Sql Server Ce,Connection String,Adodbapi,我正在尝试将SQL Server CE数据库(.sdf文件格式)中的表加载到Python(3.5.1)中。以下是我一直在玩的东西: import adodbapi file="C:\\TS\\20160406_sdfPyt\\HC.sdf" connstr = 'Provider=Microsoft.SQLSERVER.CE.OLEDB.4.0;Data Source=%s;' %file conn = adodbapi.connect(connstr) 这会抛出错误消息 Traceback

我正在尝试将SQL Server CE数据库(
.sdf
文件格式)中的表加载到Python(3.5.1)中。以下是我一直在玩的东西:

import adodbapi
file="C:\\TS\\20160406_sdfPyt\\HC.sdf"
connstr = 'Provider=Microsoft.SQLSERVER.CE.OLEDB.4.0;Data Source=%s;' %file
conn = adodbapi.connect(connstr)
这会抛出错误消息

Traceback (most recent call last):
File "C:\Users\TS\AppData\Local\Programs\Python\Python35\lib\site-packages\adodbapi\adodbapi.py", line 112, in connect
co.connect(kwargs)
File "C:\Users\TS\AppData\Local\Programs\Python\Python35\lib\site-packages\adodbapi\adodbapi.py", line 274, in connect
self.connector.Open()  # Open the ADO connection
File "<COMObject ADODB.Connection>", line 3, in Open
File "C:\Users\TS\AppData\Local\Programs\Python\Python35\lib\site-packages\win32com\client\dynamic.py", line 287, in _ApplyTypes_
result = self._oleobj_.InvokeTypes(*(dispid, LCID, wFlags, retType, argTypes) + args)
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, 'Microsoft OLE DB Service Components', 'Format of the initialization string does not conform to the OLE DB specification.', None, 0, -2147217805), None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "<pyshell#32>", line 1, in <module>
conn = adodbapi.connect(connstr)
File "C:\Users\TS\AppData\Local\Programs\Python\Python35\lib\site-packages\adodbapi\adodbapi.py", line 116, in connect
raise api.OperationalError(e, message)
adodbapi.apibase.OperationalError: (com_error(-2147352567, 'Exception occurred.', (0, 'Microsoft OLE DB Service Components', 'Format of the initialization string does not conform to the OLE DB specification.', None, 0, -2147217805), None), 'Error opening connection to "Provider=Microsoft.SQLSERVER.CE.OLEDB.4.0;Data Source==C:\\TSrinivas\\20160406_sdfPyt\\HC.sdf;"')
在线搜索后,连接字符串中的等,但没有运气。有人能帮我使用正确的连接字符串吗?或者如果我在这里做错了什么


编辑:将connstr中的“==”更改为“=”我从中重新安装了SQL Server CE 3.5(先是x86,然后是x64) 并将连接字符串更改为

connstr = """Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source=C:\\TSrinivas\\20160406_sdfPyt\\HazardCache.sdf;"""

这适用于4.0数据库!我之前试过这个,但没有成功,但不知怎么的,重新安装成功了。我使用了adodbapi。

我从中重新安装了SQL Server CE 3.5(先是x86,然后是x64) 并将连接字符串更改为

connstr = """Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source=C:\\TSrinivas\\20160406_sdfPyt\\HazardCache.sdf;"""

这适用于4.0数据库!我之前试过这个,但没有成功,但不知怎么的,重新安装成功了。我使用了adodbapi。

不是python专家,但为什么有:数据源==而不是数据源=?我尝试了==和=(仍在学习python。我的大部分工作都是在R中完成的,并且只使用python读取此sdf文件)。编辑了我的帖子。我一直在使用pyodbc,没有出现任何错误。看起来您需要在连接字符串周围添加更多的“”:connStr=“””Provider=SQLOLEDB.1;用户ID=%s;密码=%s;初始目录=%s;数据源=%s”““请参阅:@Walter_Ritzel由于某些原因,我无法安装pyodbc。抛出此错误:找不到python专家vcvarsall.batNo,但为什么您有:数据源==而不是数据源=?我尝试了==和=(仍在学习python。我的大部分工作是在R中完成的,而使用python只是为了读取此sdf文件)。编辑了我的帖子。我一直在使用pyodbc,没有出现任何错误。看起来您需要在连接字符串周围添加更多的“”:connStr=“”Provider=SQLOLEDB.1;用户ID=%s;密码=%s;初始目录=%s;数据源=%s”“。请参阅:@Walter\u Ritzel由于某些原因,我无法安装pyodbc。抛出此错误:找不到vcvarsall.bat