1

私は日々 Python 開発者ですが、Java の経験もあります (主にストラットを使用)。職場で、インストールする grails アプリを渡されましたが、これは問題ありませんでしたが、アプリの所有者が資格情報を提供しておらず、アプリがログイン ページに読み込まれました。

戦争を解凍しましたが、接続 URL が見つからないように見えるため、DB 構成がどこかの jar にパッケージ化されていると思います。アプリをデプロイした後に作成された h2 db ファイルがあるので、疑問に思っています。

SQLite または mysql クライアントで通常行うようにデータベースに接続し、テーブルを参照し、ログインできるように管理者ユーザーを作成するにはどうすればよいですか?

4

3 に答える 3

1

逆コンパイルに進みます。ユーザーとパスワードだけでなく、少なくともデータベースJDBC URLが必要です。これには、Java ドライバーの仕様に応じて、DBMS 名、ホスト、ポート、データベース名が含まれる場合があります。次に、通常どおり Python などで接続するか、DBVisualizerを使用して接続します。

しかし、データベースが H2/hsql にある場合 (URL は のようjdbc:h2:mem:XXXになります)、問題があります。これは Java インプロセス DBMS です。それに外部からアクセスするには、逆コンパイルされたコードを変更し、コンパイルして、いくつかの追加を加えてパックする必要があります。あなたの場合ではないことを願っています。

hsql/H2 の場合のもう 1 つの方法は、データベース ブートストラップ コードを見つけて逆コンパイルすることです。これはインプロセス DB であるため、アプリケーションの起動ごとに入力する必要があるため、そのスーパーユーザーを作成するコードが必要です。

于 2012-10-14T19:44:06.567 に答える
0

Grails では、認証設定を含む DB 構成は、呼ばれるファイルで宣言され、Datasource.groovyその後 WAR にコンパイルされます。H2 DB のユーザー名とパスワードを見つけるには、ソース コードが必要です。

于 2012-10-13T13:42:19.003 に答える
-1

Python が Java データソースに接続できるかどうかはわかりませんが、解決策になる可能性があります。

別の解決策として、Grails 側から REST Web サービスを提供して、Python プログラムがデータベースにアクセスできるようにすることも考えられます。これは私が好む方法であり、よく選択します。

ところで、conf ディレクトリ (grails-app/conf/DataSource.groovy) に Grails で使用されるデータベースの構成があり、従来の URL に変換できるデータベースへの jdbc URL を取得します。例: jdbc:mysql://localhost/my_app は、localhost 上のデータベース my_app と mysql データベースのデフォルト ポートを参照します。

さらに情報が必要な場合は、お気軽にお問い合わせください。

乾杯

于 2012-10-13T12:08:23.697 に答える