2017-01-31 11 views
0

Заявление о проблемах: извлечение данных, хранящихся в файле .sdf, на python. Системная конфигурация: Win 10 Pro 64-разрядная, python 3.5.2-64 бит, библиотека adodbapi, SQL CE 3.5SQL CE-соединение с Python

Я довольно новичок в программировании, и я выбрал Python в качестве своего первого языка для изучения. В настоящее время я ударил стену при подключении файла SQL CE 3.5 .sdf.

Я использовал библиотеку adodbapi. На прошлой неделе я много искал в Интернете, чтобы найти решение этой проблемы и убедиться, что строка подключения верна. Я попробовал несколько вариантов/решений, предоставляемых при переполнении стека, и https://www.connectionstrings.com/microsoft-sqlserver-ce-oledb-3-5/.

Код:

import adodbapi 

cons_str = "Provider=Microsoft.SQLSERVER.MOBILE.OLEDB.3.5;" \ 
      "Data Source=D:\Work\Programming\Python\SQL_DataTransfer\LF.sdf;"\ 
      "Persist Security Info=False;" \ 
      "SSCE:Max Database Size=4091" 

connection = adodbapi.connect(cons_str) 
print(connection) 

Сообщение об ошибке:

Traceback (самый последний вызов последнего):

File "D:\Work\Programs\Python35.virtualenvs\sql_output\lib\site-packages\adodbapi\adodbapi.py", line 93, in make_COM_connecter c = Dispatch('ADODB.Connection') #connect after CoIninialize v2.1.1 adamvan NameError: name 'Dispatch' is not defined

Во время обработки вышеуказанного исключения, другое исключение произошло:

Traceback (последний последний звонок):

File "D:\Work\Programs\Python35.virtualenvs\sql_output\lib\site-packages\adodbapi\adodbapi.py", line 112, in connect co.connect(kwargs) File "D:\Work\Programs\Python35.virtualenvs\sql_output\lib\site-packages\adodbapi\adodbapi.py", line 269, in connect self.connector = connection_maker() File "D:\Work\Programs\Python35.virtualenvs\sql_output\lib\site-packages\adodbapi\adodbapi.py", line 95, in make_COM_connecter raise api.InterfaceError ("Windows COM Error: Dispatch('ADODB.Connection') failed.") adodbapi.apibase.InterfaceError: Windows COM Error: Dispatch('ADODB.Connection') failed.

Во время обработки вышеуказанного исключения, другое исключение произошло:

TraceBack (самый последний вызов последнего):

File "D:/Work/Programming/Python/SQL_DataTransfer/SQL_CE_reportDB.py", line 8, in connection = adodbapi.connect(cons_str) File "D:\Work\Programs\Python35.virtualenvs\sql_output\lib\site-packages\adodbapi\adodbapi.py", line 116, in connect raise api.OperationalError(e, message) adodbapi.apibase.OperationalError: (InterfaceError("Windows COM Error: Dispatch('ADODB.Connection') failed.",), 'Error opening connection to "Provoider=Microsoft.SQLSERVER.MOBILE.OLEDB.3.5;Data Source=D:\Work\Programming\Python\SQL_DataTransfer\LF.sdf;Persist Security Info=False;SSCE:Max Database Size=4091"')

На данный момент любая помощь очень ценится.

Thank you, С уважением, JD.

+0

ARE YOU 100% уверен, что это 3,5-файл, а не файл 4,0? – ErikEJ

+0

Да, я открыл тот же файл в visual studio. –

ответ

1

Похоже, у вас есть опечатка:

Provoider => Provider 
+1

Да, я исправил его ... Я тоже хочу исправить это в вопросе ... Но ошибка все та же .... –