我使用Spock和Groovy来测试我的应用程序。我需要在运行每个测试之前运行ddl脚本。 要执行脚本在Groovy我使用下面的代码:从Groovy中的文件运行ddl脚本
def scriptToExecute = './src/test/groovy/com/sql/createTable.sql'
def sqlScriptToExecuteString = new File(scriptToExecute).text
sql.execute(sqlScriptToExecuteString)
的createTable.sql是一个复杂的脚本,做一些降和创建操作(当然是多)。当我试着执行它时,我得到了以下异常:
java.sql.SQLSyntaxErrorException:ORA-00911:无效字符
注意到,因为它已被确认在同一个运行它的DDL是正确的DB,我连接groovy。
任何想法如何解决这个问题?
在ddl语句中是否有尾随';'? [看到这个答案](http://stackoverflow.com/a/10728434/6730571) –
https://www.techonthenet.com/oracle/errors/ora00911.php – Rao
@HuguesMoreau我明白,是问题,但如果我不使用;之间2创建语句然后我得到:java.sql.SQLSyntaxErrorException:ORA-00922:丢失或无效的选项 – Jack