51Testing软件测试论坛
标题:
ddt_update_from_db函数调用问题
[打印本页]
作者:
zjuan2002
时间:
2006-8-28 17:55
标题:
ddt_update_from_db函数调用问题
ddt_update_from_db函数调用问题,
目的是想从数据库中取一定条件下的数据到数据表(456.xls)中
具体代码如下:
table1="C:\\Program Files\\Mercury Interactive\\WinRunner\\dat\\his\\test3\\456.xls";
rc=ddt_open(table1,DDT_MODE_READWRITE);
if (rc!=E_OK)
pause("error");
testname = getvar("testname") ;
sql_query = testname & "C:\\Program Files\\Mercury Interactive\\WinRunner\\dat\\his\\test3\\chklist\\\msqr3.sql";
ddt_update_from_db(table1,sql_query,out_row_count,NO_LIMIT,30);
ddt_save("table1");
ddt_close_all_tables();
msqr3文件的内容如下:
Description=stationnet;DRIVER=SQL Server;SERVER=(local);UID=LAI;APP=WinRunner;WSID=LAIXIAOJUAN;DATABASE=stationnet;Trusted_Connection=Yes
select g_clinic_master.register_no from g_clinic_master where g_clinic_master.registering_date >='2006-08-28 00:00:00'
运行通过,但我打开456.xls这个文件,看到内容并没有任何改变,请高手帮忙看看是怎么回事。谢谢了!
作者:
zjuan2002
时间:
2006-8-29 15:10
怎么没人回啊,没人知道怎么回事吗?
作者:
快乐逍遥
时间:
2006-8-30 01:16
sql_query = testname & "C:\\Program Files\\Mercury Interactive\\WinRunner\\dat\\his\\test3\\chklist\\\msqr3.sql";
应该是这里错了吧 testname & "C:\.................“ 路径不对造成的
作者:
zjuan2002
时间:
2006-8-30 19:04
我加了个数据库检查点,运行成功,用ddt_update_from_db这个函数之前必须要有数据库检查点吗?
作者:
piao_604
时间:
2006-8-31 15:36
楼上的,数据已经成功写入exce文件了吗,我试了试,运行成功,但是数据没有写入,正在学习中,请指教!谢谢!
作者:
piao_604
时间:
2006-8-31 16:41
呵呵,还是我,问题已经解决, 我在运行过程中,先加数据库检查点,运行成功后,又把数据库检查点去掉,重新运行后,也成功了,可见应该跟数据库检查点没有关系才对,我觉得是 sql文件的问题,我的sql文件内容如下:
DRIVER={Oracle in OraHome92};SERVER=BJTEL;UID=TELECOM;PWD=TELECOM;DBQ=BJTEL;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;
SELECT T_LOG.SRNUMBER, T_LOG.SUBORDERNUMBER FROM TELECOM.T_LOG T_LOG WHERE T_LOG.SRNUMBER='O06083100038'
SRNUMBER SUBORDERNUMBER
希望大家共同进步,另外对楼主脚本里的以下两句不是很理解,
testname = getvar("testname") ;
sql_query = testname & "C:\\Program Files\\Mercury Interactive\\WinRunner\\dat\\his\\test3\\chklist\\\msqr3.sql";
我的脚本里没有用到这个,直接这样写的,也是成功的
ddt_update_from_db(table1,"E:\\lj\\test1.sql",out_row_count,NO_LIMIT,30);
作者:
快乐逍遥
时间:
2006-8-31 22:05
别人的代码不能一股脑儿照搬呀
testname = getvar("testname") ; 是取测试用例的路径,像下面这句这么写,当然是取不到正确的文件来执行了
testname = getvar("testname") ;
sql_query = testname & "C:\\Program Files\\Mercury Interactive\\WinRunner\\dat\\his\\test3\\chklist\\\msqr3.sql";
[
本帖最后由 快乐逍遥 于 2006-9-1 01:57 编辑
]
作者:
zjuan2002
时间:
2006-9-3 17:27
代码改以下
目的是想从数据库中取一定条件下的数据到数据表(456.xls)中
具体代码如下:
table1="C:\\Program Files\\Mercury Interactive\\WinRunner\\dat\\his\\test3\\456. xls";
rc=ddt_open(table1,DDT_MODE_READWRITE);
if (rc!=E_OK)
pause("error");
sql_query ="C:\\Program Files\\Mercury Interactive\\WinRunner\\dat\\his\\test3\\chklist\\\msqr3.sql";
ddt_update_from_db(table1,sql_query,out_row_count,NO_LIMIT,30);
ddt_save("table1");
ddt_close_all_tables
运行成功的前提条件是必须建立数据库检查点。有些不明白为什么?
[
本帖最后由 zjuan2002 于 2006-9-3 17:29 编辑
]
作者:
yj151221
时间:
2009-8-6 19:03
标题:
上面的sql文件的语句一定要那么写吗
在sql文件中有什么要求啊,只写sql语句行吗,前提是我已经连接了数据库了
作者:
liujinkui
时间:
2009-8-6 20:18
可以。
作者:
liujinkui
时间:
2009-8-6 20:23
直接执行SQL
db_execute_query(); (语法查下帮助)
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2