51Testing软件测试论坛

标题: 请教QTP缺少ADO的问题 [打印本页]

作者: 秦菲    时间: 2013-4-26 14:56
标题: 请教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=abcWD=123456ORT=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

运行结果:
[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

纠结了几天,还是弄不出来,就麻烦大家了
作者: user603    时间: 2013-4-26 15:20
给你一个参考一下。
作者: user603    时间: 2013-4-26 15:20
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_sqWD=123456ORT=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
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_sqWD=123456ORT=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
分号怎么变成笑脸了。{:4_83:}
作者: 秦菲    时间: 2013-4-26 16:34
回复 5# user603


    系统控制出问题了吧
作者: joykao    时间: 2013-4-26 16:45
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
应该是你的连接字符串写错了,
http://www.cnblogs.com/daview/archive/2004/04/10/5763.html
希望上面的链接能帮到你
作者: 秦菲    时间: 2013-5-3 17:44
更改脚本如下:
Dim Conn
Set Conn=CreateObject("ADODB.Connection")
Const ConnectionString="DSN=myql;DATABASE=EW_QAWD=*******ORT=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
配置的数据源,如图:
[attach]85010[/attach]
可是运行依然报错:
Run Error[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
Line (4): "Conn.Open ConnectionString".


彻底郁闷到了。请大家帮忙帮忙哈
作者: 秦菲    时间: 2013-5-3 17:46
回复 7# joykao


    怎么用QTP 测试我要连接的数据库直接拿到的字符串???
怎样的步骤了?
这个连接数据库弄了好久,还是一直连接不上,多多帮忙想,谢谢
作者: 秦菲    时间: 2013-5-5 19:35
回复 3# user603


   依然有问题,还请大师帮忙啊
作者: joykao    时间: 2013-5-6 10:57
本帖最后由 joykao 于 2013-5-6 10:59 编辑

回复 10# 秦菲


在datatable里去测试连接数据库。。。。一步步完成了你就可以拿到连接的字符串了,这个生成的应该比较正确。。。。[attach]85023[/attach][attach]85024[/attach][attach]85022[/attach]
作者: user603    时间: 2013-5-7 12:43
回复 9# 秦菲


    是在系统DSN中建立。
作者: My_duo    时间: 2013-5-8 15:06
看你的截图,你的ODBC是5.1的,怎么写成5.5.27了
作者: edisonlzk    时间: 2013-5-17 17:45
你得看看你的系统是32位还是64位的啊,
MYSQL那个驱动是32位的,得通过另外一个ODBC数据源管理器来配置才行。
作者: My_duo    时间: 2013-5-18 12:02
最近也换WIN64位系统了,遇到和楼主一样的问题,你解决了没有?




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