1

我有一个包含多个 SQL 查询的文件。

我可以通过 isql 以某种方式运行它们吗(我正在从 Bash 脚本调用,所以无法访问 Perl DBI 或 JDBC)

我尝试将它们通过管道传递到 isql 命令中,echo /my/file | isql -my-other-parameters但这没有用。

4

3 回答 3

0

是的。

  • 如果您在交互模式下运行 ISQL,则可以使用提示符下的:r my-filename命令加载文件的全部内容>

  • 从 Bash 脚本中,也可以这样做 - 但您需要仔细确保

    1. 您输入的 SQL 文件go末尾有一条语句。这是您提到的问题的一个非常常见的原因。

    2. 该语句后面有一个换行符。

    从脚本中,您可以通过两种方式进行:通过管道/重定向传递 STDIN;或者,通过 isql 的-i参数传入文件名

于 2015-01-02T04:10:37.617 回答
0

就我而言,它是isq -n为了让管道查询起作用。

于 2017-03-21T18:49:01.917 回答
0
isql -U $DB_USR -P $DB_PWD -S $DB_PATH -D $DB_NAME -w 500 < $FILE
于 2017-08-14T15:21:53.757 回答