Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 域类映射:数据源不工作_Oracle_Grails_Gorm_Ggts - Fatal编程技术网

Oracle 域类映射:数据源不工作

Oracle 域类映射:数据源不工作,oracle,grails,gorm,ggts,Oracle,Grails,Gorm,Ggts,我需要将以下域类映射到特定的数据源(oracle),而我的所有其他域类都映射到默认的数据源(mysql,它工作得非常好) 我的编辑器是GGTS,正如您所注意到的,映射中的“datasource”带下划线,好像它不是映射中的有效属性: 我还构建了一个简单的控制器: class AccountWfmController { def index() { render AccountWfm.list() as JSON } } 尝试调用控制器方法index时,出现以下异

我需要将以下域类映射到特定的数据源(oracle),而我的所有其他域类都映射到默认的数据源(mysql,它工作得非常好)

我的编辑器是GGTS,正如您所注意到的,映射中的“datasource”带下划线,好像它不是映射中的有效属性:

我还构建了一个简单的控制器:

class AccountWfmController {
    def index() {
        render AccountWfm.list() as JSON
    }
}
尝试调用控制器方法
index
时,出现以下异常:

java.lang.IllegalStateException

类[mypackage.AccountWfm]上的方法在外部使用 Grails应用程序。如果在使用 正确模拟API或引导Grails

最后是我的数据源(注意:在我的
/lib
文件夹中,我有
ojdbc6.jar
):

关于这里发生了什么(Grails 2.4.3)有什么提示吗


谢谢

请查看上的Grails文档。请密切注意数据源的名称是如何获得的。您会注意到,由于Grails是基于约定的,因此命名约定是:
dataSource\u extraname here
其中您的
映射将使用
extraname here

以你为例:

dataSource_wfm {
    pooled = true
    dialect = org.hibernate.dialect.Oracle10gDialect
    driverClassName = 'oracle.jdbc.OracleDriver'
    username = "username"
    password = "password"
    url = "jdbc:oracle:thin:@192.168.1.1:1521:SID"
    dbCreate = '' //none, I have readonly access
}
在域类中,映射应该如下所示:

static mapping = {
  datasource = 'wfm'
}

希望这有助于了解Grails中多个数据源的功能。该文档也是一个很好的信息来源。

请查看上的Grails文档。请密切注意数据源的名称是如何获得的。您会注意到,由于Grails是基于约定的,因此命名约定是:
dataSource\u extraname here
其中您的
映射将使用
extraname here

以你为例:

dataSource_wfm {
    pooled = true
    dialect = org.hibernate.dialect.Oracle10gDialect
    driverClassName = 'oracle.jdbc.OracleDriver'
    username = "username"
    password = "password"
    url = "jdbc:oracle:thin:@192.168.1.1:1521:SID"
    dbCreate = '' //none, I have readonly access
}
在域类中,映射应该如下所示:

static mapping = {
  datasource = 'wfm'
}

希望这有助于了解Grails中多个数据源的功能。文档也是一个很好的信息来源。

感谢Joshua的回答。这个问题确实与命名约定“datasource_extraName”有关,在阅读有关多个源的文档时,我确实错过了这个约定。非常欢迎您。我很高兴这只是一个疏忽。在学习圣杯时有很多东西需要学习,但我们从错误中学习。我之所以记得这一点,是因为当多个数据源支持被添加到Grails中时,我是多么激动。感谢Joshua的回答。这个问题确实与命名约定“datasource_extraName”有关,在阅读有关多个源的文档时,我确实错过了这个约定。非常欢迎您。我很高兴这只是一个疏忽。在学习圣杯时有很多东西需要学习,但我们从错误中学习。我之所以记得这一点,是因为当多个数据源支持被添加到Grails中时,我是多么激动。