微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决调用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 举报,一经查实,本站将立刻删除。