QTP9.2 连接DB2数据库报错
请大家帮忙看一下问题描述: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=***;"
错误提示: 驱动程序的 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 编辑 ] 第一种方式有语法错误;->,
第二方法应该不会出现你说的错误,除非已经conn.execute sql...不太了解。。
你可以先生成一个文件类型的数据源,然后看生成文件的字符串,拷贝进去 第一种方法的语法应该就是“;”,这个是插入数据库检查点的时候QTP自动生成的,我只是把它拷贝出来,如果换成“,”,系统会提示“数据源名称过长”
不知道是否是QTP9.2的问题,其他数据库入ORACLE、SQLSERVER等都可以连接的,就是DB2报错,希望大家帮忙看看 问题解决了,下载了最新的QTP9.5版本可以解决与DB2连接报错的问题! 你的意思是QTP9.2版本不能连接DB2了? 方法一:本地已经创建数据源的的方式
连接字符串: "DSN=TEST;UID=***PWD=***;MODE=SHARE;DBALIAS=TEST;"
错误提示:指定的初始化字符串不符合 OLE DB 规定
直接建立数据库检查点,在里面copy初始化字符串就可以 9.2也可连接DB2。。
页:
[1]