Search code examples
c#oracle-databaseclob

How to insert string in CLOB type column in oracle db using c#.net


i am trying to save a xml file as a string in clob type column in oracle db from c# am not sure how to insert clob type data from c#.

code here:

public bool Insert_XMLDocument(string ReportType,object XMLDocument)
    {
        try
        {
            Database db = DatabaseFactory.CreateDatabase("XMLDOC_ConnectionString");
            DbCommand dbc = db.GetStoredProcCommand("insert_XMLDOC");
            dbc.CommandType = CommandType.StoredProcedure;
            db.AddInParameter(dbc, "pid", DbType.Int32, 1);                
            db.AddInParameter(dbc, "repo_document", DbType.Object,XMLDocument);                
            int i = db.ExecuteNonQuery(dbc);
            if (i > 0)
                return true;
            else
                return false;
        }
        catch (Exception ex) { 
            //HandleException(ex); 
            return false; }

    }

Error due to compilation of this : Cannot bind type System.String as Blob.


Solution

  • instead of using database factory i used the .net oracle provider method in which we can get "OracleType.Clob" which solves the problem i just passed the xml document as string and the job was done