【发布时间】: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