uft如何连接到oracle,QTP连接oracle

首先,因为群里很多朋友说QTP连接oracle有点麻烦,我针对于连接oracle做一个完整的教程,希望需要学习的朋友都可以来看一下;具体方法如下:

1、无论是什么语言,连接oracle客户端是不可少的,这个是没办法省的;我用的是10g_win32_client;如果觉得老,朋友们可以用新版本的;

解压-安装-着方面无非就是下一步操作,这边我们不讲,配置可能有些初学者不会,我这边从配置开始讲;

6b3b6b8e5ea8b6a94650f4a45e5f7991.png

16ff91a0098358bb0dcf004e56d65d3d.png

d80a7a6fd6b391010c57b2abc6384183.png

28260620283d7c9395e6b82fcb56b458.png

414dcc0c6a5feefc3a309e7b1639e215.png

837d69c85502ce85daaf3c7c5e3c47e8.png

f0d0bd4c2a5623d4173c7245b098d2c4.png

daf092475fb936349471fee3c182e23d.png

这边图片大概的描述了一下步骤,如果还是不会,可以百度上找如果配置oracle客户端,里面比较详细

2、配置 数据源(ODBC)(针对win7的配置)

①-打开控制面板-系统和安全-管理工具-数据源(ODBC)

添加用户数据源

378c6ca4e3c910ab07a6110b93504a92.png

选择oracle驱动

50281a57f74823628ed9a9efb07c4ea8.png

填写对应信息

ba3b3048bf1817c3bc5b55d6fef7c253.png

测试是否连接成功

e36e0061a7951dfe621be36f6f2607fb.png 

622a197958150ca3edb336e3a29a7411.png

这样odbc就算配置完成了;

3、开始连接数据库;

获取oracle的连接串的方法,在本地新建一个.txt文件,修改扩展名名*.udl,双击*.udl文件,打开数据库链接属性,定位到“提供程序”选显卡,选中 oracle的连接  oracle provider for OLE DB,点击下一步,输入数据源,数据库用户名以及密码,点击测试连接,然后用UE或记事本打开*.udl文件,oracle的连接串已经生成了,

如图:

f6637d9d49945acd89c8b5db02841342.png

e4622a5840756b25ed39ec04371ea137.png

2d6ef0ff3bc820857c53ea248c38a85b.png

这样就算配置成功了,然后用文本打开oracle.udl,

cdcc2ff7f7808b32f415262b4cf3de68.png

Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=BPMUSER2;Data Source=CEDATA

添加密码:用;号分开:Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=BPMUSER2;;Password=BPMUSER2;Data Source=CEDATA

然后写qtp测试

'———————————————————————————————————————————

'名称:oracle_nextAPPROVEID

'作用:数据库中查询出下一步审批人

'参数:FormID

'返回:下一步审批人

'使用:QTP.oracle_nextAPPROVEID("-")

Function oracle_nextAPPROVEID(FormID)

Dim Cnn  '定义一个数据库连接串

Dim Rs

Dim sql

Dim uid

Set Cnn = CreateObject("ADODB.Connection")

Cnn.Open ="Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=BPMUSER2;;Password=BPMUSER2;Data Source=CEDATA"

If Cnn.State = 0 Then      '判断数据库连接是否成功

Report.Debug("[Cnn.State] Cnn.State = " & Cnn.State)

Report.FunctionOut("[Cnn.State] Cnn.State = " & Cnn.State)

Exit Function

End If

If Cnn.State<> 0  Then

Report.Debug("[Cnn.State] Cnn.State = " & Cnn.State)

Set Rs=CreateObject("ADODB.Recordset")    '生成记录集对象

'FormID= chr(34)&FormID&chr(34)

Report.Debug("[FormID] FormID = " & FormID)

sql ="select * from(select b.ID,a.PROCESSID,APPROVEID from FORM_MASTER_INFO a inner join FORM_HISTORY_INFO b on a.PROCESSID=b.PROCESSID and a.FORMRESULT='N' WHERE a.PROCESSID= '"&FormID&"'  order by b.ID desc) where rownum=1"

Report.Debug("[sql] sql = " & sql)

On Error Resume next

Rs.Open sql ,Cnn,1,3  '执行sql语句,记录可以自由移动,单数记录处于只读模式

uid=Rs("APPROVEID") '取得字段为custid的记录,游标定义在第一行,所以取得的是该字段所在行的第一行数据

Report.Debug("[uid] uid = " & uid)

oracle_nextAPPROVEID ="("& uid&")"

'msgbox uid

End If

End Function

调用一下,就可以完成了;做的完善点需要关闭连接等等

RS.close       '关闭记录集

Set RS=nothing  '释放对象

Cnn.Close   '关闭数据连接

Set Cnn=nothing '释放对象

这些都是后话了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值