SQl管理スタジオで問題なくクエリを実行できたにもかかわらず、作成したユーザーを介して単純なgrailsアプリケーションでテーブルに挿入することはできません。
次のエラーが表示されます。
The INSERT permission was denied on the object 'mini_user', database 'Mini_test', schema 'dbo'
InvalidDataAccessResourceUsageException: could not insert: [com.grailsinaction.MiniUser]; SQL [insert into mini_user (version, date_created, password, profile_id, user_id) values (?, ?, ?, ?, ?)];
エラーなしで管理スタジオで上記のクエリを実行できます。
これが私のGrails構成ですが、問題はSQLサーバー側にあるようです。
dataSource {
pooled = true
driverClassName = "net.sourceforge.jtds.jdbc.Driver"
dialect = "org.hibernate.dialect.SQLServerDialect"
}
test {
dataSource {
url = "jdbc:jtds:sqlserver://127.0.0.1:1433/Mini_test;instance=SQLEXPRESS;user=tester2;password=tester2"
}
また、jtds-1.3.1.jar を「lib」に配置し (これを理解できれば、おそらく Maven 依存関係に切り替えます)、ランタイム文字列を buildconfig.groovy に配置しました。
dependencies {
runtime 'net.sourceforge.jtds:jtds:1.3.1'
}
「tester2」にすべてのアクセスを許可する試みは次のとおりです。
他に何を試すべきかわかりません。そのユーザーに無制限のアクセスを許可したように見えるので、これらの権限の問題がどこから来ているのかわかりません。