2

MS SQL、MySQL などのデータベースのデータを HSQLDB、H2 などのインメモリ データベースにインポートする方法はありますか?

4

8 に答える 8

2

H2 は、SQL スクリプト ファイルからデータベースを初期化する特別なデータベース URL をサポートしています。

"jdbc:h2:mem;INIT=RUNSCRIPT FROM '~/create.sql'"

私の知る限り、HSQLDB と Apache Derby はそのような機能をサポートしていません。

于 2011-05-02T12:10:26.263 に答える
1

Hibernate の場合: import.sql をクラス パスに追加するとうまく機能し、hbm2dll はファイルが存在するかどうかを確認して実行します。唯一の詳細は、すべてのSQLコマンドがほとんど1行にあることです。そうしないと、実行に失敗します

于 2011-05-01T17:18:58.920 に答える
0

それは本当にあなたがどのように考えるかに依存します。プログラミングなしで自動的にそれを行うことができるツールはありますか?多分。

あなたはそれを開発したいですか?次に、お気に入りの言語が両方のデータベースエンジン(標準とメモリ内)をサポートしているかどうかを確認し、サポートしている場合は、それを実行するスクリプトを記述します。すべてをチャンクで処理します(一度にn行をフェッチしてから挿入し、繰り返します)。チャンクサイズはどれくらいですか?それはあなた次第です。さまざまなサイズ(たとえば、100、500、1kなど)を試して、ハードウェアでどちらが優れているかを確認し、スイートスポットに微調整してください。

一方、お気に入りの言語が両方をサポートしていない場合は、サポートしているものを使用してみてください。

于 2009-05-24T16:08:56.080 に答える
0

無料の「ユニバーサルデータベースコンバーター」http://eva-3-universal-database-converter-udc.optadat-com.qarchive.org/を見てください。MySQL、MS-SQL、HSQLDBなどをサポートしていると主張しています。その他。

于 2009-05-24T15:55:36.597 に答える
0

データを SQL INSERT ステートメントとしてダンプしてから、読み戻すことができます。

temporay オブジェクト (構造体など) を読み取ってから、内部データベースに書き戻すことができます。

于 2009-05-24T14:21:13.737 に答える
0

HSQLDB の最新バージョンでは、CSV (カンマ区切り値) またはその他の区切り記号で区切られたデータ ファイルを HSQLDB の TEXT TABLE として開くことができます。

他の人が指摘しているように、この目的のための有能でよく管理されたサードパーティ ツールもあります。

于 2011-06-16T13:46:03.493 に答える
0

dbunitを使用して、データベースを xml ファイルにダンプし、それを別の rdbms にインポートできます。

于 2009-05-25T14:54:04.597 に答える