来自Glassfish控制台的Derby身份验证错误,但相同的凭据来自ij

时间:2015-04-02 22:40:16

标签: java glassfish derby javadb

我第一次尝试在没有IDE的情况下运行java EE 7 Web应用程序,并在学习曲线中挣扎。为了简单起见,我已经开始使用Glassfish 4.1和Derby 10.11.1.2,这是我用于开发的东西。

我目前的问题是在Glassfish Web界面上配置连接池时出错。错误是“连接身份验证失败”。原因:用户名或密码无效'。但是我有一个dos提示符和Chrome中的Glashfish Web控制台。

来自ij我可以键入' connect' jdbc:derby:localhost:1527 / databasename; user = username; password = password&#39 ;;我连接正常,可以查看表等。在Glassfish Web控制台中,我有相同的'用户'和密码'值和它失败(完全相同的字母和案例)。我试过更改数据库名称'属性以确保错误没有误导并确认它已正确找到数据库。

在面值时,错误消息似乎是错误的,因为我已经从DOS窗口证明了这一点。我确信我做错了什么但却迷失了如何诊断它。有什么建议吗?


所采取措施的更多细节:(虽然我确信其中一些步骤取代了其他人,但我缺乏成功让我心态上认为冗余优于遗漏 - 总而言之,它似乎比它需要的要复杂得多用于基本设置)。我的目标是Wildfly,但Glassfish文档更好,所以我想我会从那里开始。

  1. 相关的Windows环境变量:

    JAVA_HOME=C:\Program Files\Java\jdk1.8.0_40
    DERBY_HOME=%JAVA_HOME%\db
    DERBY_INSTALL=%DERBY_HOME%
    JAVADB_HOME=%DERBY_HOME%
    GLASSFISH=C:\Program Files\Java\GlassFish-4.1
    Path=%JAVA_HOME%\bin;%DERBY_HOME%\bin;%GLASSFISH%\bin;%GLASSFISH%\glassfish
    CLASSPATH=%DERBY_HOME%\lib\derbynet.jar;%DERBY_HOME%\lib\derbytools.jar;%DERBY_HOME%\derbyclient.jar;%DERBY_HOME%\lib\derbyrun.jar
    WILDFLY_HOME=C:\program files\java\wildfly\8.2.0.Final
    
  2. sysinfo显示所有正确的路径和版本

  3. 按照BalusC的帖子,将%derby_home%\ lib中的许多德比罐复制到%glassfish%\ glassfish \ domains \ domain1 \ lib \ ext。我认为classpath重复了它但不会伤害
  4. 已启动域' asadmin start-domain'默认为域1
  5. 通过更改目录和使用java启动DB。想要使用asadmin start-database --dbhome 数据库路径'但这始终是错误的版本。 Glassfish和JDK都打包derby / javadb,我无法弄清楚如何升级Glassfish或以其他方式启动正确的版本

    cd \users\john\.netbeans-derby (root of the DB created by Netbeans)
    Java –jar “%derby_home%\lib\derbyrun.jar" server start
    
  6. 将浏览器连接到' localhost:4848'创建JDBC连接池和资源
  7. 连接池:池名称= connectionPool,资源类型= javax.sql.DataSource,数据库驱动程序供应商= Derby,内省未启用(找到很少的文档来解释它是什么) - 第2步保留为默认值 编辑connectionPool - 在General选项卡上启用Ping以识别错误,Additional Properties选项卡:将User更改为DB用户名,将其他属性保留为默认值,添加... password = db password,databaseName = ClubScoring 在提示设置每个属性的方式中呈现错误。没有错误,但是在URL和jdbc:derby:// localhost:1527 / ClubScoring

    下测试了以下步骤

    jdbc资源。添加了jdbc / ClubScoring,pool = connectionPool =>选中并启用

    1. 使用' asadmin start-database'从正确的目录启动数据库让应用程序找到正确的数据库,但它崩溃,因为数据库是使用版本10.11.1.2创建的,并且此命令启动Glassfish版本10.10.2.0
    2. 很抱歉这么长,但我找不到任何地方以简单的方式列出所有步骤,并认为细节可以节省时间。

0 个答案:

没有答案