【发布时间】:2014-04-18 09:10:10
【问题描述】:
我的程序遇到了一个奇怪的问题,即在我的程序中遇到了一个特定的数据库,我会尽力解释它。
我们有一个使用 WebSphere 数据池连接到数据库的 Web 应用程序。我们使用该连接连接到同一数据库服务器中的其他数据库。此时一切正常。我创建了一个创建报告的 servlet,因此它必须对各种数据库运行多个查询。它运行得又快又快,但是当它到达第 4 个 DB 时,它停止并且连接挂起。我进入数据库服务器活动监视器,在那里我看到它创建了几个线程,一些正在运行,一些被暂停。当我杀死其中一个时,我的程序会返回并为该迭代出错并继续。它会在击中特定 DB 时继续执行此操作,一旦完成并继续前进,它会毫无问题地执行下一个 3 DB。
我查看了该数据库的属性并将其与其他数据库进行了比较,但我没有发现任何不同之处。有人可以指出我正确的方向来确定这个数据库的问题吗?
更新 - 这是活动监视器的屏幕截图:
【问题讨论】:
-
它在这个数据库上做了什么?
-
在挂起的数据库上?它就在那里,活动监视器显示了几个正在运行和暂停的进程。我将发布活动监视器的屏幕截图。
-
你从你的 servlet 在这个数据库上运行什么?
-
这是一个带有一些连接的简单选择语句。要使用我正在连接的数据库中的其他数据库,我会在 sql 语句中附加“dbname..tableName”。除此之外,我使用标准的 Java 东西从 jdbc 数据源获取连接,然后使用 PreparedStatement 和 ResultSet。
-
您的意思是您的查询使用了其他数据库的资源吗?会不会有锁问题?
标签: java sql-server servlets jdbc