Liquibase:执行SQL SET DEFINE OFF时出错



我正在使用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作为传递非标准字符的最佳方式。了解更多信息。

最新更新