2014-08-29 7 views
0

나는 오라클을 사용하는이 프로젝트에서 서비스가있다 (4) (4.3.5.4)Grails를 2.4.2로 java.sql.Connection 객체

최대 절전 모드 사용 2.4.2에 Grails를 2.2.3에서 내 프로젝트를 업그레이드 한 공간 쿼리 및 프로세스를 사용하여 결과를 생성합니다. STRUCT OBJ = JGeometry (기하 구조, 연결)

가 어떻게 최대 절전 모드 4에서 java.sql.Connection의 객체를 얻을 수 있습니다 : 오라클 STRUCT에 오라클 JGeometry 객체를 변환

작업에 대한 데이터베이스 연결 객체를 필요로?

답변

0

에 관심있는 사람들을위한, 내가 서비스 내에서 다음 호출하여 문제를 해결 한 :

/** 
* createConnection creates a database connection using the java.sql.DriverManager 
* The parameters used to make the connection are taken from the current session 
* @return java.sql.Connection object 
*/ 
Connection createConnection(){ 

    oracle.jdbc.OracleConnection cnx = null 
    try { 
     sessionFactory?.currentSession?.doWork new Work(){ 
      void execute(Connection c){ 
       //convert the com.sun.proxy.$Proxy<nn> connection to Oracle 
       cnx = c.unwrap(oracle.jdbc.OracleConnection.class) 
      } 
     } 

     return cnx 

    } 
    catch (SQLException sqle){ 
     RIMS.ConnectionService.log.error "Error in createConnection: ${sqle.message}" 
    } 
    return null 
} 

또한 추가 :

import org.hibernate.jdbc.Work 

def sessionFactory 

를 주입 sessionFactory 빈.

이 코드는 dataSource.groovy 파일이없는 플러그인에 포함되어 있으며 프로젝트에서 잘 작동합니다.