51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 9308|回复: 10
打印 上一主题 下一主题

[讨论] 手写Oracle数据库的连接

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-7-20 15:59:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教大家一个问题:
检验一个查询功能实现是否正确,查看查询出来的数据与数据库中的数据是否一致。
我用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 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 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 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-7-21 13:13:53 | 只看该作者
试着连了下,应该可以的

Dim rs,sq
set conn=createobject("adodb.connection")
set  rs=createobject("adodb.recordset")
' Oracle client  is 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 Tutorial  http://www.electronics.dit.ie/st ... base%20Tutorial.pdf
2. ADO介绍  http://www.51windows.net/pages/a ... scadogsoverview.htm
3. 数据库连接字符串 http://www.connectionstrings.com/

希望有用:)

[ 本帖最后由 readytofly 于 2006-7-21 13:44 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2006-7-21 16:17:42 | 只看该作者
呵呵,真的谢谢楼上的两位,小女子感激不尽!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-5-1 11:48:07 | 只看该作者
感謝分享
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-6-5 17:32:45 | 只看该作者
正研究这方面的知识!!顶一个
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
    发表于 2009-3-28 20:19:31 | 只看该作者
    关于QTP与oracle的连接,可以参考
    http://bbs.51testing.com/thread-41573-1-27.html
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2009-8-7 12:50:28 | 只看该作者
    怎么才能收藏啊!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2010-6-23 16:45:21 | 只看该作者
    鉴定完毕。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 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
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2011-10-10 14:51:31 | 只看该作者
    我喜欢那个猫猫的头像!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-25 18:10 , Processed in 0.080158 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表