将应用程序从mysql迁移到oracle后出现错误
问题描述:
我们正在使用grails和groovy,最近更改了从MySQL到Oracle 11g的数据库。我们关注了像USER,RESOURCE这样的表名,使其成为其他内容,重新映射了域类中的新名称。将应用程序从mysql迁移到oracle后出现错误
我还在mysql表中为角色添加了一些默认数据(用于spring安全性),并在GRAUSER表中手动插入了一个用户'admin'(从USER重命名)。 服务器并启动Netbeans中
但是,当我尝试登录我收到以下错误
ERROR util.JDBCExceptionReporter ORA-00904: “这_”, “密码”:无效的标识符
无法调试此原因。让我知道是否需要更多的细节/代码来审查,但我需要能够登录到应用程序。
答
你可以发布你的DataSource.groovy文件吗?下面大概是我的连接到Oracle的样子。
dataSource {
logsql = true
pooled = true
driverClassName = "oracle.jdbc.OracleDriver"
username = "user"
password = "secret"
dialect='org.hibernate.dialect.Oracle10gDialect'
}
environments {
development {
dataSource {
//dbCreate = "create-drop" // one of 'create', 'create-drop','update'
url = "jdbc:oracle:thin:@server:1521:sid"
}
}
}
这将有助于查看导致错误的域对象的类定义和模式。 – ataylor 2012-01-05 22:48:13
嗨,实际上发现了这个问题,在用户静态映射的域类= {表GRAUSER' 密码列:''密码'' }。密码后面的嘀嗒声(')是问题所在,不知道为什么它之前存在,删除它并能够登录... – 2012-01-06 00:13:00
@pri_dev您应该将其作为答案发布。另外,请不要签署每个帖子。 – Sathya 2012-01-06 05:48:49