https://bugzilla.novell.com/show_bug.cgi?id=323528

User [EMAIL PROTECTED] added comment
https://bugzilla.novell.com/show_bug.cgi?id=323528#c1


WebServices Group <[EMAIL PROTECTED]> changed:

           What    |Removed                                         |Added
----------------------------------------------------------------------------
                 CC|                                                |[EMAIL 
PROTECTED]
           Severity|Enhancement                                     |Critical




--- Comment #1 from WebServices Group <[EMAIL PROTECTED]>  2008-09-09 13:23:27 
MDT ---
Update - still fails in 2.0, throws exception

When an OracleDataAdapter is employed to fill the contents of a DataTable from
the return value of an OUT cursor, the Fill() method crashes in a subsidiary
reference to the database connection (See first inline code example).  We work
around this by not using the OracleDataAdapter, and instead directly loading
the DataTable from the OracleDataReader created from the OUT cursor parameter.

-----------------------------------------------------------
With the following pl/sql stored procedure:
-----------------------------------------------------------

  ----------------------------------------------------------------------
  -- ListAuditSamples
  --   Returns a list of the exact timestamps of all the audit samples
  --   archived for the speciied station between the specified dates
  ----------------------------------------------------------------------
  PROCEDURE  ListAuditSamples
    (
      stationID        IN AUDIO_SAMPLE.BRDCST_STN_HIST_ID%type,
      dateRangeStart   IN AUDIO_SAMPLE.AUDIO_SAMPLE_TS%type,
      dateRangeEnd     IN AUDIO_SAMPLE.AUDIO_SAMPLE_TS%type,
      resultCursor    OUT SYS_REFCURSOR
    )
  AS
  BEGIN

      OPEN resultCursor FOR
    SELECT AUDIO_SAMPLE_TS, AUDIO_SAMPLE_ID
      FROM AUDIO_SAMPLE
     WHERE AUDIO_SAMPLE.BRDCST_STN_HIST_ID = stationID
       AND AUDIO_SAMPLE.AUDIO_SAMPLE_TS >= dateRangeStart
       AND AUDIO_SAMPLE.AUDIO_SAMPLE_TS <= dateRangeEnd
    ORDER BY AUDIO_SAMPLE.AUDIO_SAMPLE_TS;

  END; -- PROCEDURE  ListAuditSamples

-----------------------------------------------------------
using the following code:
-----------------------------------------------------------

System.Data.OracleClient.OracleCommand cmd = new OracleCommand(PKG_NAME +
".ListAuditSamples", this.connection);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add( CreateNumberParam("stationID", stationID) );

cmd.Parameters.Add( CreateDateParam("dateRangeStart", dateRangeStart) );

cmd.Parameters.Add( CreateDateParam("dateRangeEnd", dateRangeEnd) );

cmd.Parameters.Add( CreateCursorParam("resultCursor") );

System.Data.OracleClient.OracleDataAdapter oda = new OracleDataAdapter(cmd);
System.Data.DataSet dataSet = new DataSet();
oda.Fill(dataSet);


-----------------------------------------------------------
yields the following error:
-----------------------------------------------------------


System.ArgumentNullException: null key
Parameter name: key
  at System.Collections.Hashtable.get_Item (System.Object key) [0x00000]
  at System.Data.OracleClient.OracleConnectionPoolManager.GetConnectionPool
(OracleConnectionInfo info, Int32 minPoolSize, Int32 maxPoolSize) [0x00000]
  at System.Data.OracleClient.OracleConnection.Open () [0x00000]
  at System.Data.Common.DbDataAdapter.Fill (System.Data.DataSet dataSet, Int32
startRecord, Int32 maxRecords, System.String srcTable, IDbCommand command,
CommandBehavior behavior) [0x00000]
  at System.Data.Common.DbDataAdapter.Fill (System.Data.DataSet dataSet)
[0x00000]
  at Landmark.Services.MetaData.MetaDataDAL.ListAuditSamples (Decimal
stationID, DateTime dateRangeStart, DateTime dateRangeEnd) [0x00000]
  at Landmark.Services.MetaData.MetaDataWrangler.ListAuditSamples (Decimal
stationID, DateTime dateRangeStart, DateTime dateRangeEnd) [0x00000]
  at Landmark.WebServices.MetaData.MetaDataService.ListAuditSamplesByDateRange
(Decimal stationID, DateTime dateRangeStart, DateTime dateRangeEnd) [0x00000]


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to