QTP实战19-QTP连接数据库,获取表中数据;数据连接方式
上一篇 / 下一篇 2010-11-15 15:31:08 / 个人分类:.qTp.实战
很多情况下,我们需要通过查询数据库中数据表内容检查数据是否符合功能要求,这就需要通过功能测试工具与数据库进行连接,获取表中数据,并检查数据是否正确。
脚本内容如下:
Set sqldb=createobject("adodb.connection")
Set sqlrs=createobject("adodb.recordset")
'SQL连接方式
sqldb.open="Provider=SQLOLEDB.1;Server=192.168.9.1;User ID=sa;Password=sa;Database=master"
'Oracle连接方式
'conn.open= "Provider=OraOLEDB.Oracle.1;Password=*;Persist Security Info=True;UserID=*;SERVER=*;Data Source=*;DBQ=*;"
sqlset="select * from spt_datatype_info_ext"
sqlrs.open sqlset,sqldb
n=1
Do while not sqlrs.eof
t_value=sqlrs("typename")
'设置数据表的当前行
datatable.SetCurrentRow(n)
'给数据表指定位置赋值,语句执行前,通过手工操作在Action1的数据表中,增加一个test列
DataTable("test",dtlocalSheet)=t_value
'显示所取到的数据值
msgbox t_value
sqlrs.movenext
n=n+1
Loop
各种类型数据库驱动写法
SQL Server格式(本地无需安装SQL Server)
connectionstring(连接字符串):
1.本地没有创建数据源的方式
DRIVER=SQL Server;SERVER=数据库IP地址;UID=用户名;PWD=密码;APP=Microsoft Office 2003;WSID=本地主机名;DATABASE=数据库名
实例:
DRIVER=SQL Server;SERVER=10.160.11.10;UID=sa;PWD=sa;APP=Microsoft Office 2003;WSID=RJHLJUN;DATABASE=dcwork
2.本地已创建数据源的方式
DSN=数据源名称;UID=用户名;PWD=密码;APP=Microsoft Office 2003;WSID=数据库的主机名;DATABASE=数据库名
实例:
DSN=LocalServer;UID=sa;PWD=sa;APP=Microsoft Office 2003;WSID=RJDCWORKTEST;DATABASE=dcwork
DB2格式:(本地至少安装DB2 Run-Time Client Lite)
connectionstring(连接字符串):
1.本地没有创建数据源的方式
DRIVER={IBM DB2 ODBC DRIVER};UID=用户名;PWD=密码;MODE=SHARE;DBALIAS=数据库名;
实例:
DRIVER={IBM DB2 ODBC DRIVER};UID=db2admin;PWD=db2admin;MODE=SHARE;DBALIAS=DCWORK;
2.本地已创建数据源的方式
DSN=数据源名称;UID=用户名;PWD=密码;MODE=SHARE;DBALIAS=DCWORK;
实例: DSN=DWCORKDB2;UID=db2admin;PWD=db2admin;MODE=SHARE;DBALIAS=DCWORK;
Oracle格式:(本地需要安装Oracle ODBC DRIVER)
connectionstring(连接字符串):
1.本地没有创建数据源的方式
DRIVER={Oracle in OraHome92};SERVER=数据库服务名;UID=用户名;PWD=密码;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;PFC=10;TLO=O;
MYSQL格式:(本地需要安装MYSQL ODBC DRIVER)
Dim Cnn
Set Cnn = CreateObject("ADODB.Connection")
Cnn.ConnectionString ="DATABASE=testmysql;DSN=192.168.1.63;OPTION=0;PWD=123456;PORT=0;SERVER=192.168.1.63;UID=root"
Cnn.Open
If Cnn.State = 0 Then
Reporter.ReportEvent micFail, "testing", "连接数据库失败"
else
Reporter.ReportEvent micPass, "testing", "连接数据库成功"
end if
2.本地已创建数据源的方式
DSN=数据源名称;UID=用户名;PWD=密码;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;PFC=10;TLO=0;
TAG: