我想写一个shell脚本,以便我可以安排它。
dbisql -nogui -host host1 -port 2740 -c "uid=user;pwd=password"
LOAD TABLE dbname.tablename(col1,...,coln) USING CLIENT FILE ....
主要问题是在第一个命令dbisql
之后,终端变为:
(dbname)>
如果我现在手动运行第二个命令,它可以正常工作。但是shell脚本停止了。如何处理这种情况?
注意:我很熟悉,但这是解决它的唯一方法吗?我想尽可能避免期望将其推广到不同的数据库。
答案 0 :(得分:0)
我有一个解决方法。这是创建另一个(script.sql)文件并将命令加载表复制到它并将该脚本本身作为参数传递给同一命令。
dbisql -nogui -host host1 -port 2740 -c "uid=user;pwd=password" script.sql
要解决原始问题,只需添加退出。但我更喜欢上述方法,因为它更通用。
答案 1 :(得分:0)
我遇到一个问题,当我跑步时:
dbisql -datasource XXXX -q -c "uid=XXXX;pwd=XXXX" D:\script1.txt
它不会执行D:\ script1.txt中编写的SQL脚本,我尝试了各种组合,最后以下方法起作用了,我添加了.exe和-nogui
。希望这会有所帮助:)
dbisql.exe -nogui -datasource XXXX -q -c "uid=XXXX;pwd=XXXX" D:\script1.txt
问候 苏尼尔·陶罗