日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Oracle數據庫返回cursor問題的解決方法

瀏覽:290日期:2023-11-22 19:31:25

這篇論壇文章(賽迪網技術社區)著重介紹了Oracle數據庫返回cursor問題的解決方法,詳細內容請參考下文:

昨天使用 Data Block 操作 oracle 返回 cursor 。期間產生了一點問題,很是郁悶,找了一下午也沒有解決。早上睡不著,起來繼續找。結果找到了解決的方法。其實也是怪自己沒有很好的看文檔。在此記錄一下。以使別的同志再出現我的問題的時候,很容易的找到解決的方法。

問題是這樣的:

我在oracle里面有這樣一個過程

PROCEDURE ListAllStatic_Users (cur_Static_User OUT T_CURSOR)

IS

BEGIN

OPEN cur_Static_User FOR

Select * FROM Static_User ;

END ListAllStatic_Users;

我在程序里面如下調用:

Database db = DatabaseFactory.CreateDatabase('oraserver');

string sqlCommand = 'Static_UserPackage.ListAllStatic_Users';

DBCommandWrapper dbCommandWrapper =db.GetStoredProcCommandWrapper(sqlCommand);

DataSet dsCustomers = db.ExecuteDataSet(dbCommandWrapper);

DataGrid1.DataSource=dsCstomers;

DataGrid1.DataBind();

結果出現如下問題:

ORA-06550: 第 1 行, 第 7 列: PLS-00306: 調用 'LISTALLSTATIC_USERS' 時參數個數或類型錯誤 orA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored

說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。

異常詳細信息: System.Data.OracleClient.OracleException: orA-06550: 第 1 行, 第 7 列: PLS-00306: 調用 'LISTALLSTATIC_USERS' 時參數個數或類型錯誤 orA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored

源錯誤:

行 44:

行 45: DataSet dsCustomers = db.ExecuteDataSet(dbCommandWrapper);行 46: DataGrid1.DataSource=dsCustomers;

行 47: DataGrid1.DataBind();

我以為是我的參數沒有弄對,于是就加了一句:

dbCommandWrapper.AddOutParameter('cur_Static_User',DbType.Object,500);

結果還是一樣的。后來也試驗了

OracleCommandWrapper.AddParameter(string,DbType,int,ParameterDirection,bool,byte,byte,string,DataRowVersion,object);

這個方法來添加,也是不行。

后來就上網找了很長時間也沒有什么進展。今天早上起來,還是一籌莫展,偶爾的打開Enterprise Library安裝目錄的Enterprise Library Release Notes.rtf文件,發現里面有這么一段

2.4 Data Access Application Block: Default oracle cursor cur_OUT

The managed provider for oracle requires you to explicitly bind your reference cursor in your parameter collection. This means you must explicitly create an output parameter for the cursor in your application code. However, that code will not be portable with database systems that do not require a parameter for the cursor. The oracleDatabase allows you to create commands without specifying a cursor. It will create a cursor, named cur_OUT, for commands that execute a stored procedure and do not include an output parameter for the cursor. This means that you can name your reference cursor as 'cur_OUT' and the Data Access Application Block will bind it for you; you do not need to explicitly create an output parameter for the cursor. If your stored procedures use a cursor with a name other than 'cur_OUT,' you must explicitly add a parameter for each cursor to the command. Similarly, if your stored procedure contains multiple cursors, you must explicitly add each cursor parameter to the command.

這下我就明白了。在我的oracle函數中,我的名字 cur_Static_User 和默認的名字cur_OUT不匹配。

于是我就改了我的存儲過程的參數名稱,cur_Static_User改為 cur_OUT。

問題就解決了。

經過試驗,也可以用如下方法用自己的參數名,而不用默認的參數名。

也可以,在一個PROCEDURE中返回多個 CURSOR

我的存儲過程:

Procedure STATIC_USER_SelectAll

( cur_OUT_f OUT T_OUT, cur_OUT_g OUT T_OUT)

AS

Begin

OPEN cur_OUT_f FOR Select * from STATIC_USER;

OPEN cur_OUT_g FOR Select * from STATIC_ROLE;

End;

代碼如下:

Database db = DatabaseFactory.CreateDatabase('oraserver');

string sqlCommand = 'Static_UserPackage.STATIC_USER_SelectAll';

Microsoft.Practices.EnterpriseLibrary.Data.Oracle.OracleCommandWrapper dbCommandWrapper =(Microsoft.Practices.EnterpriseLibrary.Data.Oracle.OracleCommandWrapper)db.GetStoredProcCommandWrapper(sqlCommand);

dbCommandWrapper.AddParameter('cur_OUT_f', OracleType.Cursor, 0, ParameterDirection.Output, true, 0, 0, String.Empty, DataRowVersion.Default, Convert.DBNull);

dbCommandWrapper.AddParameter('cur_OUT_g', OracleType.Cursor, 0, ParameterDirection.Output, true, 0, 0, String.Empty, DataRowVersion.Default, Convert.DBNull);

DataSet dsCustomers = db.ExecuteDataSet(dbCommandWrapper);

DataGrid1.DataSource=dsCustomers.Tables[0];

DataGrid1.DataBind();

DataGrid2.DataSource=dsCustomers.Tables[1];

DataGrid2.DataBind();

