秦菲 发表于 2013-4-26 14:56:05

请教QTP缺少ADO的问题

最近在试着链接数据库和QTP,可是遇到诸多问题,其中有一个问题到现在都困扰着我,还请大家帮忙解决
环境:
系统:64位win7系统
数据库:Mysql;安装版本为5.5.27 MySQL Community Server (GPL)
已做操作:
1.在数据源中已经成功添加了我想用的Mysql(通过测试,其能成功链接)
2.在QTP中输入
Dim Conn
Set Conn=CreateObject("ADODB.Connection")
ConstConnectionString="Driver={Mysql ODBC 5.5.27 Driver };DATABASE=abc;PWD=123456;PORT=3306;SERVER=192.168.168.66;UID=root"
Conn.Open ConnectionString
If Conn.State<>0 Then
Reporter.ReportEvent micPass,"testing","连接数据库成功"
else
Reporter.ReportEvent micFail,"testing","连接数据库失败"
End If

运行结果:
未发现数据源名称并且未指定默认驱动程序

纠结了几天,还是弄不出来,就麻烦大家了

user603 发表于 2013-4-26 15:20:51

给你一个参考一下。

user603 发表于 2013-4-26 15:20:59

REM 定义变量
Dim Conn
Dim i
Dim sql
Dim sqlCount

REM 创建一个数据库链接对象,这个对象是链接数据库的一个实例
Set Conn=CreateObject("ADODB.Connection")

REM 定义常数ConnectionString。这里面链接数据使用到的具体参数
REM 参数1、DSN : Data Source Name的缩写,此项是在“控制面板\系统和安全\管理工具\数据源(ODBC)”中创建的
REM 参数2、3......都是访问数据库的一些信息
Const ConnectionString="DSN=editor_app_sq;DATABASE=editor_app_sq;PWD=123456;PORT=3306;SERVER=192.168.7.185;UID=root"

REM 由创建的链接对象,高用Open方法,打开数据库
Conn.Open ConnectionString

REM 通过链接对象,调用其下的State方法来判断数据库链接是否成功,如果方法返回值为0说明失败               

If Conn.State > 0Then

msgbox "数据库链接成功"
else
msgbox "数据库链接失败"               

End if


Conn.Close                                                                                                                                                '关闭数据库实例
Set Conn=Nothing

user603 发表于 2013-4-26 15:21:14

REM 定义变量
Dim Conn
Dim i
Dim sql
Dim sqlCount

REM 创建一个数据库链接对象,这个对象是链接数据库的一个实例
Set Conn=CreateObject("ADODB.Connection")

REM 定义常数ConnectionString。这里面链接数据使用到的具体参数
REM 参数1、DSN : Data Source Name的缩写,此项是在“控制面板\系统和安全\管理工具\数据源(ODBC)”中创建的
REM 参数2、3......都是访问数据库的一些信息
Const ConnectionString="DSN=editor_app_sq;DATABASE=editor_app_sq;PWD=123456;PORT=3306;SERVER=192.168.7.185;UID=root"

REM 由创建的链接对象,高用Open方法,打开数据库
Conn.Open ConnectionString

REM 通过链接对象,调用其下的State方法来判断数据库链接是否成功,如果方法返回值为0说明失败               

If Conn.State > 0Then

msgbox "数据库链接成功"
else
msgbox "数据库链接失败"               

End if


Conn.Close                                                                                                                                                '关闭数据库实例
Set Conn=Nothing

user603 发表于 2013-4-26 15:22:45

分号怎么变成笑脸了。{:4_83:}

秦菲 发表于 2013-4-26 16:34:30

回复 5# user603


    系统控制出问题了吧

joykao 发表于 2013-4-26 16:45:51

ConstConnectionString="Driver={Mysql ODBC 5.5.27 Driver };DATABASE=abcWD=123456ORT=3306;SERVER=192.168.168.66;UID=root"

这个你可以通过QTP 测试你要连接的数据库直接拿到的字符串吧,如果是自己敲的容易出错

1847bookd 发表于 2013-4-26 17:05:36

应该是你的连接字符串写错了,
http://www.cnblogs.com/daview/archive/2004/04/10/5763.html
希望上面的链接能帮到你

秦菲 发表于 2013-5-3 17:44:38

更改脚本如下:
Dim Conn
Set Conn=CreateObject("ADODB.Connection")
Const ConnectionString="DSN=myql;DATABASE=EW_QA;PWD=*******;PORT=3306;SERVER=192.168.168.10;UID=root"
Conn.Open ConnectionString
If Conn.State<>0 Then
Reporter.ReportEvent micPass,"testing","连接数据库成功"
else
Reporter.ReportEvent micFail,"testing","连接数据库失败"
End If
配置的数据源,如图:

可是运行依然报错:

Run Error 未发现数据源名称并且未指定默认驱动程序
Line (4): "Conn.Open ConnectionString".


彻底郁闷到了。请大家帮忙帮忙哈

秦菲 发表于 2013-5-3 17:46:47

回复 7# joykao


    怎么用QTP 测试我要连接的数据库直接拿到的字符串???
怎样的步骤了?
这个连接数据库弄了好久,还是一直连接不上,多多帮忙想,谢谢

秦菲 发表于 2013-5-5 19:35:08

回复 3# user603


   依然有问题,还请大师帮忙啊

joykao 发表于 2013-5-6 10:57:14

本帖最后由 joykao 于 2013-5-6 10:59 编辑

回复 10# 秦菲


在datatable里去测试连接数据库。。。。一步步完成了你就可以拿到连接的字符串了,这个生成的应该比较正确。。。。:)

user603 发表于 2013-5-7 12:43:01

回复 9# 秦菲


    是在系统DSN中建立。

My_duo 发表于 2013-5-8 15:06:05

看你的截图,你的ODBC是5.1的,怎么写成5.5.27了

edisonlzk 发表于 2013-5-17 17:45:24

你得看看你的系统是32位还是64位的啊,
MYSQL那个驱动是32位的,得通过另外一个ODBC数据源管理器来配置才行。

My_duo 发表于 2013-5-18 12:02:34

最近也换WIN64位系统了,遇到和楼主一样的问题,你解决了没有?
页: [1]
查看完整版本: 请教QTP缺少ADO的问题