51Testing软件测试论坛

标题: QTP从数据库获取数据的例子 [打印本页]

作者: oftime999    时间: 2007-6-18 14:56
标题: QTP从数据库获取数据的例子
做实验的时候需要把Cmd.activeconnection="Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;修改成自己计算机上的信息,用粗体表示了.用的是sql server数据库

Dim res,cmd,sql
Set Res=createobject("adodb.recordset")
Set Cmd=createobject("adodb.command")
Cmd.activeconnection="Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;Data Source=192.168.0.69"
Cmd.CommandType = 1
sql="select emp_id,fname from dbo.employee"
Cmd.CommandText = sql
Set res = Cmd.Execute()
i=1

While not res.eof
                     logid =  res("emp_id").value
                    logname=res("fname").value   
                                        print logid
                                        pint logname
                                 
                                       
  i=i+1
                      res.movenext                  
wend
Set res = nothing
Set cmd.ActiveConnection = nothing
Set Cmd= nothing
作者: walker1020    时间: 2007-6-20 09:33
Thanks a lot
作者: cute    时间: 2007-10-29 15:15
网上的例子都是ODBC的,请教楼主JDBC的怎么连接,获取数据?
不懂JDBC,依葫芦画不出瓢来-_-#
作者: cheryl    时间: 2008-3-13 13:58
很好的例子,赞一个!
作者: tiger_86    时间: 2008-3-13 15:07
谢谢lz
作者: log_1    时间: 2008-3-14 14:13
谢了
作者: angelia_liu    时间: 2009-2-16 18:19
学习了,谢谢楼主
作者: free1998    时间: 2009-2-16 18:40
不错,赞一个
作者: yuyunlu    时间: 2009-3-9 21:49
还没到这个深度 支持一下
作者: luxiuxiu1987    时间: 2010-9-26 17:14
支持,先收藏
作者: lyscser    时间: 2010-9-26 19:41
用ORARLEDB.1是不是好些?
作者: lyscser    时间: 2010-9-26 19:57
本帖最后由 lyscser 于 2010-9-26 20:04 编辑

之前有个大佬给出过各种连接数据库的不同写法
一、SQL Server格式(本地无需安装SQL Server)

connectionstring(连接字符串):

1.本地没有创建数据源的方式

DRIVER=SQL Server;SERVER=数据库IP地址;UID=用户名;WD=密码;APP=Microsoft Office 2003;WSID=本地主机名;DATABASE=数据库名

实例:

DRIVER=SQL Server;SERVER=10.160.11.10;UID=sa;WD=sa;APP=Microsoft Office 2003;WSID=RJHLJUN;DATABASE=dcwork

2.本地已创建数据源的方式

DSN=数据源名称;UID=用户名;WD=密码;APP=Microsoft Office 2003;WSID=数据库的主机名;DATABASE=数据库名

实例:

DSN=LocalServer;UID=sa;WD=sa;APP=Microsoft Office 2003;WSID=RJDCWORKTEST;DATABASE=dcwork

二、DB2格式:

(本地至少安装DB2 Run-Time Client Lite)

connectionstring(连接字符串):

1.本地没有创建数据源的方式

DRIVER={IBM DB2 ODBC DRIVER};UID=用户名;WD=密码;MODE=SHARE;DBALIAS=数据库名;

实例:

DRIVER={IBM DB2 ODBC DRIVER};UID=db2admin;WD=db2admin;MODE=SHARE;DBALIAS=DCWORK;

2.本地已创建数据源的方式

DSN=数据源名称;UID=用户名;WD=密码;MODE=SHARE;DBALIAS=DCWORK;

实例:

DSN=DWCORKDB2;UID=db2admin;WD=db2admin;MODE=SHARE;DBALIAS=DCWORK;

三、Oracle格式:(本地需要安装Oracle ODBC DRIVER)

connectionstring(连接字符串):

1.本地没有创建数据源的方式

DRIVER={Oracle in OraHome92};SERVER=数据库服务名;UID=用户名;WD=密码;DBQ=数据库名;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T; RST =T;GDE=F;FRL=Lo;BAM=IfAllSuccessful;MTS=F;MDI=Me;CSR=F;FWC=F;FC=10;TLO=O;

实例:

DRIVER={Oracle in OraHome92};SERVER=DCWORK;UID=DCWORK;WD=DCWORK; DBQ=DCWORK;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=Lo;BAM=IfAllSuccessful;MTS=F;MDI=Me;CSR=F;FWC=F;FC=10;TLO=O;

2.本地已创建数据源的方式

DSN=数据源名称;UID=用户名;WD=密码;DBQ=数据库名; DBA=W; APA=T; EXC=F; FEN=T; QTO=T; FRC=10; FDL=10; LOB=T; RST=T; GDE=F; FRL=F; BAM=IfAllSuccessful; MTS=F; MDI=F; CSR=F; FWC=F; PFC=10; TLO=0;

实例:

DSN=dcworkoracle;UID=DCWORK;DBQ=DCWORK;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=F;BAM=IfAllSuccessful;MTS=F;MDI=F;CSR=F;FWC=F;FC=10;TLO=0;


作者: lyscser    时间: 2010-9-26 20:06
调存储过程的实例,不过连接方式可以参照上文修改,这里只是体现出有数据源的情况
Ø  无结果返回
Dim adoconn         'Connection Object
Dim adocomm      'Connection Command
Set adoconn  = CreateObject("ADODB.Connection")
Set adocomm = CreateObject("ADODB.Command")
adoconn.Open "DSN=cowstg;UID=user;WD=asdf4321;SERVER=cowstg"
adocomm.ActiveConnection = adoconn
adocomm.CommandType = 4
adocomm.CommandText ="practice"    '包名称
adocomm.Execute
Set adocomm = Nothing
Set adoconn = Nothing

Ø  有结果返回
Set con = CreateObject("ADODB.Connection")
con.open "DSN=QTP_PAS;SERVER=cowstg;UID=pascde;WD=****;"  
set   mycommand=CreateObject("adodb.command")   
mycommand.CommandType=4   
mycommand.CommandText="pas_cp_upload_pkg.get_invest_account"   
mycommand.Parameters.Append   mycommand.CreateParameter("memno",200,1,60,"MC*12")
mycommand.Parameters.Append   mycommand.CreateParameter("countype",200,1,60,"03")
mycommand.Parameters.Append   mycommand.CreateParameter("counsource",200,1,60,"01")
mycommand.Parameters.Append   mycommand.CreateParameter("taxtype",200 ,1,60,"02")
mycommand.Parameters.Append   mycommand.CreateParameter("fundid",200,1,60,"MC*21")
mycommand.Parameters.Append   mycommand.CreateParameter("balance",200 ,2,60)  
mycommand.Parameters.Append   mycommand.CreateParameter("status",200,2,60)  
set mycommand.ActiveConnection=con  
mycommand.execute  

msgbox   mycommand.Parameters("balance")
msgbox   mycommand.Parameters("status")




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