Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

बड़े सीएलओबी के साथ सी # से संग्रहित प्रक्रिया को कॉल करने में समस्याएं

मैंने पाया कि वहाँ है समस्या को हल करने का दूसरा तरीका! मेरे साथी कर्मचारी ने मुझे इस ब्लॉग की ओर इशारा करते हुए अपना दिन बचाया, जो कहता है:

<ब्लॉककोट>

पैरामीटर मान सेट करें जबBeginTransaction पहले ही DbConnection पर कॉल किया जा चुका हो।

क्या यह आसान हो सकता है? ब्लॉग Oracle.DataAccess . से संबंधित है , लेकिन यह ठीक वैसे ही काम करता है जैसे System.Data.OracleClient

व्यवहार में इसका अर्थ है:

varcmd = new OracleCommand("LoadXML", _oracleConnection);
cmd.CommandType = CommandType.StoredProcedure;

var xmlParam = new OracleParameter("XMLFile", OracleType.Clob);
cmd.Parameters.Add(xmlParam);

// DO NOT assign the parameter value yet in this place

cmd.Transaction = _oracleConnection.BeginTransaction();
try
{
    // Assign value here, AFTER starting the TX
    xmlParam.Value = xmlWithWayMoreThan4000Characters;

    cmd.ExecuteNonQuery();
    cmd.Transaction.Commit();
}
catch (OracleException)
{
    cmd.Transaction.Rollback();
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle तालिका में डेटा आयात करने के लिए PL/SQL प्रक्रिया ऑनलाइन उत्पन्न करें

  2. आप कैसे बता सकते हैं कि Oracle में कोई मान संख्यात्मक नहीं है?

  3. जांचें कि क्या दो चयन समकक्ष हैं

  4. Oracle में PL SQL ब्लॉक कैसे निष्पादित करें

  5. ओरेकल जॉइन (+) के साथ लेफ्ट आउटर जॉइन या राइट आउटर जॉइन कैसे खोजें