今天工作的需求是要在录制一段web程序之前要调用plsql并执行一段数据库代码清空相关数据才能做web录制测试,

本来是想用QTP直接录制plsql的,但是后来发现自己对qtp录制window application并不是很了解,选定了 Automation菜单下的Record and Run Settings中的制定plsql程序的路径,一录制竟然也代开了web的初始页面,后来发现是要把web的Record and Run Settings中设置成第一个选项 Record and run on any browser才不弹出来了。

后来发现,竟然qtp录制plsql的脚本就像低级录制的脚本一样,是用坐标表示的(Window("Oracle Logon").WinObject("test").Click 44,8)。回放一点反应都没有。不行,时间紧迫,我得另外想办法搞定这个plsql。

直接用vbs代码写了段调用调用PLSQL并执行相关语句的片段。运行成功,搞定!!。。

代码中对plsql的路径和用于运行的语句(从doc中复制的呵呵)DOC文件路径进行了判断,如果不正确将提示修改路径,一直到路径核对正确为止,如果两个路径都正确,则直接call dosub().

本来想通过字段赋值再sendkeys到plsql中指定的语句,但是后来发现语句中有特殊字符,读到plsql中的时候很慢而且有乱码,所以后来想用vbs操作了下word,直接从word中复制语句再在plsql中粘贴了.(从plsql中打开我试过了,没有句柄不行,ctrl+o不执行。)

VBS代码:

'----------------------------定义变量-------------------------------------------

Dim oApp,oDoc,fso,exepath,docpath,inputexestr,inputdocstr,inputexestr2,inputdocstr2,confirmexepath,confirmdocpath,exefile,docfile

exepath = "C:\Worksoft\plsql\PlSqlDev.exe"

docpath = "C:\StudyInfo\Study\VBS\ReadyData.doc"

'----------------------------创建系统对象------------------------------------

Set Wshell=CreateObject("Wscript.Shell")

set fso=CreateObject("Scripting.FileSystemObject")

'----------------------------判断plsql路径和doc文件路径是否存在----------------------

Call maincheck()

Sub   checkexeway()

inputexestr = InputBox("请确认或输入您的plsql程序路径:"&vbnewline&"如果此路径正确请点击OK!","PLSQL路径确认",exepath)

inputexestr2=  fso.FileExists(inputexestr)

If  inputexestr2<>"" and  inputexestr2 = True Then

confirmexepath = inputexestr

call checkdocway()

else

call  checkexeway()

End If

End Sub

Sub   checkdocway()

inputdocstr = InputBox("请确认或输入您的DOC文件路径:","DOC文件路径确认",docpath)

inputdocstr2=  fso.FileExists(inputdocstr)

If  inputdocstr2<>"" and  inputdocstr2 = True  Then

confirmdocpath = inputdocstr

call  Dosub()

else

call  checkdocway()

End If

End Sub

Sub maincheck()

exefile = fso.FileExists(exepath)

docfile = fso.FileExists(docpath)

If  exefile =true and  docfile =true Then

confirmexepath = exepath

confirmdocpath = docpath

call Dosub()

else

call checkexeway()

End If

end sub

'-------------------------------------------调用plsql并运行语句过程--------------------------------------------

Sub Dosub()

'msgbox confirmexepath

'msgbox confirmdocpath

Set App = CreateObject("Word.Application")

oApp.visible = true

Set Doc = oApp.Documents.Open (confirmdocpath)

Wshell.AppActivate "ReadyData.doc - Microsoft Word"

oApp.selection.WholeStory

oApp.selection.copy

oDoc.close

oApp.quit

Wshell.SendKeys "{Left}"

Wshell.SendKeys "{Enter}"

wait 5

wait 2

set exec=Wshell.Exec(confirmexepath)

wait 2

'这里直接输入密码test,因为plsql默认了用户名不用输入,没有默认就需要前面再加   个sendkeys了

Wshell.SendKeys "test"

wait 1

Wshell.SendKeys "{TAB}"

'这里输入服务器名称.要确保你的oracal的tnsname里面有这个服务器名.

Wshell.SendKeys "cis170"

wait 2

Wshell.SendKeys "{ENTER}"

wait 4

'把刚才从word复制的内容粘贴到plsql

Wshell.SendKeys "^v"

wait 2

'运行语句快捷键f8

Wshell.SendKeys "{F8}"

wait 5

'提交语句commit快捷键f8

Wshell.SendKeys "{F10}"

wait 2

Wshell.SendKeys "%{F4}"

wait 2

Wshell.SendKeys "{Right}"

Wshell.SendKeys "{Enter}"

End Sub

