|
dev
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Enterprise Library 2.0(or 3.0), if i call a oracle procedure with Cursor, thorw Exception.public string GetProductDetails(int productID) { OracleDatabase db = (DatabaseFactory.CreateDatabase()) as OracleDatabase; string sqlCommand = "PakageName.ProcedureName"; System.Data.OracleClient.OracleCommand dbCommand = (db.GetStoredProcCommand(sqlCommand)) as System.Data.OracleClient.OracleCommand; //two Parameter: //in Parameter db.AddInParameter(dbCommand, "InPar", DbType.String, productID); //out Pameter, this is a Cursor db.AddParameter(dbCommand, "refCur", System.Data.OracleClient.OracleType.Cursor, 0, ParameterDirection.Output,true, 0, 0, string.Empty, DataRowVersion.Current, 0); DataSet ds = db.ExecuteDataSet(dbCommand); //thorw Exception string results = string.Empty; foreach (DataRow dr in ds.Tables[0].Rows) { results += Convert.ToString(dr[0]) + Environment.NewLine; } return results; } Exception info: RA-04063: package body \"PakageName.ProcedureName\" ÓдíÎó\nORA-06508: PL/SQL: ÎÞ·¨ÔÚµ÷ÓÃ֮ǰÕÒµ½³ÌÐòµ¥Ôª\nORA-06512: ÔÚ line 1\n"} System.Exception {System.Data.OracleClient.OracleException} ÄÚ²¿µÄÒì³£ÐÅÏ¢ÊÇ£º ServerVersion ¡°adapter.SelectCommand.Connection.ServerVersion¡±Òý·¢ÁË ¡°System.InvalidOperationException¡±ÀàÐ͵ÄÒì³£ string {System.InvalidOperationException} thanks. |
|||||||||||||||||||||||