2013-09-27 1 views
1

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

unable to resolve class oracle.jdbc.driver.OracleTypes 
at line: 5, column: 1 

Я использовал следующий код

import java.sql.Connection 
import java.sql.DriverManager 
import javax.sql.DataSource 
import groovy.sql.Sql 
import oracle.jdbc.driver.OracleTypes 

sql = Sql.newInstance("jdbc:oracle:thin:@localhost:1521:databasename", 
       "username", "password", "oracle.jdbc.OracleDriver") 

Если я удалить import oracle.jdbc.driver.OracleTypes заявления я получаю следующее WARNING: Sanitizing stacktrace: Незлое помочь мне как решить эту проблему, у меня есть место ojdbc14.jar в папке lib.

ответ

4

Удалите весь ненужный импорт и класс водителя от newInstance вызова следующим образом:

import groovy.sql.Sql 

sql = Sql.newInstance("jdbc:oracle:thin:@localhost:1521:databasename", "username", "password") 

выше достаточно, и работает очень хорошо для меня, но я использую ojdbc6-11.2.jar

На самом деле зависит от того, используете ли вы SID или имя службы Последняя точка с запятой на URL JDBC, возможно, потребуется изменить для косой черты.

+1

Спасибо, что напомнили мне проверить ';' или '/'. Мне пришлось использовать '/' для моего имени службы БД. – Kayhadrin

0

У меня было несколько вопросов, связанных с Groovy и Oracle.

Я попытался схватить ojdbc14.jar используя

https://mvnrepository.com/artifact/com.oracle/ojdbc14/10.2.0.3.0

// https://mvnrepository.com/artifact/com.oracle/ojdbc14 
@Grapes(
    @Grab(group='com.oracle', module='ojdbc14', version='10.2.0.3.0') 
) 

, но он не нашел файл.

Я скопировал ojdbc14.jar из моего каталога клиентов Oracle в% GROOVY_HOME% \ lib, и он работал как шарм. Я уверен, что вы можете загрузить ojdbc14.jar из Интернета, если у вас нет установленного Oracle SQL Client.

копия C: \ DevSuiteHome_1 \ JDBC \ Lib \ ojdbc14.jar C: \ заводной-2.4.11 \ Lib

url= "jdbc:oracle:thin:@localhost:1521:SID" 
username = "un" 
password = "pw" 
driver = "oracle.jdbc.driver.OracleDriver" 

// Groovy Sql connection test 
import groovy.sql.* 
sql = Sql.newInstance(url, username, password, driver) 
try { 
    sql.eachRow('select sysdate from dual'){ row -> 
    println row 
} 
} finally { 
    sql.close() 
} 

Надежда, что помогает.