51Testing软件测试论坛

标题: QTP 数据库 [打印本页]

作者: kittychen20    时间: 2006-9-7 19:42
标题: QTP 数据库
我进行连接数据库(Oracle)时,当执行到Cnn.Open。。。
时,总提示“[Microsoft][ODBC驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序”
到此程序无法进行下去,

连接代码如下。
Dim Cnn
Set Cnn = CreateObject("ADODB.Connection")
Cnn.ConnectionString ="DRIVER={Oracle in OraHome92};SERVER=DBGlobal;UID=crjpre;PWD=crjpre;DBQ=ora29;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=Lo;BAM=IfAllSuccessful;MTS=F;MDI=Me;CSR=F;FWC=F;PFC=10;TLO=O;"

Cnn.Open
If Cnn.State = 0 Then
     Reporter.ReportEvent micFail, "testing", "连接数据库失败"
else
     Reporter.ReportEvent micPass, "testing",   "连接数据库成功"
End If

想问下知情者,用QTP来连接数据库时,除了写这些语句,还有其他的什么准备工作要做吗?
或者是本身我的语句就有问题啊?
这个也是我在论坛里搜索的。
我的PL/SQL是可以连接数据库进行相关操作的。
作者: xiaonan    时间: 2006-9-8 08:46
查查你数据源设置是否正确啊
作者: higkoo    时间: 2006-9-8 09:03
标题: 呵呵
这个你最好问一下公司的程序员吧,他们会更清楚。

我觉得QTP的最大好处就是,可以不需要了解太多代码而完成测试。

我是一个非计算机专业的测试员,对QTP的感觉比较好。

有些时候,加代码会使过程优化,但也可找些其它的“死办法”解决。

不过,对于楼主的问题,我可能帮不上什么忙。不知是不是要去设置ODBC,或是QTP里需要改什么设置吧。
作者: kittychen20    时间: 2006-9-8 10:50
数据源应该就是DBQ=ora29这个字段的设置咯.
我用pl/sql 用这个名字是可以连接得到的.
想来应该是没有问题的.

听斑竹的意思就是没有其他设置了咯.只要写这几句语句咯?
作者: kittychen20    时间: 2006-9-8 12:08
急急!
还是不明白,为什么QTP对数据库(oracle)的连接,就是连接不上。
我在论坛里看到了两个版本。

版本1:
Set Cnn = CreateObject("ADODB.Connection")
Cnn.ConnectionString = "Provider=MSDAORA.1;Data Source=DBSERVER;Password=XXX;User ID=XXX;Persist Security Info=True;"

版本2:
Set Cnn = CreateObject("ADODB.Connection")
Cnn.ConnectionString ="DRIVER={Oracle in OraHome92};SERVER=DBGlobal;UID=crjpre;PWD=crjpre;DBQ=ora29;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=Lo;BAM=IfAllSuccessful;MTS=F;MDI=Me;CSR=F;FWC=F;PFC=10;TLO=O;"

1、在这两个版本中版本1是使用的Provider=MSDAORA.1,另外一个DRIVER={Oracle in OraHome92},想请教下各位,这个参数的选择以及他们后面的值的选择有什么根据没有。还是都可以。
2、版本1,用的Data Source=DBSERVER,而另外一个用的是SERVER=DBGlobal和DBQ=ora29,这个在我的oracle中又应该对应着哪几个值呢。


下面是我的oracle设置:
ora29 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.29)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = DBGlobal)
    )

我需要操作的数据库地址为192.168.0.29

[ 本帖最后由 kittychen20 于 2006-9-8 12:10 编辑 ]
作者: xyuan007    时间: 2006-9-8 14:11
ODBC设置正确吗?
作者: kittychen20    时间: 2006-9-8 14:26
请问怎么设置ODBC?
如果说在QTP里面还有这样一个单独的设置的话,
我好象没有设置.我什么设置都没有做.只是单独的写了这些语句.
作者: kittychen20    时间: 2006-9-11 12:47
没有哪位知道可以告诉我吗?
作者: xiaonan    时间: 2006-9-11 13:44
strCnn = "Provider=MSDAORA.1;Data Source=yourtnsname;Password=yourpassword;User ID=youruserid;Persist Security Info=True"
Set Cnn = CreateObject("ADODB.Connection")

Cnn.Open strCnn
试试这种连接模式
作者: QA_BAY    时间: 2006-9-11 18:01
原帖由 kittychen20 于 2006-9-8 14:26 发表
请问怎么设置ODBC?
如果说在QTP里面还有这样一个单独的设置的话,
我好象没有设置.我什么设置都没有做.只是单独的写了这些语句.


你可以这样做:

点击菜单
1.insert--checkpoint--database checkpoint
2.在弹出来的窗口选择第二项 specify SQL ....,然后点下一步,再点create
自己创建一下ODBC,如果能链通ORACLE,那在QTP回放应该没有问题
我的是LINUX AS4+ORACLE 10G
在QTP中的脚本是
Dim Cnn
Set Cnn = CreateObject("ADODB.Connection")
Cnn.ConnectionString ="DRIVER={Oracle in OraClient10g_home1};SERVER=TEST;UID=system;PWD=test;DBQ=TEST;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=Me;CSR=F;FWC=F;FBS=60000;TLO=O;"

Cnn.Open
If Cnn.State = 0 Then
     Reporter.ReportEvent micFail, "testing", "连接数据库失败"
else
     Reporter.ReportEvent micPass, "testing",   "连接数据库成功"
回放是通过的!
先确定你的ODBC能否正确连通先!
作者: kittychen20    时间: 2006-9-20 18:45
谢谢上面个各位,这段时间忙别的去了,一直没有时间上来看,
通过开发人员的帮助,我已经连接上数据库了.是我把本地服务器的名称
给弄成数据库服务器的名称了.
作者: kissing    时间: 2006-9-22 10:49
qtp的debug功能当然不太强大乐。。。。用过的感觉.net得最好,准确定位在哪一行,并且能使你基本上能判断出是设么错误
作者: walker1020    时间: 2006-9-22 14:20
QTP 用的是VBScript, 这是一种脚本语言。它的Debug功能当然不会很强了。毕竟它不是编程语言(Programming Language)呀。任何语言和工具都有利有弊。世界上没有一种十全十美的语言或工具。
作者: xiushow    时间: 2009-5-30 20:23





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2