51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3152|回复: 6
打印 上一主题 下一主题

[原创] QTP9.2 连接DB2数据库报错

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-11-5 11:20:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请大家帮忙看一下
问题描述:DB2数据库版本是8.2,已经在ODBC中建立了数据源,而且可以成功连接数据库。
          现通过QTP9.2 连接DB2数据库,系统报错
方法一:本地已经创建数据源的的方式
        连接字符串: "DSN=TEST;UID=***PWD=***;MODE=SHARE;DBALIAS=TEST;"
       错误提示:指定的初始化字符串不符合 OLE DB 规定
方法二:本地没有创建数据源的的方式
        连接字符串: "Driver={IBM DB2 ODBC DRIVER};DBALIAS=TEST;UID=***; PWD=***;"
       错误提示:[Microsoft][ODBC 驱动程序管理器] 驱动程序的 SQLAllocHandle on SQL_HANDLE_ENV 失败,
        并且,在出现该错误提示后,再运行QTP脚本,则程序就一直运行,无法结束任务,必须强制退出
程序代码如下:
Option Explicit

Dim objConn                        'CONNECTION对象实例
Dim strConnString                        '连接字符串
Dim objRst                                '对象实例

'1. 建立CONNECTION对象实例
Set objConn = CreateObject("ADODB.CONNECTION")

'2. 建立连接字符串
'strConnString = "DSN=TEST;UID=***; PWD=***;MODE=SHARE;DBALIAS=TEST;"
strConnString = "Driver={IBM DB2 ODBC DRIVER};DBALIAS=TEST;UID=***; PWD=***;"

'3. 用OPEN方法建立与数据库连接
objConn.Open strConnString

If objConn.State = 0 Then
    Reporter.ReportEvent micFail, "Testing Database Connection", "连接数据库失败"
Else
    Reporter.ReportEvent micFail, "Testing Database Connection", "连接数据库成功"
End If

'4. 关闭数据库连接并释放对象实例
objConn.Close
Set objConn = Nothing

[ 本帖最后由 milo.jiang 于 2007-11-5 11:31 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-11-5 14:24:58 | 只看该作者
第一种方式有语法错误  ;->,
第二方法应该不会出现你说的错误,除非已经conn.execute sql...不太了解。。
你可以先生成一个文件类型的数据源,然后看生成文件的字符串,拷贝进去
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-11-5 15:12:28 | 只看该作者
第一种方法的语法应该就是“;”,这个是插入数据库检查点的时候QTP自动生成的,我只是把它拷贝出来,如果换成“,”,系统会提示“数据源名称过长”
不知道是否是QTP9.2的问题,其他数据库入ORACLE、SQLSERVER等都可以连接的,就是DB2报错,希望大家帮忙看看
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-4-8 22:10:25 | 只看该作者
问题解决了,下载了最新的QTP9.5版本可以解决与DB2连接报错的问题!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-8-19 14:58:54 | 只看该作者
你的意思是QTP9.2版本不能连接DB2了?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-8-20 00:43:54 | 只看该作者
方法一:本地已经创建数据源的的方式
        连接字符串: "DSN=TEST;UID=***PWD=***;MODE=SHARE;DBALIAS=TEST;"
       错误提示:指定的初始化字符串不符合 OLE DB 规定

直接建立数据库检查点,在里面copy初始化字符串就可以
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-8-21 18:38:27 | 只看该作者
9.2也可连接DB2。。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-13 03:45 , Processed in 0.086124 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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