51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2414|回复: 8
打印 上一主题 下一主题

[求助] 数据库链接的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-8-20 16:05:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
(1)首先要在控制面板中,加一个odbc数据源。
(2)在qtp中建立连接和记录集
set cnn=createobject("adodb.connection")
set objrsa=createobject("adodb.recordset")
(3)连接数据库
cnn.open "provide=msdaora;userid=apts;password=apts;data source=afctwo"
userid/password,是登陆数据库的用户名和密码,这样数据库就连接上。
(4)对数据库进行操作。
objrsa.open "select bustypefullname from bustypeinfo",cnn,3,2
a=objrsa("bustypefullname").value得到字段bustypefullname的值赋值给了变量a
在“objrsa.open "select bustypefullname from bustypeinfo",cnn,3,2”中最后的“cnn,3,2”是什么意思啊?
请高手赐教,谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-8-20 16:20:00 | 只看该作者
只是打开这个sql语句的一些参数,cnn代表了数据源 ,3和2是参数代号,代表了一种打开方式.具体可以去研究一下ADO的使用,不要照搬照抄

[ 本帖最后由 xiaonan 于 2007-8-20 16:21 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-8-23 13:37:45 | 只看该作者
强烈支持,努力学习。。。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-9-4 14:27:07 | 只看该作者

回复 #1 jacky9947 的帖子

我是按照你所说的步骤做的
1)我在项目所在的电脑上建了一个odbc数据源(测试工具在虚拟机上),路径为/dataSource/salvation.dsn测试成功!
2)在qtp中建立连接和记录集
set cnn=createobject("adodb.connection")
set objrsa=createobject("adodb.recordset")
第二步也通过
3)连接数据库
cnn.open "provide=msdaora;userid=ASPUSER;password=000000;data source=salvation"
Run Error,[Microsoft][ODBC 驱动程序管理器]未发现数据源名称并且未指定默认的驱动程序
我就将代码改为:
conn.open "DRIVER=SQL Server;SERVER=192.168.0.156;APP=Microsoft Office XP Professional;WSID=ZXF;DATABASE=salvationDB; provide=msdaora;userid=ASPUSER;password=000000;data source=salvation" 但还是报同样的错误
第一次用QTP连接数据库,真不知道该怎么做?sdlkfj9 大家帮帮忙!谢谢了

[ 本帖最后由 xiaofeng_zou 于 2007-9-4 14:48 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-9-4 14:47:27 | 只看该作者
3)连接数据库(本地没有创建数据源)
conn.open "DRIVER=SQL Server;SERVER=数据库IP地址;UID=用户名;PWD=密码;APP=Microsoft Office 2003;WSID=本地主机名;DATABASE=数据库名"

conn.open "DRIVER=SQL Server;SERVER=192.168.0.154;UID=aspuser;PWD=000000;APP=Microsoft Office 2003;WSID=ZXF;DATABASE=salvationDB"
成功了!
但还是不知道APP=Microsoft Office 2003;是什么意思。

[ 本帖最后由 xiaofeng_zou 于 2007-9-4 22:55 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-9-4 22:33:42 | 只看该作者
4)对数据库进行操作。
objrsa.open "select userName from users",conn,3,2
a=objrsa("userName").value  '  得到字段userName的值赋值给了变量a
MsgBox(a)
能够弹出a的值,但我不知道objrsa.open "select userName from users “,conn,3,2后的conn,3,2是意思?
为什么换成4,1或4,2就说参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突,这两位参数有什么范围限制吗?
请哪位大侠告之,谢谢了

[ 本帖最后由 xiaofeng_zou 于 2007-9-4 23:26 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-9-4 23:37:11 | 只看该作者
5)从数据库获取数据
Set Res=createobject("adodb.recordset")
Set Cmd=createobject("adodb.command")
Cmd.activeconnection="rovider=SQLOLEDB.1assword=000000ersist Security Info=True;User ID=aspuser;Initial Catalog=salvationDB;Data Source=192.168.0.154"    '数据源要修改
Cmd.CommandType = 1
sql="select userName from users  where (name=admin)"
Cmd.CommandText = sql
Set res = Cmd.Execute()
Set res = nothing
Set cmd.ActiveConnection = nothing
Set Cmd= nothing
第三句
Cmd.activeconnection="rovider=SQLOLEDB.1assword=000000ersist Security Info=True;User ID=aspuser;Initial Catalog=salvationDB;Data Source=192.168.0.154"    
报错信息是:未找到提供的程序, 该程序可能未正确安装
1.Provider=SQLOLEDB.1;是驱动程序的版本吗?我的是sql server 2000,网上查到的说sql   server的驱动版本都是一样的200.80.194.00  
但我这样写还是不行Provider=200.80.194.00
2.User ID和Password是访问数据库的用户名和密码?还是数据源的?
3.Initial Catalog=,是数据库的名字吗?
4.Data Source应该等于什么?
我真是大SB,什么都不知道啊!请大侠们赐教啊!拜托!
完全是自学,学得好辛苦啊sdlkfj9

[ 本帖最后由 xiaofeng_zou 于 2007-9-5 11:50 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-9-5 12:09:05 | 只看该作者
问题终于解决了sdlkfj2 ,不容易啊
Cmd.activeconnection="rovider=SQLOLEDB.1assword=000000ersist Security Info=True;User ID=aspuser;Initial Catalog=salvationDB;Data Source=192.168.0.154“没错,
User ID和Password是访问数据源的用户名和密码,我之前在建数据源时没有设置用户名和密码,所以出错了。
Data Source为数据库所在的主机名或IP
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-12-17 19:46:42 | 只看该作者
妹妹真是好心人啊.....呵呵..将经验写得这么清晰明了.....谢谢先..
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-11 01:47 , Processed in 0.084046 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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