Tôi đang tạo một ứng dụng trong grails mà nên đọc từ một cơ sở dữ liệu và ghi vào cơ sở dữ liệu khác. Tôi đã tạo datasources.groovy cho yêu cầu này và đã cài đặt plugin datasources. Tuy nhiên, tôi bị mắc kẹt tại cách sử dụng nguồn dữ liệu này khi thực hiện truy vấn sql (chọn * từ ........ v.v.).Sử dụng hai cơ sở dữ liệu cho một ứng dụng trong grails
Ví dụ: Dưới đây là cách tôi chạy truy vấn trong hành động của mình. Tôi đang sử dụng truy vấn được tùy chỉnh và không sử dụng gorm.
EDITED:
class TuneController {
def dataSource_ds2
def list = {
String nameSql = "select name from emp where id=3345"
Sql sql = new Sql(dataSource_ds2)
String name = sql.rows(nameSql)
println(name)
}
}
Trong trường hợp trên, datasources không được đọc và có một giá trị null. Có sẵn mã mẫu nào cho yêu cầu này không.
Tôi có thiếu gì đó ở đây không?
CHỈNH SỬA:
Mục nhập Datasources.groovy của tôi như sau.
datasources = {
datasource(name:'ds2') {
domainClasses([com.Tune])
readOnly(true)
driverClassName('oracle.jdbc.driver.OracleDriver')
url('jdbc:oracle:thin:@test-ofr.wellmanage.com:1521:OFRS1')
username('test')
password('test')
environments(['development'])
dbCreate('do-not-bother')
logSql(true)
dialect(org.hibernate.dialect.Oracle10gDialect)
hibernate {
cache {
use_second_level_cache(false)
use_query_cache(false)
}
}
}
}
Có quan điểm của bạn. Đã chỉnh sửa mã của tôi theo đề xuất của bạn. Vui lòng kiểm tra mã đã chỉnh sửa của tôi. Tên nguồn dữ liệu của tôi là ds2. Bây giờ tôi đã xác định nguồn dữ liệu của mình là def dataSource_ds2. Các tùy chọn khác def ds2 Vẫn nhận được cùng một lỗi "Phải chỉ định kết nối không null". Tôi có thiếu gì đó không? – MAlex
Bạn có nghĩ rằng một số vấn đề với cách tôi đã viết dataSource của tôi – MAlex
@ Burt: Cảm ơn sự giúp đỡ của bạn. Câu trả lời này và plugin tuyệt vời của bạn xứng đáng được bỏ phiếu một cách chắc chắn – MAlex