Они будут разными соединениями. Это стандартная проблема с Grails в том, что у вас может быть только один DataSource.groovy, и поэтому только один связан с GORM. Есть способы обойти это, но в основном это вопрос того, что вам нужно в то время.
Если вы хотите подключиться к совершенно другому источнику данных, вы можете настроить что-то подобное в своем Config.groovy (не совершенное, но достаточно эффективное).
environments {
production {
grails.serverURL = "http://localhost:8080/${appName}"
grails.databaseDriverClassName = "oracle.jdbc.driver.OracleDriver"
grails.databaseURL = "jdbc:oracle:thin:@<servername>:1521:<sid>"
grails.databaseUsername = "<username>"
grails.databasePassword = "<password>"
}
development {
grails.serverURL = "http://localhost:8080/${appName}"
grails.databaseDriverClassName = "oracle.jdbc.driver.OracleDriver"
grails.databaseURL = "jdbc:oracle:thin:@<servername>:1521:<sid>"
grails.databaseUsername = "<username>"
grails.databasePassword = "<password>"
}
test {
grails.serverURL = "http://localhost:8080/${appName}"
grails.databaseDriverClassName = "oracle.jdbc.driver.OracleDriver"
grails.databaseURL = "jdbc:oracle:thin:@<servername>:1521:<sid>"
grails.databaseUsername = "<username>"
grails.databasePassword = "<password>"
}
}
Тогда в службе называют это просто так:
import org.codehaus.groovy.grails.commons.*
class SomeService {
boolean transactional = true
def config = ConfigurationHolder.config
// set up the Sql object
def sql = groovy.sql.Sql.newInstance(
config.grails.databaseURL,
config.grails.databaseUsername,
config.grails.databasePassword,
config.grails.databaseDriverClassName)
Спасибо Я дам, что попробовать. – Andrew