2013-12-20 2 views
0

Я использую groovy для подключения к базе данных, и он отлично работает с одним из моих источников. Недавно у меня есть доступ к другой базе данных, но я могу подключиться к ней с помощью Groovy.Предотвращение таймаута при подключении

я получаю ошибку (ы):

20 декабря, 2013 12:22:26 PM org.codehaus.groovy.runtime.StackTraceUtils дезинфицировать

ВНИМАНИЕ: Санобработка StackTrace:

оракул .net.ns.NetException: Сетевой адаптер не смог установить соединение

Есть ли способ продлить соединение, чтобы не было времени?

def db = Sql.newInstance(
    'jdbc:oracle:thin:@10.10.18.75:1521:radd', 
    'report_user', 'createreport', 'oracle.jdbc.pool.OracleDataSource') 
+0

Можете ли вы подключиться к одной машине с другим клиентом? Ошибка вашего сообщения не похожа на тайм-аут, но проблема с подключением (например, недоступный хост db) – topr

ответ

2

Согласно Groovy API для newInstance Вы должны быть в состоянии передать в свойствах пар ключ-значение и для Oracle использовать свойство ConnectionWaitTimeout.

Защиту С.Т. = Sql.newInstance ( URL: ': оракул JDBC: тонкий: @ 10.10.18.75: 1521: радд', пользователь: 'report_user', пароль: 'createreport', driverClassName: «оракул .jdbc.pool.OracleDataSource ', connectionWaitTimeout: 10)

+0

Но как экземпляр java.util.Properties, а не String. Groovy casting является изменчивым, но он не сможет использовать String как свойства, не так ли? – topr

+0

Согласно документам, для этого это просто строка. Также я обновил пример, чтобы быть правильным. Я не видел заметки об использовании свойств и способах использования имени пользователя/пароля. –

+0

Не могли бы вы указать мне на определенную часть документов? У меня есть источники класса Sql прямо передо мной (Groovy 2.1.7), и нет метода с параметром named properties, а не типа Properties. – topr

Смежные вопросы