oracle虚拟用户是什么意思,lr脚本中oracle 2tier虚拟用户相关内容
目的: 本文記錄一些在使用oracle 2tier時了解的東西。以防止自己忘記 (一)如果選擇錄制腳本的話 1、vugen會生成以下這些跟其他協議不同的文件 vdf.h 作用:定義各種變量 print.inl 作用:打印表格使用的函數。錄制腳本時才有用,寫腳本的話沒有用 oracle20090225b.grd 作用:打印表格的格式。錄制腳本時才有用,寫腳本的話沒有用 oracle20090225b.rdf 作用:這個不大清楚,應該是打印表格的內容。用ue打開都是些框框。錄制腳本時才有用,寫腳本的話沒有用 2、錄制腳本的好處 ? 需要的東西什么都有了。只要找到要執行的sql。然后將其中的sqltext部分參數化掉就可以了。 ?? select時生成的幾個表格不錯。可以在上面完成參數的保存和將搜索的結果保存成dat文件。用起來還是比較直觀的 3、錄制腳本不好的地方 使用plsql或者toad這樣的工具錄制出來的腳本有很多的操作就是測試中不需要的。對于不了解lr腳本的用戶來說這些東西會造成一些麻煩。了解的話把這些不需要的語句都去掉就行了。 (二)如果選擇自己寫腳本的話 需要用到以下這些語句 #include "lrd.h" static LRD_INIT_INFO InitInfo = {LRD_INIT_INFO_EYECAT}; static LRD_DEFAULT_DB_VERSION DBTypeVersion[] = { ??????? {LRD_DBTYPE_NONE, LRD_DBVERSION_NONE} }; //定義各種變量。錄制生成的腳本中,這些變量的定義在vdf.h中。 static void FAR *?????? OraEnv1; 。。。 unsigned long?????????? rownum; static unsigned long??????? uliRowsProcessed; static unsigned long??????? uliFetchedRows; static LRD_VAR_DESC????? MEMBERCODE_D55 = ??? {LRD_VAR_DESC_EYECAT, 500, 8, LRD_DBTYPE_ORACLE, {1, 0, 0}, 。。。。 vuser_init() { //初始化數據庫部分 lrd_init(&InitInfo, DBTypeVersion); lrd_initialize_db(LRD_DBTYPE_ORACLE, 3, 0); lrd_env_init(LRD_DBTYPE_ORACLE, &OraEnv1, 0, 0); lrd_ora8_handle_alloc(OraEnv1, SVCCTX, &OraSvc1, 0); lrd_ora8_handle_alloc(OraEnv1, SERVER, &OraSrv1, 0); lrd_ora8_handle_alloc(OraEnv1, SESSION, &OraSes1, 0); //連接數據庫 lrd_server_attach(OraSrv1, "aaa", -1, 0, 0); //這里填寫數據庫的名稱 lrd_ora8_attr_set_from_handle(OraSvc1, SERVER, OraSrv1, 0, 0); //設定數據庫密碼 lrd_ora8_attr_set(OraSes1, USERNAME, "aaa", -1, 0); //這里填寫用戶名 lrd_ora8_attr_set(OraSes1, PASSWORD, "bbb", -1, 0);//這里填寫密碼 //初始化連接session lrd_ora8_attr_set_from_handle(OraSvc1, SESSION, OraSes1, 0, 0); //開始連接數據庫 lrd_session_begin(OraSvc1, OraSes1, 1, 0, 0); lrd_ora8_handle_alloc(OraEnv1, STMT, &OraStm4, 0); } Action() {//設定查詢語句 lrd_ora8_stmt(OraStm4, "select * from member", 1, 0, 0);//這里填寫SQL語句 //執行查詢語句 lrd_ora8_exec(OraSvc1, OraStm4, 0, 0,&rownum, 0, 0, 0, 0, 1); //這些無聊的東西不綁定的話無法執行lrd_ora8_fetch。一個查詢結果的每個字段都要綁定一下。像這樣的東西OraDef37,MEMBERCODE_D55。需要在上面定義一下 lrd_ora8_bind_col(OraStm4, &OraDef37, 1, &MEMBERCODE_D55, 0, 0); //保存變量第1列 第1行。保存到參數a中。通過這個就可以在之后使用查詢到的直的。這個函數一般用在fatch之前。 lrd_ora8_save_col(OraStm4,1,1,0,"a"); //執行fetch。倒數第4個參數是0。在幫助中是PrintRow1這類的東西,這是在print.inl那個文件中定義的用來把表格打出來的函數。這里用0就是不用這個打印的東西,這樣的話也就用不到print.inl這個文件和其他的定義打印表格格式的文件了。 lrd_ora8_fetch(OraStm4, 2,2, &uliFetchedRows, 0, 2, 0, 0); lr_output_message("%s.%s",lr_eval_string("{a}")); } vuser_end() { //釋放數據庫連接 lrd_handle_free(&OraStm4, 0); lrd_session_end(OraSvc1, OraSes1, 0, 0); lrd_server_detach(OraSrv1, 0, 0); lrd_handle_free(&OraEnv1, 0); }
總結
以上是生活随笔為你收集整理的oracle虚拟用户是什么意思,lr脚本中oracle 2tier虚拟用户相关内容的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle unpivot 空值,sq
- 下一篇: 雪铁龙凡尔赛加速抖动引质疑 汽车大V用手