Impossible de l'insert dans MSSQL via l'application grails

Je n'arrive pas à get une application Grails simple pour faire une insertion dans ma table via un user que j'ai créé, même si j'ai été capable d'exécuter la requête dans SQl Management Studio.

J'ai cette erreur:

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 (?, ?, ?, ?, ?)]; 

Je suis capable d'exécuter la requête ci-dessus dans le studio de gestion sans aucune erreur.

Voici ma configuration Grails, bien que le problème semble être du côté du server 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" } 

J'ai également placé le jtds-1.3.1.jar dans "lib" (si je peux comprendre cela, Ill probablement passer à une dépendance maven) et placé une string d'exécution dans buildconfig.groovy.

  dependencies { runtime 'net.sourceforge.jtds:jtds:1.3.1' } 

Voici ma tentative de donner à "tester2" tous les access:

entrez la description de l'image ici

entrez la description de l'image ici

entrez la description de l'image ici

entrez la description de l'image ici Je ne sais pas quoi d'autre à essayer. Il semble que j'ai donné à cet user un access illimité, donc je ne suis pas sûr d'où viennent ces problèmes de permission.

    J'ai remarqué que vous ne spécifiez pas le nom de la database dans votre file conf.

    Voici à quoi ressemble le mien:

     dataSource { url = "jdbc:jtds:sqlserver://server1:1433;databaseName=MyDbName" username = "user" password = "*******Pass" // logSql=true } 

    Assurez-vous également que le mappage user a été configuré dans le niveau Sécurité au niveau du server et pas uniquement sous la security au niveau de la database.

    Je n'ai pas regardé assez attentivement les permissions. J'ai vérifié "db_denydatareader" et "db_denydatawriter". Très simple…