台灣最大程式設計社群網站
線上人數
532
 
會員總數:245791
討論主題:189424
歡迎您免費加入會員
討論區列表 >> Oracle >> 如何保持前端多個呼叫在同一個Oracle Session內
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何保持前端多個呼叫在同一個Oracle Session內
價值 : 30 QP  點閱數:2650 回應數:3
樓主

Albert
門外漢
0 4
36 1
發送站內信

小弟正在利用ASP.NET開發一個網站應用程式
需要存取Oracle View
但這個View會用到一些事先透過package指定的值
所以在執行查詢指令時
我必須先呼叫package

但我發覺無法確保第二次查詢指令
能取到第一次透過package設定的值
有時可以 有時不行
這令我蠻困擾的

我在兩次呼叫用的是同一個connection並沒有關閉
也試過用
begin
PK_ERP.P_SET_SEGMENT_NO('TEST');
select * from vTEST;
end;
當SQL來傳遞會出錯
是否有什麼方法可以達成此需求呢呢
謝謝


public DataSet GetDataSet()
{
OracleConnection conn = new OracleConnection(connString);
conn.Open();

OracleCommand command = new OracleCommand();
command.Connection = conn;
//先執行package設定變數值
string procedureName = "PK_ERP.P_SET_SEGMENT_NO('TEST')";
command.CommandText = procedureName;
command.CommandType = CommandType.StoredProcedure;
command.ExecuteNonQuery();
//查詢資料
DataSet ds = new DataSet();
OracleDataAdapter adpt = new OracleDataAdapter("select * from vTEST", conn);
adpt.Fill(ds);

return ds;
}

本篇文章發表於2011-04-26 16:39
1樓
最有價值解答

花旗蔘
檢舉此回應


本篇文章回覆於2011-04-26 17:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Albert
檢舉此回應
謝謝!本來我也用這種方式
但考慮到還要在客戶環境另外建一個procedure
就想說是否有從程式端就可控制的方法
看來還是要這樣做了
謝謝你囉
本篇文章回覆於2011-04-29 15:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

KKK
檢舉此回應
請問最後如何解決此問題呢?
本篇文章回覆於2011-07-07 18:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.