2

組み込みのAdvantageDatabaseServerを使用するプログラムで読み取られた、取得したデータを使用しています。プログラムは私が書いたものではなく、私が必要とするすべての機能を備えているわけではありません。このデータを別の形式に変換して、MySQLなどのより自由に操作できるようにしたいと思います。

Sybaseには、単一のローカルデータベースをSQLに変換するためのツールがいくつか用意されていることを知っています。これは非常に便利です。このプログラムの作成者が、ユーザーが操作している新しいドキュメントごとに新しいデータベースを含む新しいフォルダーを作成することを除いて、これは問題なく機能します。したがって、それぞれが数百の.ADTファイルを含む数百の個別のデータベースフォルダが存在する可能性があります。

これらの.ADTファイルとそのスキーマを基本的に他のものに変換するプロセスを自動化する方法を探しています。私は過去に使用しなければならなかった他のほとんどすべてのフォーマットでより多くの幸運を手に入れました、これは最も厄介でした。インデックスやビューなどは必要ありません。一部のデータを処理できるように、テーブルを別の形式にエクスポートするだけで済みます。

したがって、ここで私が探しているソリューションは、単一のAdvantageDatabaseServerローカルデータベースからSQLへの変換を自動化する方法にすぎません。したがって、データベースを表す.ADTファイルのフォルダーがあります。

これらのスクリプト言語のいずれかを使用するのが理想的であるため、タグにRubyとPythonを含めましたが、どのソリューションも素晴らしいでしょう。

私が現在行っているルートは、ODBCドライバーを使用しようとしていますが、問題が発生しており、より簡単な解決策があることを望んでいます。

ありがとう!

チェイスグレイ

4

2 に答える 2

2

Advantageには、既存のADT形式のテーブルにアクセスするために使用できるdbi(Perl)ドライバーがあります。JDBCおよびOLEDBドライバーもあります。http://devzone.advantagedatabase.com/dz/content.aspx?key=20&Release=13でそれらすべてを参照してください

リンクはバージョン9.1ドライバーへのリンクであることに注意してください。実行中のAdvantageサーバーと同じかそれより古いドライバーを取得する必要があります(クライアントがAdvantage Local Serverを使用している場合を除きます。この場合、問題はありません)。

于 2010-02-18T19:33:30.403 に答える
2

いくつか尋ねて検索した後、私が探していたもののようなものはないようです。

今日は少し前に、RubyDBFの宝石に基づいて何かをまとめました。まだ終わっていませんが、思い通りに動作します。テストを終了し、SQLのエクスポートなどを追加する必要がありますが、他の誰かがこの質問を見つけて、何もインストールせずに.ADTファイルから情報を取得できることを願っています。

これがプロジェクトへのリンクです。それはおそらく夜の残りの間進行中であるでしょう。今はかなり最小限ですが、将来的には追加する予定です。

http://github.com/chasemgray/Ruby-ADT http://chase.ratchetsoftware.com/2010/02/reading-advantage-database-server-files-adt-in-ruby/

これで、データの取得はこれと同じくらい簡単になるはずです。

require 'adt'

table = ADT::Table.new("test.adt")

table.each do |record|
  puts record.name
  puts record.email
end

ご協力いただきありがとうございます、

チェイスグレイ

于 2010-02-20T23:27:32.500 に答える