2012-03-06 5 views
4

一部の有用なstackoverflowユーザーpointed outそのneither the pyodbc nor python-sybase plugins support Sybase table reflection within SQLAlchemyPythonでSybase DBからSQLAlchemyでテーブルリフレクション/イントロスペクションを実行する方法は?

私の質問は、Sybaseデプロイメントでテーブルのデータベースメタデータを反映させるために存在する選択肢はありますか?それが不可能な場合は、猿のパッチを適用したり、解析やクエリ作成のためにテーブルのメタデータをプルダウンするソリューションを一緒に巧みに利用する方法がありますか?

答えて

5

データベースから提供される情報スキーマを呼び出すことになります。これは、選択可能なテーブルおよびビューのセットであり、テーブル、列などのデータを返します。

Sybaseの場合、情報スキーマには(実際は16 + 16 column format of representing foreign key constraintsのため)本当に難しい形式のものがあります。そのためSybaseの方言を作成したとき、私は仕事の反映部分を "todo "技術的な理由はありませんが、それは長くて退屈な作業であり、Sybaseの方言はまだ使用されていません。

テーブル名とカラム名を取得するために基本クエリのいくつかを実行したい場合は、それらをSQLAlchemyに直接コミットできます。あなたが扱うスキーマは、このセクションに記載されています:http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0.tables/html/tables/tables2.htmそしてそこにはsysobjectssyscolumn、そしてsysreferencesがあります。

+3

うわー、それは馬の口からまっすぐな答えを得ることよりもはるかに良くなりません。さて、SQLAlchemyを使っていただいたことに感謝します。これはDBに少しでも苦労することなく初めて作業しました:)プロジェクトに貢献しているように、私はいつもコミュニティにあまりにも多くのことをしたかった私のために、私は機会に興味を持っています。現時点では、私はこのプロジェクトをできるだけ早く完了させる締め切りがあるので、私はカーソル/ engine.execute()で解決策を手にしていますが、時間があればこの問題に戻ります。 – ignorantslut

関連する問題