2012-03-08 10 views
1

java接続オブジェクトが入力として提供されたときにデータベースER図を生成できるJava API/javaプラグインはありますか。データベースERを生成するために必要なJava API

例:InputSream generateDatabaseERDiagram(java connection object)// where inputsream will point to generated ER diagram image

APIは、Oracle、MySQLやPostgreSQLので動作するはず?

私はschemacrawler(http://schemacrawler.sourceforge.net/)ツールを使っていましたが、これを行うことができるAPIはありませんでした。

このようなAPIがない場合は、自分のAPIをどのように書くことができるか教えてください。私は、スキーマ名が入力として提供されている場合、データベース内のすべてのスキーマまたは特定のスキーマのER図を生成したい。

このタスクを達成する方法についていくつか明記しておくと役立ちます。

+0

schemacrawlerは有望です。この例を使用して一時フォルダにイメージを書き込み、その後Javaアプリケーションで開くことを検討してください。 –

+0

私は、スキーマクローラで与えられた例を理解していませんでしたか?私は、ER図を生成するためにどのAPIがスキーマクローラで使用されているのかを意味します。このサンプルコードをここに貼り付けることができますか?私はこのAPIをschemacrawlerの最後には気にしません。データベースデータベース= SchemaCrawlerUtility.getDatabase(接続、 オプション); (最終スキーマスキーマ:database.getSchemas()) {}私はこのAPIがスキーマ、テーブル、列などをクロールするために使用できることを知っています – Rajesh

答えて

2

私はあなたが正しく質問を理解する場合は、あなたが見てかかることがあります:JGraph

2

私は私が最終的に考え出し同じことをやろうとしたとき、これは古い質問ですが、それ全体で他人つまずく場合SchemacrawlerのJava APIを使用してERDを生成する方法

  //Get your java connection however 
      Connection conn = DriverManager.getConnection("DATABASE URL"); 
      SchemaCrawlerOptions options = new SchemaCrawlerOptions(); 
      // Set what details are required in the schema - this affects the 
      // time taken to crawl the schema 
      options.setSchemaInfoLevel(SchemaInfoLevelBuilder.standard()); 
      // you can exclude/include objects using the options object e.g. 
      //options.setTableInclusionRule(new RegularExpressionExclusionRule(".*qrtz.*||.*databasechangelog.*")); 

      GraphExecutable ge = new GraphExecutable(); 

      ge.setSchemaCrawlerOptions(options); 

      String outputFormatValue = GraphOutputFormat.png.getFormat(); 

      OutputOptions outputOptions = new OutputOptions(outputFormatValue, new File("database.png").toPath()); 

      ge.setOutputOptions(outputOptions); 

      ge.execute(conn); 

これはまだインストールされ、仕事へのパスにすることがgraphvizが必要です。

関連する問題