Je travaille avec Spock et Groovy afin de tester mon application. Je devrais lancer un script ddl avant de lancer chaque test. Pour exécuter le script à partir Groovy je suis en utilisant le code suivant:Exécuter le script ddl à partir du fichier dans Groovy
def scriptToExecute = './src/test/groovy/com/sql/createTable.sql'
def sqlScriptToExecuteString = new File(scriptToExecute).text
sql.execute(sqlScriptToExecuteString)
Le createTable.sql est un script complexe qui ne plusieurs goutte et opération de création (de celui-ci est bien sûr multiligne). Lorsque je tente de l'exécuter, je suis l'exception suivante:
java.sql.SQLSyntaxErrorException: ORA-00911: caractère non valide
À noter que le ddl est correct depuis qu'il a été vérifié en cours d'exécution sur le même DB que je connecte avec groovy.
Une idée Comment résoudre le problème?
Avez-vous un ';' fin dans les instructions de votre ddl? [Voir cette réponse] (http://stackoverflow.com/a/10728434/6730571) –
https://www.techonthenet.com/oracle/errors/ora00911.php – Rao
@HuguesMoreau Je comprends cela; est le problème mais si je n'utilise pas; entre 2 créer une déclaration alors je reçois: java.sql.SQLSyntaxErrorException: ORA-00922: option manquante ou invalide – Jack