shell脚本:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#!/bin/sh
. /opt/sybase/SYBASE.sh
isql -S<server_name> -Usa -P<sa_passwd> < input.sql > test_sybase.log
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
input.sql脚本:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
USE master
go
disk init
name = 'test',
physname='/opt/sybase/data/test.dat',
size='12m'
go
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
test_sybase.log日志无任何回显,sybase的server_name.log文件也没有任何回显,手动执行sql脚本是成功的。
一开始没头绪,心想见鬼了,早上起床后头脑清晰,继续捣鼓,马上发现原来是sql的脚本是DOS格式,转换为Unix格式后立马OK!
本文介绍了一个关于Sybase数据库中使用shell脚本执行SQL脚本的问题及解决过程。问题表现为shell脚本执行时无法在日志中显示输出信息,经过排查发现是因为SQL脚本的格式问题,通过将脚本从DOS格式转换为Unix格式后问题得到解决。
581

被折叠的 条评论
为什么被折叠?



