ローカルの SQL Server Compact Edition ファイル ( ) からクエリを適用する前に、データベースからスキーマを取得しようとしています*.sdf
。
これまでのところ、スキーマがわかっている場合は、データベースに接続してクエリを実行できます。
私は2つのアプローチを試みましたが、両方とも失敗しました。
まず、使ってみます
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_query_to_get_all_table_names_from_database = "SELECT Distinct TABLE_NAME FROM information_schema.TABLES"
cursor.execute(sql_query_to_get_all_table_names_from_database)
これもわずかに異なるメッセージで失敗します。
adodbapi.apibase.DatabaseError: (-2147352567, '例外が発生しました.', (0, u'Microsoft SQL Server Compact OLE DB Provider', u'Multiple-step OLE DB operation generated errors. 利用可能な場合は、各 OLE DB ステータス値を確認してください. No work was done.', None, 0, -2147217887), None)
コマンド:
SELECT Distinct TABLE_NAME FROM information_schema.TABLESパラメータ:
[]
コンパクトビューで実行すると、まったく同じクエリが正常に機能します。
どんなアイデアでも大歓迎です。
他のアプローチはありますか?(odbc、SQL Serverを試しましたが、今のところうまくいきません)