6

Python を使い始めたのはつい最近のことですが、気に入っています。しかし、私は SqlAlchemy で立ち往生しています。

MS SQL データベースを読み取り、テーブル (すべてのフィールド、一部のフィールドのフィルターのみ) をクエリし、結果をローカル SQLite データベースに書き込むスクリプトを作成しようとしています。

(オブジェクトは、データ アダプターを作成することです。別のデータベースに結果をエクスポートする前に、SQLite データベースでいくつかのクエリを実行します。ターゲット データベースの一時テーブルに書き込むことも可能です。)

接続してクエリ結果を取得できます。それらを印刷できるので、その部分が機能することがわかります。しかし、ソース SQL Server からのクエリ結果の構造に基づいて新しいテーブルを作成するにはどうすればよいでしょうか?

これは機能します:

import sqlalchemy

esd = sqlalchemy.create_engine( 'mssql+pyodbc://username:passwordSservername/dbname' )
for row in esd.execute( 'select * from ticket_actions where log_dt > \'2012-09-01\''):
    print( row.eFolderID )

これも機能します:

import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=servername;DATABASE=dbname;UID=username;PWD=password')
cursor = cnxn.cursor()
for row in cursor.execute( 'select * from ticket_actions where log_dt > \'2012-09-01\''):
    print( row.eFolderID )

クエリと同じ構造を持つ新しいテーブルを作成する方法についてのアイデアはありますか?

ありがとう!

4

2 に答える 2

4

データベース テーブルの作成と削除を参照してください。

create()…の個々のテーブルの作成は、 …の方法で行うことができますTable

ソース構造の読み取りについては、Reflecting Database Objectsを参照してください。

Tableオブジェクトは、データベース内に既に存在する対応するデータベース スキーマ オブジェクトからそれ自体に関する情報をロードするように指示できます。
[…]
リフレクション システムはビューを反映することもできます。

于 2012-09-19T13:35:39.027 に答える