0

我使用以下命令以通常的方式启动了我的应用程序,grails -Dgrails.env=local run-app -https但今天我遇到了一个独特的错误 - TNS:listener: all appropriate instances are in restricted mode。我发现有关此错误的信息是数据库已从此处以受限模式启动。我所有的datasource.groovy都是这样的:

local {
        dataSource {
            dbCreate = "create-drop" // one of 'create', 'create-drop', 'update', 'validate', ''
            url = "jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
        }
    }

你能帮我弄清楚可能是什么问题吗?如果您需要更多信息,我可以附上日志文件。

4

1 回答 1

0

这不是 Oracle JDBC URL,而是 H2 URL。我假设您在顶级dataSource块中指定了 Oracle 驱动程序和/或方言,这就是它开始与 Oracle 对话的原因。将 URL 更改为有意义的 URL(例如url = "jdbc:oracle:thin:@localhost:1521:orcl",或您知道在 Grails 之外工作的其他 URL)。

您可能不想使用create-drop,除非这是一个新架构或您拥有的架构。如果它是您尝试连接和使用但未更改的现有数据库,请使用除;dbCreate中列出的值之一以外的任何值。DataSource.groovy我的偏好是dbCreate = "none"因为它可以让 Hibernate 不尝试删除、创建或更新任何东西,而且它是自我记录的。

于 2014-12-02T19:33:29.480 回答