DbPLSQLClobMethod
DbPLSQLClobMethodToFile

 

protected static bool DbPLSQLClobMethod(string methodName, string clobInData, params string[] parameters)
protected static bool DbPLSQLClobMethod(string methodName, out string clobOutData, params string[] parameters)
protected static bool DbPLSQLClobMethod(string methodName, string clobInData, out string clobOutData, params string[] parameters)

protected static bool DbPLSQLClobMethodToFile(string methodName, string fileName, params string[] parameters)

Method calling a PL/SQL procedure passing a CLOB as IN parameter, followed by none or several STRINGS as IN parameters

Parameters

Name Description
string methodName The PL/SQL function name.
string clobInData The clob data that is sent to the function.
params string[] parameters Optional string parameters IN to the function.
string clobOutData The clob data that is returned by the function.
string fileName The filename where the clob data should be written to.

Returns

The return value is TRUE upon sucess, FALSE otherwise.

Comments

Use DbPLSQLClobMethod to call dedicated PL/SQL methods, which will pass and/or return a clob to/from the database.

If clob is passed (written to database), the PROCEDURE/FUNCTION signature must define the first argument being IN CLOB.
If clob is retrieved (read from database), the FUNCTION signature must define the RETURN type being a CLOB.

This method can be compared to DbPLSQLBlock, there the result will not not be automaticaly commited, for why it needs to be handled within the client code in combination with DbTransactionEnd/DbTransactionClear.

Example

string clobInData = string.Empty;
string company = "10";


// Write the clob to the database.
DbTransactionBegin();
if (!DbPLSQLClobMethod("Customer_API.Write_Info", clobInData, company))
{
   // Rollback & exit!
   DbTransactionClear();
   return 0;
}

// Commit!
DbTransactionEnd();
...

-- PL/SQL procedure signature:
PROCEDURE Write_Info (clobData_ IN CLOB, company_ IN VARCHAR2)
string sBarCodes= string.Empty;
string company = "10";
string customer = "AUDI";

// Read the clob from the database.
if (!DbPLSQLClobMethod("Customer_API.Read_Barcode", out sBarCodes, company, customer))
      return 0; // Exit!
...

-- PL/SQL function signature:
FUNCTION Read_Barcode(company_ IN VARCHAR2, customer_ IN VARCHAR2) RETURN CLOB