angel_test 发表于 2006-7-20 15:59:34

手写Oracle数据库的连接

请教大家一个问题:
检验一个查询功能实现是否正确,查看查询出来的数据与数据库中的数据是否一致。
我用QTP录制一个脚本,想对Oracle数据库中的一个表的字段进行检查,来确定查询结果与数据库中的结果一直与否。
已经有数据源存在:
DSN=srit;UID=SDE;PWD=SDE;DBQ=ORACLE ;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=F;BAM=IfAllSuccessful;MTS=F;MDI=F;CSR=F;FWC=F;PFC=10;TLO=0;

问题1:在QTP中用什么方法来调用执行连接这个数据源?
问题2:因为Oracle的表是对应相应的用户来显示的,如:select "SDE"."STORE_BASED_RETAILING"."ENTERPRISE_NAME", from "SDE"."STORE_BASED_RETAILING" ,我怎么样把它保存为一个字符串了?(使用转义字符?不过忘了怎么用了)在这里我想通过SQL语句来查询一个具体的数据检查点。

[ 本帖最后由 angel_test 于 2006-7-20 16:04 编辑 ]

xiaonan 发表于 2006-7-20 17:14:40

我手头暂时没有Oracle数据库,所以我给段sql的例子参考,其实大致情况还是差不多的.

'连接SQL数据库
Dim res,cmd,sql

Set Res=createobject("adodb.recordset")
Set Cmd=createobject("adodb.command")
Cmd.activeconnection="Provider=SQLOLEDB.1;Password=111111;Persist Security Info=True;User ID=sa;Initial Catalog=xhq;Data Source=192.168.191.142"
Cmd.CommandType = 1
sql="select name from company where (id=1)"
Cmd.CommandText = sql
Set res = Cmd.Execute()
msgbox res("name")
Set res = nothing
Set cmd.ActiveConnection = nothing
Set Cmd= nothing

"Provider=SQLOLEDB.1;Password=111111;Persist Security Info=True;User ID=sa;Initial Catalog=xhq;Data Source=192.168.191.142"这段数据源可能和你的数据源不大一样.你可以新建.udl文件,然后双击.udl文件,选择for Oracle进行获取.全部设置完,测试通过后,就用文本文件打开这个.udl文件就能得到这句话.

[ 本帖最后由 xiaonan 于 2006-7-20 17:20 编辑 ]

readytofly 发表于 2006-7-21 13:13:53

试着连了下,应该可以的

Dim rs,sq
set conn=createobject("adodb.connection")
setrs=createobject("adodb.recordset")
' Oracle clientis required to be installed on your box
conn.open="Driver={Microsoft ODBC for Oracle};Server=SID_HOST.DOMAIN.COM;Uid=mssqa;Pwd=password;"

sql="select *from CLIENT_TABLE"
rs.open sql,conn,3,3

'Services.StartTransaction "TIMER"

do while not rs.eof
values=rs("CLIENT_NAME")
if values<>"State Street Corporation" then
        Reporter.ReportEvent 2, "ClientNameSearched:"&"   "&values, ""
        rs.movenext
else
        Reporter.ReportEvent 0, "ClientNameFound:"&"   "&values,""
                     exit do
end if
Loop

'Services.EndTransaction "TIMER"

rs.close
set rs=nothing
conn.close
set conn=nothing

参考资料
1. VBScrip Database Tutorialhttp://www.electronics.dit.ie/staff/srooney/Output/VBScript%20Database%20Tutorial.pdf
2. ADO介绍http://www.51windows.net/pages/ado/?url=/pages/ado/mdmscadogsoverview.htm
3. 数据库连接字符串 http://www.connectionstrings.com/

希望有用:)

[ 本帖最后由 readytofly 于 2006-7-21 13:44 编辑 ]

angel_test 发表于 2006-7-21 16:17:42

呵呵,真的谢谢楼上的两位,小女子感激不尽!

jutlin 发表于 2007-5-1 11:48:07

感謝分享

zhuyuancan 发表于 2007-6-5 17:32:45

正研究这方面的知识!!顶一个

walker1020 发表于 2009-3-28 20:19:31

关于QTP与oracle的连接,可以参考
http://bbs.51testing.com/thread-41573-1-27.html

lhjtc8257 发表于 2009-8-7 12:50:28

怎么才能收藏啊!

lin85210 发表于 2010-6-23 16:45:21

鉴定完毕。

sophiashan07 发表于 2010-12-17 11:43:56

我公司2010年6月份刚在纳斯达克上市,现在要找一名自动化测试组长,薪资福利良好:

我们项目组需要招聘自动化测试组组长,职位信息如下:
1.计算机相关专业本科以上学历,熟悉软件工程师学原理;
2.软件测试相关经验3年以上,其中至少包括2年功能自动化测试经验;
3.熟悉QTP工具的使用,了解QTP原理和对象识别机制;
4.熟悉VBScript脚本语言,能进行相关自动化脚本函数的编写;
5.较强的语言表达和文档编写能力及良好的沟通技巧;
6.有金融银行基础业务知识经验、有网银业务经验为佳;
7.有自动化框架编写、设计经验和软件开发经验有团队管理经验为佳;
8.熟悉Java、J2EE 、WebSphere 、Application Serve、DB2、Oracle等为佳
9.有Unix平台的使用经验(AIX/Solaris/HPUX/Linux)为佳;
欢迎各专业人士来信探讨,谢谢:
shanjing1983@163.com
sophiashan07@hotmail.com

moyiyun 发表于 2011-10-10 14:51:31

我喜欢那个猫猫的头像!
页: [1]
查看完整版本: 手写Oracle数据库的连接