我编写了一个构建文件,它在某些时候将对象安装到 Sybase 数据库中。
代码由我们的开发人员提供,我不允许修改它。isql
如果使用命令手动运行给定的 SQL ,它可以工作。
这是安装给定对象的构建文件的一部分:
<sql
driver="${db.driver}" url="${db.url}" userid="${db.user}"
password="${db.password}" src="${file}"
print="true" delimiter="go" delimitertype="row"
classpathref="sybase.lib.path" output="${file}.out"
errorproperty="install.failed" onerror="continue" keepformat="true" />
尽管该解决方案在大多数情况下都有效,但每次我尝试运行包含双引号 (") 的脚本时都会失败。
例如,如果 SQL 脚本包含如下内容:
declare @var varchar(30)
set @var = "SOME STRINGS"
它失败并出现错误:
[sql] com.sybase.jdbc3.jdbc.SybSQLException: Invalid column name 'SOME STRINGS'.
有人解决了这个问题吗?
我已阅读Antsql
任务的文档。我正在使用 Ant 1.8.2 版。
我已经使用以下 jdbc 驱动程序进行了测试:
- com.sybase.jdbc3.jdbc.SybDriver
- net.sourceforge.jtds.jdbc.Driver