1

問題があります。クライアントのニーズの 1 つです

Oracleデータベースサーバーに接続し、クライアントがExcelファイルを入力でき、そのローカルファイルに追加された後の変換のように、テーブルをローカルファイル(例:Microsoft Access )にダウンロード/保存するプログラム

私のクライアントは、ローカルファイル/データベースをプログラムフォルダー内にオフラインで保存できることを望んでいます彼らはプログラムがすべての仕事をすることを望んでいるので、クライアントから入力されるテーブルとExcelの例を含むデータベースへのユーザーとパスのみを提供します

プログラムは残りを行い、テーブルをダウンロードし、変換し、入力し、最後にデータを印刷します

多くのチュートリアルには、Oracle を Java で接続/更新する (OLDBC-JDBC を使用) か、msaccess ファイルを開いて変更する (Excel 変換を使用) というアイデアが含まれていることを知っています。

しかし、それらすべてを組み合わせるにはどうすればJavaでこれを行うことができますか?

私はすでに誰かがこれを行うのを見ましたが、VB6 と彼のコードでは少し面倒です

参考までに: データは大きなもので、約600.000行を使用し、月に 1 回更新されます。

4

2 に答える 2

1

データのみが必要な場合は、 Apache POIを使用して非常に簡単にレンダリングできる Excel としてダウンロードしてみませんか? Excel でさえデータソースとして提供できます (MS-Access だけではありません)。MS-Access に変換することだけが要件ですか? 問題の説明についてさらに情報を追加してください。

于 2012-09-15T10:39:19.873 に答える
0

目的の出力が MS Access である場合に検討したいアプローチはJackcessです。彼らが Web ページで提供している例の 1 つは、外部テーブルを MS Access にコピーすることであり、これが必要と思われるすべてのコードです。

Database.open(new File("my.mdb")).copyTable("Imported", resultSet);

私はそのライブラリを実際に使用した経験はありませんが、かなり良さそうです。

Excel の出力については、Chris に同意します。POi が最適です。ただし、 jXLSというライブラリもあります。これは POI の上にあるレイヤーであり、フォーマットされた XLS シートの作成を大幅に簡素化します。JDBC 結果セット (Oracle にクエリを実行した結果) を見栄えの良い Excel に変換するこのサンプルを確認してください。ファイル。

編集:クリスの回答に対するコメントに基づいて、実際に取得できるのがデータベース座標とユーザーとパスだけの場合は、次のことを行う必要があります。

ステップ 1: DatabaseMetaDataを使用してテーブル名を取得します。図式的には次のようになります。

Connection c = DriverManager.getConnection (...);
DatabaseMetaData md = c.getMetaData();
ResultSet rs = md.getTables(null, null, "%", null);
while (rs.next()) {
  System.out.println(rs.getString(3));
}

ステップ 2: 取得したテーブルのリストを反復処理し、上記のようにテーブル コピーを実行します。

于 2012-09-15T10:44:39.457 に答える