pyodbcを使用して、さまざまなodbc準拠のデータベースに接続しています。
MySqlデータベースに名前、年齢、国籍が含まれているとします。今、私の要件は、たとえば次のように、レコードを含む辞書を作成する必要があることです。
{'Name' : 'a', 'Age' : '20'}
pyodbcオブジェクトのexecute()メソッドで指定されたクエリの場合。
「名前」、「年齢」などの列ヘッダーを取得するために行ったことは、選択クエリから新しいテーブルを作成してから使用したことです。
select column_name from information_schema.columns where table_name=xxx
列ヘッダーを取得します。クエリ'テーブルの作成'、'テーブルの削除'、および'列名の選択....'コマンドがすべてodbc準拠のデータベースで同じであるかどうかはわかりません。PostgreSqlとMySqlをチェックしましたが、正常に機能しますが、それらが異なる場合は、実装を変更する必要があり、次のようになります。
if mysql:
execute(this)
if posegresql:
execute(this)
if ibmdb2:
execute(this)
上記のクエリがすべてのデータベースで同じである場合、問題はありませんが、それらが異なる場合、簡単で効率的な解決策は何でしょうか。