6

SchemaSpy で sqlite ダンプを作成しようとしています。SchemaSpy を起動して実行し、MySQL データベースを適切にダンプすることができました。

これで、(iOS アプリケーションからの) .sqlite ファイルと Christian Werner の sqlite ドライバー ( http://www.ch-werner.de/javasqlite/overview-summary.html ) ができました。ここの例では、それを処理する方法を説明していますが、正直に言うと、何をすべきかわかりません。

Windows で SchemaSpy を使用する方法を知っている人はいますか? ただし、GUI ツールを使用する必要はありません。

4

5 に答える 5

3

私もこの問題に遭遇しましたが、最終的には機能しました。SQLite ライブラリの DLL が必要です。

ここからダウンロードして、Windows インストールの system32 フォルダー (たとえば、C:\Windows\System32) に置くことができます。

最後に、正確な JDBC ドライバー パスを指定することを忘れないでください。

java -jar… -dp "D:\SchemaSpy\driver\j2sdk1.4.2_03\jre\lib\ext\sqlite.jar" …
于 2011-07-12T12:34:18.557 に答える
1

私はあなたが言及した記事の 1 つの著者です。

schemaspy JDBC ドライバーをコンパイルする必要があります。これは UNIX 用に書かれましたが、誰かがWindows 環境でのビルドに関するメモを作者に送りました。ただし、必要な sqlite.jar と .dll を使用してビルド済みの Windows 用のファイルセットがあります。クラスパスにそれを取得したら、それは簡単です。

これがあまりにも多すぎる場合は、いつでも sqlite3 CLI を起動し、.schemaコマンドを使用してテーブルをダンプし、接続方法を知っているデータベースに設定できます。または、Ubuntu VM をセットアップして ;)

于 2011-05-11T15:16:01.947 に答える
1

これは古い質問だと思いますが、記録として、 http://schemaspyの指示に従って、新しい .properties ファイルをロールすることで、SchemaSpy に Xerial SQLite JDBC ドライバーを使用させることができます。 .sourceforge.net/dbtypes.html

実際に行う必要があるのは、既存の sqlite.properties をコピーして名前を sqlite-xerial.properties などに変更し、関連する行を変更することだけです。例えば:

driver=org.sqlite.JDBC

description=SQLite-Xerial

driverPath=sqlite-jdbc-3.7.2.jar

Xerial ドライバーは JNI DLL ファイルを必要とせず、構成された FK 関係を正しく取得できるという利点もあります。少なくとも、私がテストした SQLite 3 データベースではそうです。

キーワードでもあるテーブル名または列名を参照すると、いくつかの警告がスローされますが、それらを .xml でラップしないことに対する SchemaSpy の障害である可能性があります[]。または、キーワードをテーブル名および列名として使用するためのスキーマ設計者の過ち:)

于 2013-01-09T09:31:48.283 に答える
0

通常は、最新のベータ版の SchemaSpy を入手することをお勧めします。呼び出しは、データベース タイプを-t sqliteで指定し、「データベース」を .sqlite ファイルにポイントすることを除いて、MySQL に対して実行する場合と似ている必要があります。

SQLite ドライバーは実装に JNI を使用するため、sqlite_jni.dll が PATH にあることを確認する必要があります。Windows コマンド プロンプトで一時的に PATH に追加するには:

set PATH=%PATH%;directoryContainingTheJniDll

于 2011-04-20T16:44:31.373 に答える
0

なぜsqliteドライバーを入手する必要があるのか​​ 疑問に思います。DB タイプが sqlite であることをSchemaSpy に伝えるだけで問題ありません。何かのようなもの

java -jar schemaSpy.jar -t sqlite -db <ファイル> -o <出力>

于 2011-04-18T20:29:57.763 に答える