Как получить схему из MS Server Compact Edition (*.sdf) с помощью adodbapi?
Я пытаюсь получить схему из базы данных, прежде чем применять какие-либо запросы из локального файла (*.sdf). Пока что я могу подключаться к базе данных и выполнять запросы, когда знаю схему.
Я попробовал два подхода и оба потерпели неудачу.
Во-первых, я пытаюсь использовать
import adodbapi.schema_table as DB_schema
temp2 =DB_schema.names(connection_handler)
но это терпит неудачу со следующей ошибкой:
raise AttributeError('no such attribute in ADO connection object as="%s"' % item)
AttributeError: no such attribute in ADO connection object as="adoConn"
(это было простое решение из справочного руководства)
Также
connection_handler.get_table_names() #doesn't work
не удается...
Затем я попробовал
sql_querry_to_get_all_table_names_from_database = "SELECT Distinct TABLE_NAME FROM information_schema.TABLES"
cursor.execute(sql_querry_to_get_all_table_names_from_database)
который также не работает с немного другим сообщением:
adodbapi.apibase.DatabaseError: (-2147352567, 'Exception occurred.', (0, u'Microsoft SQL Server Compact OLE DB Provider', u'Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.', None, 0, -2147217887), None)
Command:
SELECT Distinct TABLE_NAME FROM information_schema.TABLES
Parameters:
[]
Тот же самый запрос прекрасно работает, когда он выполняется в компактном представлении.
Любые идеи приветствуются.
Есть ли другой подход? (Я пробовал odbc, mssql, но пока не повезло)
0 ответов
С версией adodbapi 2.6.0.7:
После подключения к базе данных соединение имеет метод:
myconnection.get_table_names()
который возвращает схему, как описано в справочном руководстве:
http://adodbapi.sourceforge.net/quick_reference.pdf
Для меня это сработало только после изменения положения курсора разъема:
myconnection.connector.CursorLocation = 2
Это изменяет местоположение курсора на стороне сервера, трюк, который я нашел здесь:
Как правильно запросить файл базы данных sql ce 4.0 с помощью adodbapi?