linux shell 执行sql

在shell下执行oracle数据库的sql

####	函数
####	说		明:执行sql语句
####	输入参数:{sql语句}{数据库tns}{数据库用户名}{数据库用户密码}
####  输出参数:sql执行结果
function exe_sql
{
sql=$1
oracle_sid=$2
user_name=$3
user_pwd=$4
error_code=`
sqlplus -S -L /nolog<<EOF
connect $user_pwd/$user_pwd@$oracle_sid
set termout off;
set echo off;
set feedback off;
set heading off;
set pagesize 0;
$sql;
commit;
quit
EOF`
echo "$error_code"
if [ -z "$error_code" ];then
	return 0
else
  return 1
fi
}

sid: 

       数据库实例标识,也就是数据库实例的名称,在控制面板-管理工具-服务,打开这个文件,你可以看到一个OracleServicexxx,其中 "xxx ",就是

你的数据库实例的名称,也就是sid. 


tns:

     数据连接字符串,代表一个数据库的连接,配置好你的数据网络连接,就会有一个这样的串。这个串可以在你的oracle安装根目录\ora92\network\admin\tnsnames.sql里面找到,你要可以在你的oracle安装目录下查找这个文件, 

orac   = 
   (DESCRIPTION   = 
       (ADDRESS_LIST   = 
           (ADDRESS   =   (PROTOCOL   =   TCP)(HOST   =   cyl)(PORT   =   1521)) 
       ) 
       (CONNECT_DATA   = 
           (SERVER   =   DEDICATED) 
           (SERVICE_NAME   =   D7i) 
       ) 
   ) 
上面的 "orac ",就是你要的tns,你可以自己复制重写一个tns,把HOST指向你的数据库服务器IP, 
SERVICE_NAME   =你的数据库sid

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值