secureCRT连接Oracle问题

我在使用secureCRT连接远程机器后,再进入远程机器的Oracle数据库,然后执行命令都正常。
但是在我使用VBS编写了一个脚本,主要功能就是向远程机器的Oracle循环发送一些SQL脚本。
但是在执行的时候,刚开始都没问题,执行着执行着就会出问题
有时会报connection lost,然后就退出Oracle了,这时还保持远程机器的连接
还有的时候会报 Error 45 initializing SQL*Plus Internal error 也是退出Oracle了,但仍然保持着远程机器的连接

不知道有没有遇到过这种情况的,SQL语句都没问题,就是一些查询语句,不知道为什么,执行着执行着就出错了

第1个回答  2012-03-06
VBS连接远程计算机再执行SQL脚本,你必须用WScript.Sleep控制好执行oracle执行的时间,如每一条语句后用WScript.Sleep 300 来等待一句语句执行完毕,再接下来执行另一句语句。
set sh=WScript.CreateObject("WScript.Shell")
iReturn=Sh.Run("cmd.exe /c start telnet.exe", 1, TRUE)
WScript.Sleep 300
sh.SendKeys "open 192.168.1.1"
WScript.Sleep 1000
sh.SendKeys "{ENTER}"
WScript.Sleep 100
sh.SendKeys "root{ENTER}"
WScript.Sleep 2000
sh.SendKeys "123456{ENTER}"
WScript.Sleep 500
sh.SendKeys "{ENTER}"
WScript.Sleep 200
sh.SendKeys "sqlplus /nolog{ENTER}"
WScript.Sleep 1000
sh.SendKeys "conn sys/sys as sysdba{ENTER}"
WScript.Sleep 1000
sh.SendKeys "startup{ENTER}"
WScript.Sleep 20000
以上只是个例子,想要正确运用VBS控制一定要做好时间上的调整,另外要注意的是命令行一定不能失去焦点。
你还可以加上VBS的msgbox来提示操作的结果,具体你还要多多练习呀。
最后祝进步。追问

提示找不到WScript啊

追答

找不到?你是用什么系统,我在XP下没有问题。你不会是用GHOST版本的windows吧?许多GHOST版本为了压缩经常会出现问题,所以我自己用的电脑重来不用GHOST版本的。
刚试了在windows7下也没有问题。
你做好的文件名是不是:XXX.vbs这样的?不会是XXX.bat的批处理文件吧。

追问

我的是Win7啊,也是XXX.vbs,提示是缺少对象WScript

追答

看看system32目录下没有wscript.exe和cscript.exe文件
去微软下载一个scr56chs.rar安装上解决
http://www.microsoft.com/downloads/zh-cn/details.aspx?displaylang=zh-cn&FamilyID=376D98B6-67CF-4473-9B7D-F635292A286F

本回答被提问者采纳
相似回答