免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4017 | 回复: 3
打印 上一主题 下一主题

问一个关于set echo on的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-05-11 03:00 |只看该作者 |倒序浏览
我做了一个perl脚本,用意是检索数据库schema信息,并自动连接数据库执行sql脚本。在连接oracle数据库时我用的是命令行模式,已经将echo设置为on,但是在执行脚本的时候发现sql语句并没有显示出来,用手动连接命令行试了一下,发现set echo on是效果的,但是一放到脚本里就失效了,这是为啥?有哪位大大帮我解答一下,万分感谢。
perl脚本连接数据库部分如下:
open (SQL, "|sqlplus -S /nolog") or die "error: $!";
print SQL "connect $schema/$pwd"."@"."$tns\n";
print SQL "set echo on\n";
print SQL "start $sql_file\n";




脚本跑下来的结果如下:
Do you want to deploy this CR?(Y/N)
y
Please wait...
已连接。

已更新179行。


已创建 1 行。


提交完成。

手动在命令行模式下设置echo的结果如下:
SQL> set echo on
SQL> @CR_rollback_MASPOS_20120510_01.sql
SQL> -- SCHEMA:maspos
SQL> update MASPOS.T_TERM_PARAINTI set EXP_DATE=to_date(to_char(CREATE_TIME+7, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss');

已更新179行。

SQL> insert into maspos.t_maspospatch(APPVERSION,PATCHNO,CREATEDATE,FILENAME) values('1.0.1','199',SYSDATE,'CR_rollback_MASPOS_20120510_01.sql');

已创建 1 行。

SQL> commit;

提交完成。


论坛徽章:
0
2 [报告]
发表于 2012-05-12 13:20 |只看该作者
-s  拿掉

论坛徽章:
0
3 [报告]
发表于 2012-05-14 09:37 |只看该作者
doni 发表于 2012-05-12 13:20
-s  拿掉


thx~~~~

论坛徽章:
2
C
日期:2016-10-25 16:11:40极客徽章
日期:2016-12-07 14:07:30
4 [报告]
发表于 2012-08-12 22:39 |只看该作者
perl不懂哦,好像挺偏门的哦
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP