如何在 Grails 2.4.X 中获取自定义数据源引用?
How can I get a custom datasource reference in Grails 2.4.X?
我需要从 Grails 2.4.5 中的自定义查找数据源查询 SQL。我无法使用投影,因为 SQL 太复杂了。
文档 Grails Docs 没有对这种情况提供任何解释。
我无法在此查找数据库中创建视图或类似结构。
我的DataSource.groovy如下:
development {
dataSource {
dbCreate = "none"
driverClassName = "oracle.jdbc.OracleDriver"
url = "jdbc:oracle:thin:@//XXXXXXX:1521/main-server"
}
lookup {
dbCreate = "none"
driverClassName = "oracle.jdbc.OracleDriver"
url = "jdbc:oracle:thin:@//XXXXXXX:1521/lookup-server"
}
}
我的服务class 我执行查询的地方如下
class MyService {
def dataSource
def index() {
// How can I define lookup datasource?
def sql = new Sql(dataSource.lookup)
def results = sql.rows("SELECT 1 from DUAL");
}
}
你们很亲近。您需要按名称注入数据源,因此您实际上想要 lookup
而不是 dataSource
。在此示例中,我将您的 lookup
数据源重命名为 dataSource_lookup
以便更清楚。
development {
dataSource {
dbCreate = "none"
driverClassName = "oracle.jdbc.OracleDriver"
url = "jdbc:oracle:thin:@//XXXXXXX:1521/main-server"
}
dataSource_lookup {
dbCreate = "none"
driverClassName = "oracle.jdbc.OracleDriver"
url = "jdbc:oracle:thin:@//XXXXXXX:1521/lookup-server"
}
}
class MyService {
def dataSource_lookup
def index() {
// How can I define lookup datasource?
def sql = new Sql(dataSource_lookup)
def results = sql.rows("SELECT 1 from DUAL");
}
}
我需要从 Grails 2.4.5 中的自定义查找数据源查询 SQL。我无法使用投影,因为 SQL 太复杂了。
文档 Grails Docs 没有对这种情况提供任何解释。
我无法在此查找数据库中创建视图或类似结构。
我的DataSource.groovy如下:
development {
dataSource {
dbCreate = "none"
driverClassName = "oracle.jdbc.OracleDriver"
url = "jdbc:oracle:thin:@//XXXXXXX:1521/main-server"
}
lookup {
dbCreate = "none"
driverClassName = "oracle.jdbc.OracleDriver"
url = "jdbc:oracle:thin:@//XXXXXXX:1521/lookup-server"
}
}
我的服务class 我执行查询的地方如下
class MyService {
def dataSource
def index() {
// How can I define lookup datasource?
def sql = new Sql(dataSource.lookup)
def results = sql.rows("SELECT 1 from DUAL");
}
}
你们很亲近。您需要按名称注入数据源,因此您实际上想要 lookup
而不是 dataSource
。在此示例中,我将您的 lookup
数据源重命名为 dataSource_lookup
以便更清楚。
development {
dataSource {
dbCreate = "none"
driverClassName = "oracle.jdbc.OracleDriver"
url = "jdbc:oracle:thin:@//XXXXXXX:1521/main-server"
}
dataSource_lookup {
dbCreate = "none"
driverClassName = "oracle.jdbc.OracleDriver"
url = "jdbc:oracle:thin:@//XXXXXXX:1521/lookup-server"
}
}
class MyService {
def dataSource_lookup
def index() {
// How can I define lookup datasource?
def sql = new Sql(dataSource_lookup)
def results = sql.rows("SELECT 1 from DUAL");
}
}