51Testing软件测试论坛

标题: QTP9.2连接DB2v8.2.9 [打印本页]

作者: crish    时间: 2010-9-1 23:57
标题: QTP9.2连接DB2v8.2.9
我用insert->insert checkpoint->database checkpoint插入数据库检查点,query definiton选择special SQL statement manually,然后在
connect string里输入DRIVER={IBM DB2 ODBC DRIVER};UID=用户名WD=密码;MODE=SHARE;DBALIAS=数据库名;
SQL statement里输入一条正确的select语句;
然后点击finish,弹出提示信息:The specified query could not be executed.Do you want to redefine you setting?
Details里的提示是:指定的初始化字符串不符合OLE DB规定。
此问题困扰我一段时间了,一直没有找到解决方案,忘高人指教。
作者: crish    时间: 2010-9-2 20:22
自己顶一下
作者: crish    时间: 2010-9-4 22:23
标题: 问题解决了
原因是连接字符串不对,所以先要找到连接字符串。
获取连接字符串的方法:新建.txt文件,修改文件名(包括后缀)为123.udl,双击打开123.udl文件,在"Provider"选项中选择"IBM OLE DB Provider for DB2",在“连接”中,选择相应的服务器名(如:192.168.0.168:50020)和数据库(gl),输入用户名(gladm)和密码(glpass),点击右下方的“测试连接”验证数据库是否连通。点击“确定”。把123.udl文件用记事本方式打开,以"Provider"开始的部分就是你的数据库连接字符串。
下面是验证通过的QTP连接DB2,并查询数据库信息的脚本,供参考
dim con,i,res
set con = createobject("ADODB.connection")
con.ConnectionString "连接字符串"
con.open
if con.State = 0 then
   msgbox "连接失败!"
else
   msgbox "连接成功!"
end if
Set res = CreateObject("ADODB.Recordset")
res.Open "select max(bustype_code) num from BUS_BUSTYPE where datasetver_id=11331875 and bustype_seq=1",con
while(not Res.eof)
i = res("num")
MsgBox i
Res.MoveNext
wend
res.close        '关闭记录集
Set res=nothing        '释放对象
con.close        '关闭连接
Set con=nothing        '释放对象

[ 本帖最后由 crish 于 2010-9-4 22:30 编辑 ]
作者: sterson    时间: 2010-9-5 10:24

恭喜你




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