我想在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知道