我白天是个Python开发,但我有一些Java经验,以及(大部分支柱)。 在工作中我交给一个Grails应用安装,这是确定的,但应用程序的业主没有提供任何凭证,并且应用程序加载到登录页面。
我打开了战争,但我认为DB的配置已经被打包成一个罐子的地方,因为我似乎无法找到任何连接的URL。 有后,我部署的应用程序一个已经创建的H2数据库文件,所以我想知道:
我怎么能连接到数据库就像你通常会使用SQLite或MySQL客户端,浏览表格,并创建一个管理员用户,这样我可以登录?
我白天是个Python开发,但我有一些Java经验,以及(大部分支柱)。 在工作中我交给一个Grails应用安装,这是确定的,但应用程序的业主没有提供任何凭证,并且应用程序加载到登录页面。
我打开了战争,但我认为DB的配置已经被打包成一个罐子的地方,因为我似乎无法找到任何连接的URL。 有后,我部署的应用程序一个已经创建的H2数据库文件,所以我想知道:
我怎么能连接到数据库就像你通常会使用SQLite或MySQL客户端,浏览表格,并创建一个管理员用户,这样我可以登录?
去反编译。 你不仅需要用户名和密码,但至少一个数据库的JDBC URL 。 这可能包括DBMS名,主机,端口,数据库名称 - 这取决于Java驱动程序的细节。 然后连接,你通常会在Python或什么的,或者与DBVisualizer中 。
但是,如果数据库是在H2 / HSQL(URL像jdbc:h2:mem:XXX
),你有一个问题:它是一个Java进程DBMS。 为了获得它的外部访问,你需要改变反编译的代码,编译和打包回来一些补充 。 希望这不是你的情况。
在HSQL / H2情况下,另一种方法是找到并编译数据库引导代码 - 因为它是一个过程中的DB,应该在每一个应用程序启动时填充,所以应该创建一个超级用户密码。
In Grails, the DB configuration, including authentication settings, are declared in a file called Datasource.groovy
which is then compiled into the WAR. You'll need the source code to find the username and password for the H2 DB.
我不知道是否Python可以连接到一个java数据源,但它可能是一个解决办法。
另一个解决方法可以是提供从Grails的侧一些REST Web服务使人们有可能对Python程序访问数据库。 这是我喜欢,我经常选择的方式。
顺便说一句,你必须在conf目录下(在grails-app / conf目录/ DataSource.groovy中)的Grails使用的数据库的配置,你会得到的JDBC URL的数据库可能是转换成一个经典的URL。 例如:JDBC:MySQL的://本地主机/ my_app应用指的是在本地主机和缺省端口数据库程序my_app为MySQL数据库。
随意问,如果你需要更多的信息。
干杯