【问题标题】:Connection Pool Object from Websphere Application Server来自 Websphere Application Server 的连接池对象
【发布时间】:2013-12-06 11:59:33
【问题描述】:

我正在尝试使用 Websphere Application Server 8.5 中的连接池对象和 Derby 数据库连接到我的数据源。 这是我在 Enterprise Jave 项目中编写的 TestCode。 但我得到了下面提到的异常:

java.sql.SQLSyntaxErrorException:模式“TESTCONN”不存在 在 org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(未知来源) 在 org.apache.derby.impl.jdbc.Util.generateCsSQLException(未知来源) 在 org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(未知来源) 在 org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(未知来源) 在 org.apache.derby.impl.jdbc.EmbedConnection.handleException(未知来源) 在 org.apache.derby.impl.jdbc.ConnectionChild.handleException(未知来源) 在 org.apache.derby.impl.jdbc.EmbedStatement.execute(未知来源) 在 org.apache.derby.impl.jdbc.EmbedStatement.executeQuery(未知来源) 在 org.apache.derby.iapi.jdbc.BrokeredStatement.executeQuery(未知来源) 在 com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.executeQuery(WSJdbcStatement.java:1017) 在 dbConnect.TestClass.select(TestClass.java:43) 在 dbConnect.TestClass.main(TestClass.java:19)

我在 Websphere 应用程序服务器中创建了一个数据源,并且连接工作正常。

使用 DriverManager 连接到数据源可以正常工作。但是,使用 Context(在上面的共享代码中)建立了连接,但它说 Schema 不存在。看来 jndi 名称为空。 WAS 或 Java 项目中是否有任何设置需要更改或添加?

自从一周以来,我一直在努力解决这个问题。期待帮助。 提前致谢。

【问题讨论】:

  • 在获取连接时尝试使用架构的确切名称。
  • 谢谢。我将查询更改为“SELECT * FROM TESTCONN.TESTTABLE”,但再次遇到相同的错误。 java.sql.SQLSyntaxErrorException:模式“TESTCONN”不存在。
  • 你能提供你配置的资源的详细信息(url)吗?
  • 这是数据库 url jdbc:derby://localhost:1527/testconn;user=testconn;password=testconn。您需要更多信息吗?
  • 主要问题是连接池提供的数据库句柄与ij交互工具中的数据库不同。这是由于端口号不同(2809 而不是 1527)吗?我错过了什么吗..

标签: java websphere database-connection connection-pooling


【解决方案1】:

您的数据库中是否有具有该名称的架构?见http://db.apache.org/derby/faq.html#schema_exist

【讨论】:

  • 我使用 ij 工具在位置 C:/derby/bin/networkServer 检查了架构,它说架构是 TestConn,表是 TestTable。主要问题是连接池提供的数据库句柄与通过 ij 工具显示的数据库不同。我是否缺少任何配置?
  • 从错误消息看来,您仍然可以连接到数据库,否则您不会收到该错误。您的机器上是否有可能运行多个数据库实例?
  • 是的,代码连接到数据库,但错误出现在选择查询中,它说架构不存在。不,只有一个数据库实例在运行。当为上述代码创建表时,我可以访问它。但是现有的无法访问。期待帮助。谢谢。
  • 您在创建表时使用的用户凭据是否与访问它们时相同?
  • 是的,Daniel,正如您之前所问的,有 derby 数据库实例正在运行。
【解决方案2】:

问题是缺少一个 jar 文件 (com.ibm.we.admin.client...)。 还有两个 derby 数据库实例正在运行。 谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    • 2016-11-16
    • 2012-09-25
    • 1970-01-01
    相关资源
    最近更新 更多