我正在使用liquibase执行oracle脚本。这个oracle脚本,正在为oracle执行合并语句,这很好,但问题是我需要插入的数据有奇怪的字符,所以为了工作,我们使用SET DEFINE OFF(在文件开头)和SET DEFINE ON(在文件结尾)来避免错误。
但是,如果我试图在liquiBase中运行相同的脚本,但它不起作用,我会收到以下错误:
Liquibase Update Failed: Error executing SQL SET DEFINE OFF
我的变更日志如下:
<changeSet author="e-ballo" id="nopa_data_email" dbms="oracle" >
<sqlFile path="email/NOPA_ACTIVATE_SECURITY.sql" relativeToChangelogFile="true" splitStatements="true" stripComments="true" />
有人知道如何避免这个问题吗?
提前感谢
SET DEFINE
不是SQL,而是一个SQL*Plus命令。SQL*Plus是Oracle专有客户端,大多数其他客户端(如IDE)无法识别其命令。
Liquibase论坛建议使用CDATA作为传递非标准字符的最佳方式。了解更多信息。