使用except转发sqlplus的demo

主要是需要支持set autotrace traceonly;select * from xxxx;这种的需要前后session保持的语句,比较恶心点。
#!/usr/bin/expect

#

# Descript: A interface to receive and run sql from web 

#                 And turn back data to web

#

# Require: expect,sqlplus

#

# Author: suddy

#

# Data: 2010-01-04

#

###########################################



#usage: ./websqlplus.exp username password sql

#      e.g.

#      ./websqlplus.exp suddy suddy "set autotrace traceonly;select * from ABC_SDA_USERS;"

#



set user [lindex $argv 0]

set pass [lindex $argv 1]

set sqls [lindex $argv 2]



if {
$argc==3} {

     
spawn sqlplus /nolog

     expect 
">"

     
send "conn $user/$pass\r"

     
foreach sqlcommon [split "$sqls" ";"] { 

          if {
$sqlcommon!=""} { 

               
expect ">"

               
send "$sqlcommon;\r"

          } 

     }

     
expect ">"

     
send "quit;\r"

}

附上代码保存一份

再次痛恨expect的语法。。。。。

附件: websqlplus.exp (690 bytes, 下载次数:81)

« 上一篇 | 下一篇 »

2条记录访客评论

路过
为啥是//啊
哪里没配好?

Post by cnhawk on 2010, January 18, 9:16 AM 引用此文发表评论 #1

引用 cnhawk 说过的话:
路过
为啥是//啊
哪里没配好?

额。模板中的一个问题。偷懒就一直没改了。等有时间了再折腾吧。

Post by ╰☆往事如风 on 2010, January 22, 8:31 PM 引用此文发表评论 #2


发表评论

评论内容 (必填):