vbs 连oracle 负载均衡,(原)QTP中用VBS调用PLSQL并执行相关语句相关推荐

  1. oracle负载均衡方案,Oracle负载均衡配置代码

    对于专业的数据处理存储的Oracle ARC而言,负载均衡的设置就更为重要了.那么如何对Oracle负载均衡进行配置呢?就让我们一起看看本文来学习一下吧.我们将从客户端和服务器端来进行解说. Orac ...

  2. Oracle 负载均衡解决方案

    为什么要运用负载均衡 一般我们在数据库中的操作无非不就是增删改查这四个基本操作,最终数据库和磁盘文件打交道也就是读写操作.如果采用传统的一台服务器去运作,可能会在读写高峰时会出现一些无法预知的问题.这 ...

  3. tedu 四阶段springcloud学习day02学习总结(idea连接数据库/nacos远端调用及负载均衡策略/Feign方式远端调用)

    目录 查看接口有哪些实现类 ctrl + h 一.cmd方式启动Nacos的命令 二.在IDEA中打开MySQL数据库 第一步: 打开View中数据库的工具栏 第二步:添加数据库为MySql 第三步: ...

  4. Nginx Oracle反向代理与负载均衡配置

    场景需求:     由于Oracle RAC模式在生产环境不建议使用SCAN IP,使用Nginx完成TCP/UTP三层的负载.   实施环境: Nginx版本:1.14.2 Nginx服务器IP: ...

  5. mysql从 lvs_linux keepalived+LVS 实现mysql 从库负载均衡

    前情提要: 参考链接: http://www.osyunwei.com/archives/7464.html ps:以上为本次操作的主要参考资料,非常感谢此文作者的贡献,我的随笔的主要目的是 说明在使 ...

  6. 【负载均衡集群——保姆式教学】

    负载均衡集群 负载均衡集群拓扑图 负载均衡器分类 负载均衡集群原理 LVS工作方式 1)NAT模式 LVS-NAT模式实验构建: Ⅰ 负载调度器(10.10.10.11.20.20.20.11) Ⅱ ...

  7. SpringCloud微服务-服务注册发现-负载均衡-服务调用-服务降级-服务网关-配置中心-消息总线-消息驱动-链路追踪-alibaba-nacos-sentinel-seata理论原理分析

    SpringCloud理论技术 概述 ​ Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总 ...

  8. dubbo的负载均衡详解

    本文来详细说下dubbo的负载均衡,常见的概念,性质,原理等. 文章目录 负载均衡概述 dubbo中的负载均衡 对多注册中心负载均衡 对多服务负载均衡 dubbo中的负载均衡算法详解 整体结构 Ran ...

  9. Apache + Tomcat 负载均衡 session复制

    转自:http://blog.csdn.net/cssmhyl/article/details/8455400 http://snowolf.iteye.com/blog/743611 Apache  ...

最新文章

  1. 人工智能2021截稿日期_APISE2021会议预览【人工智能amp;控制amp;模式识别】
  2. mysql与配偶同性_mysql 左,右,内连接
  3. linux kernel中的cmdline的详细介绍
  4. 关于泛泛而谈和刻意练习的思考
  5. JDK反编译的两种方式
  6. kafka技术内幕(一)
  7. 执行 java -jar xxx.jar 是不是创建进程问题
  8. HDU - 4348To the moon——主席树+区间修改
  9. Source Insight常用的快捷键
  10. win定时关机_如何让电脑定时自动关机
  11. OpenShift 4 Hands-on Lab (7) - 用Jenkins Pipeline实现在不同运行环境中升迁部署应用
  12. 转:深度解析Java8 – AbstractQueuedSynchronizer的实现分析(上)
  13. 基于单片机的老人防摔GSM报警
  14. Delphi 安卓11 中文语音合成(中文朗读)注意内容
  15. Android开发之各种好看的背景颜色
  16. windows11 截屏键无法使用 Print screen
  17. 最清晰易懂的Elasticsearch操作手册|收藏夹必备
  18. 英文名大全及含义(女)
  19. win10无法更新计算机的启动配置,电脑升级win10后一开机关机总是显示正在配置更新请不要关闭您的计算机...
  20. Auto.js学习笔记2:真机连接vscode开发工具进行调试,自动开启微信app,自动切换通讯录和微信界面

热门文章

  1. 前端学习(591):source面板介绍
  2. CM3计算板安装硬件时钟DS3231
  3. RMSE、MAPE、准确率、召回率、F1、ROC、AUC总结
  4. HTML DOM console.table() 方法
  5. C++自定义对象如何支持Range-based循环语法
  6. javascript网页自动填表_JavaScript脚本实现网页批量自动勾选及内容填写
  7. (十)、java内部类与内部类的闭包和回调
  8. Linux下Shell文件内容替换(sed)(转)
  9. CodeForces 580A Kefa and First Steps
  10. struts2.0标签库