#java #sql-server-2005 #jdbc #weblogic
#java #sql-server-2005 #jdbc #weblogic
Вопрос:
Я получаю приведенную ниже ошибку при выполнении вызовов JDBC к базе данных. Я использую —
- Microsoft SQL Server 2005
- Weblogic 10
java.sql.SQLException: [SQLState=null][ErrorCode =0] Непредвиденное исключение при подключении XAConnection java.sql.SQLException: Откат транзакции: неизвестная причина в weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1419) в weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1331) в weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java.jta). Источник данных.getConnection (источник данных.java: 426) в weblogic.jdbc.jta.DataSource.connect (источник данных.java:383) в weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:339)
Есть мысли относительно того, почему это происходит? Или любым способом я могу это отладить?
Комментарии:
1. Возможно, констатируя очевидное, но это выглядит как проблема с подключением. Убедитесь, что URI, номера портов, аутентификация и т.д. и т.п. Все в порядке.
2. @Richard: Тройная проверка … : ( Итак, пытаюсь найти способ, как я могу отладить проблему.
3. Проверьте это: forums.oracle.com/forums /… а также это: cn.forums.oracle.com/forums/… Может быть, это помогает…
4. WebLogic позволяет протестировать соединение из консоли администрирования. Сообщается ли о каких-либо исключениях при выполнении этого теста?
5. @Vineet Reynolds: Тестовое подключение отлично работает с консоли администратора weblogic
Ответ №1:
Немедленная мысль: проверьте, используете ли вы правильный драйвер JDBC. Часть «XA» вашего соединения указывает на то, что ваш вызов пытается присоединиться к распределенной транзакции — возможно, это не поддерживается вашей версией weblogic / SQLServer 2005.
(В противном случае, если вы пишете свои собственные вызовы базы данных с помощью драйвера JDBC, убедитесь, что вы не используете драйвер «XA», если вам не нужны функции распределенных транзакций.)
Ответ №2:
Я нашел проблему. В моем коде был бесконечный цикл, который вызывал утечку соединения.