標簽: Oracle 數據庫
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产一区二区三区四区五区传媒| 成人羞羞在线观看网站| 免费一级欧美片在线观看网站 | 亚洲天堂1区| 久久中文欧美| 国产精品天天看天天狠| 久久中文字幕av| 日本少妇一区二区| 日韩精品福利一区二区三区| 日韩欧美视频专区| 精品国产一区二| 麻豆久久一区| 精品中文字幕一区二区三区四区| 国产亚洲第一伦理第一区| 综合干狼人综合首页| 欧美日韩国产精品一区二区亚洲| 色老板在线视频一区二区| 天堂а√在线最新版中文在线| 麻豆精品在线| 超碰超碰人人人人精品| 九色porny丨国产首页在线| 亚洲精品123区| 日韩三区免费| 妖精视频成人观看www| 日韩制服丝袜av| 欧美日韩伊人| 国产精品欧美三级在线观看| 国产乱码精品一区二区三区亚洲人| 国产伦理一区| 秋霞影院一区二区三区 | 亚洲一区黄色| 国产探花在线精品一区二区| 给我免费播放日韩视频| jiujiure精品视频播放| 91福利精品在线观看| 国产亚洲欧美日韩在线观看一区二区 | 日韩精品久久久久久| 国产午夜久久av| 88xx成人免费观看视频库| 综合亚洲色图| 日韩高清成人| 91精品国产一区二区在线观看| 黄色在线网站噜噜噜| 亚洲精品视频一二三区| 欧美成人a交片免费看| 日本欧美韩国一区三区| 99久久精品国产亚洲精品| 亚洲一区国产| 国产v日韩v欧美v| 欧美日韩精品一区二区三区在线观看| 日韩大片在线| 国产欧美日韩一区二区三区在线| 99久久99久久精品国产片果冰| 久久精品凹凸全集| 亚州欧美在线| 久久亚洲风情| 亚洲色诱最新| 日韩综合精品| 国产96在线亚洲| 国产精品色在线网站| 爽好久久久欧美精品| 久久久精品网| 久久中文字幕一区二区| 国产午夜久久av| 亚洲精品第一| 欧美日韩调教| 欧美精品国产白浆久久久久| 亚洲毛片网站| 国产免费久久| 免费在线观看一区| 久久亚洲国产精品尤物| 国产一区二区三区不卡视频网站 | 精品香蕉视频| 美女久久99| 精品日本视频| 日韩欧美综合| 在线精品视频在线观看高清| 91久久在线| 日韩综合小视频| 国产精品亚洲综合久久| 精品一级视频| 日韩精品一区二区三区免费观影| 亚洲先锋成人| 国产精品呻吟| 蜜桃一区二区三区在线| 国产欧美自拍一区| 精品国产一区二区三区性色av| 麻豆国产在线| 亚洲欧美激情诱惑| 国产女人18毛片水真多18精品| yellow在线观看网址| 免费在线看一区| 色爱av综合网| 国产精品一区二区免费福利视频| 国产精品中文| 久久不射网站| 国产精品羞羞答答在线观看| 欧美日韩视频免费看| 精品日本视频| 鲁鲁在线中文| 日韩专区欧美专区| 国产精品综合色区在线观看| 国产在视频一区二区三区吞精| 国产精品99精品一区二区三区∴ | 日韩高清欧美激情| 蜜臀久久99精品久久久久久9 | 欧美激情麻豆| 久久一区精品| 亚洲欧美一区在线| 亚洲小说春色综合另类电影| 欧美中文一区二区| 亚洲综合婷婷| 久久免费影院| 日本 国产 欧美色综合| 成人一区不卡| 亚洲一区免费| 成人久久久久| 日本一不卡视频| 久久天堂av| 国产免费久久| 欧美一区二区性| 国产精品久久| 久久av一区| 精品72久久久久中文字幕| 欧美精品一二| 岛国av在线网站| 久久黄色影视| 久久国产88| 夜久久久久久| 久久精品亚洲人成影院| 欧美激情 亚洲a∨综合| 合欧美一区二区三区| 国产va在线视频| 国产极品模特精品一二| 亚洲精选久久| 亚洲小说欧美另类婷婷| 日韩专区精品| 国产欧美一区二区三区精品酒店| 欧美在线看片| 亚洲精品乱码久久久久久蜜桃麻豆 | 在线视频观看日韩| 日韩欧美中文字幕电影| 一区二区国产在线| 久久精品卡一| 久久精品青草| 亚洲女同一区| 麻豆成人在线| 亚欧成人精品| 国产精品一区三区在线观看| 日本不卡中文字幕| 国产精选久久| 精品国产亚洲一区二区三区在线 | 美女视频黄久久| 国产一区二区三区四区大秀| 日韩电影免费网站| 动漫av一区| 五月婷婷亚洲| 99免费精品| 在线精品一区| 久久女人天堂| 欧美日韩国产综合网| 亚洲精品日本| 免费观看在线色综合| 日韩不卡在线观看日韩不卡视频 | 日韩伦理福利| 日韩国产综合| 午夜亚洲一区| 日本亚洲三级在线| 久久久久观看| 欧美日韩高清| 国产精品成人自拍| 日韩精品免费一区二区三区| 99re国产精品| 亚洲精品一级| 在线日韩电影| 麻豆精品久久久| 激情欧美国产欧美| 精品国产a一区二区三区v免费| 久久午夜影视| 免费观看亚洲| 欧美日韩xxxx| 亚洲午夜免费| 欧美xxxx中国| 亚洲精品自拍| 久久精品不卡| 国产精品夜夜夜| 日韩高清电影一区| 国产免费成人| 欧美一区三区| 老司机免费视频一区二区三区| 亚洲天堂免费| 国产精品免费看| 亚洲精品99| 91精品国产福利在线观看麻豆| 国产精品激情| 蜜桃免费网站一区二区三区| 婷婷激情一区| 午夜在线精品偷拍| 久久久影院免费| 欧洲精品一区二区三区|