求助! 要用shell脚本读取数据库表中的一个字段做if判断然后执行bcp或者脚本,请帮我看看应该怎么做。谢谢

雁过铩羽 2012-07-26 03:43:42
代码就是这些一直不能执行不知道是哪里的原因。
#!/bin/sh
#test.sh
/home/sybase/.profile
source /home/sybase/SYBASE.sh
SYBASE_HOME=/home/sybase
export SYBASE_HOME

isql -Usa -P -SML_TEST_SRV <<END

declare @Nrows char(10)
use lls
go
select @Nrows=DGZHGET from lls_action where ID='1'

if [ $Nrows -eg '1']
then
bcp lls..dgzhtxt in /home/gdt/GDT_HOME/liulongsheng/llsshuju/dgzh.txt -c -Usa -P -SML_TEST_SRV
exec intable
Nrows='0'
fi
END
...全文
356 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
雁过铩羽 2012-07-27
  • 打赏
  • 举报
回复
已经处理了,是取值的时候的问题,谢谢。
雁过铩羽 2012-07-27
  • 打赏
  • 举报
回复
#!/bin/bash
/home/sybase/.profile
source /home/sybase/SYBASE.sh
SYBASE_HOME=/home/sybase
export SYBASE_HOME
export LANG=C

NDATE=`/home/sybase/OCS-12_5/bin/isql -Usa -SML_TEST_SRV -P <<!
use lls
go
declare @Nrows char(10)
set nocount on
select @Nrows=DGZHGET from lls_action where ID='1'
print @Nrows
go
exit
!
`
while [ "1" = "1" ]
do
sleep 2
if [ $NDATE -eq '1' ];
then
bcp lls..dgzhtxt out /home/gdt/GDT_HOME/liulongsheng/llsshuju/dgzh.txt -c -Usa -P -SML_TEST_SRV
fi
done
nicenight 2012-07-27
  • 打赏
  • 举报
回复
有报错信息么?有的要贴出来。
雁过铩羽 2012-07-26
  • 打赏
  • 举报
回复
好像是数据库表取值和if语句方面的问题,我换了其他的也不能执行。sh -x看不懂。。。
Linux-Torvalds 2012-07-26
  • 打赏
  • 举报
回复
用sh -x调试看看。

23,116

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