Grails groovy sql没有找到适合jdbc:postgresql的驱动程序

时间:2017-07-25 19:54:55

标签: postgresql grails

我想在Grails 2.4服务中使用groovy.sql创建动态连接但是抛出运行时异常没有为jdbc找到合适的驱动程序:postgresql: 这是服务代码:

import java.util.Date;
import java.util.Formatter.DateTime
import java.util.prefs.BackingStoreException;
import java.text.DateFormat
import java.text.SimpleDateFormat
import javax.sql.DataSource
import grails.transaction.Transactional
import groovy.sql.Sql
import groovy.time.TimeCategory

@Transactional
class IdentificacionService {
    def dataSource_identificaciones
    def getPersonaIdentificaciones (String cedula) {
        String padded = "0000000".substring(cedula.length()) + cedula
        def conf = Configuracion.findByActivo(true)
        def db = [url:conf.urlIdentificaciones, user:conf.usuarioIdentificaciones,
             password:conf.contrasenaIdentificaciones,driver:"org.postgresql.Driver"]
        def sql = groovy.sql.Sql.newInstance(db.url,db.user,db.password,db.driver)
        def rows = sql.rows("SELECT * from persona where personas.cedula = ?", padded)
        def row = rows.pop()
        def genero = 'N/A'
        if (row.sexo == 'M') genero = "Masculino"
        if (row.sexo == 'F') genero = "Femenino"
        def persona = new Persona(cedula:row.cedula, nombre: row.nombres, apellido: row.apellidos,
            fechaNacimiento: row.fecha_nacimiento,sexo:genero,nacionalidad:row.nacionalidad,ciudad:row.lugar_nacimiento)        
        sql.close()
        return persona
    }
}

我尝试调用dataSource服务并将其放在groovy.sql.Sql.newInstance(dataSource_identifiaciones)中并且它可以工作,但数据源无法在运行时更改。驱动程序实际上在lib文件夹中,但我想buildConfig.groovy在刷新依赖项后添加了驱动程序。 如果存在创建动态连接字符串的另一种方法,请让mi知道

0 个答案:

没有答案