调用sql脚本的shell脚本——将isql指令转换为sqlcmd指令

问题描述

我们正在将一些 shell 脚本从 unix 迁移到 linux,我们绝对是新手。 一些脚本调用 slq 脚本,其中包含对我们正在迁移到 sql server 数据库的 syabase 数据库的操作说明,因此我们也在重写这些 sql 脚本。 我们新的 shell 脚本直接调用 sqlcmd 命令,并且已经传递了存储在环境变量中的数据库服务器、数据库名称用户和密码:

sqlcmd -S $SERVER_DB -d $NAME_DB -U $USER_DB -P $PASSW_DB < /home/scripts/update_data.sql

但是在我们需要转换的每个sql脚本的第一行,我们发现了类似的语句:

isql -U$DBUSER -P$DBPASSWD  -w  80<< EOF|grep -v "return status" >>/usr/local/abc/ABC.txt   

也许是因为某些用户认设置了到 syabase 数据库的某个连接,所以将 isql 命令的调用放在 sql 文件的第一行只传递用户和密码就足够了,但在我们的在使用 sqlcmd 的情况下,我们已经直接在 shell 脚本中传递了所有内容,因此没有必要在 sql 脚本的第一行再次调用 sqlcmd 命令。 那么我们应该写什么来代替 isql 调用,但保留将输出重定向到 ABC.txt 文件的部分? 提前致谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)