以shell方式执行sql脚本总是不成功的一则原因

本文介绍了一个关于Sybase数据库中使用shell脚本执行SQL脚本的问题及解决过程。问题表现为shell脚本执行时无法在日志中显示输出信息,经过排查发现是因为SQL脚本的格式问题,通过将脚本从DOS格式转换为Unix格式后问题得到解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值