语境
我们正在更改我们的安装脚本以使用 ant 的“sql”任务和 jdbc,而不是专有的 sql 客户端 sqlplus (oracle) 和 osql (msft)。
更新:添加了更多上下文。我们的“基础数据”(种子数据)由一组 .sql 文件组成,这些文件包含“供应商中立”(即在 oracle 和 mssql 中都可以使用)sql 语句。
问题
脚本运行良好,但有一个例外:
此 sql 在 Oracle 中失败。具体来说,某些东西(ant 或 jdbc 驱动程序)将破折号/连字符视为“注释的开头”——即使它们嵌入在字符串中。请注意,相同的 sql 可以与 ant/sql 和 microsoft 的 jdbc 驱动程序一起正常工作。
INSERT INTO email_client (email_client_id,generated_reply_text) VALUES(100002,'----- Original Message -----');
相关错误
这个蚂蚁错误似乎可以识别问题。由于它仍然开放(8 年后),我不希望很快修复。但是,由于该问题仅出现在 oracle 中,因此可能出在驱动程序上。
oracle驱动:jdbc瘦驱动,版本10.2.0.1.0
问题
有没有人有在 mssql 和 oracle 中都可以使用的解决方法?(例如更改违规行以定义转义字符?我在“插入”sql92 语法上没有看到“转义”)
谢谢