title: Oracle CLOB storing Arabic Numbers in form of '?'
body: <p>I am working on a Desktop C# Application. One of my field is of type <em>CLOB</em>. The data I enter assign perfectly well in C# based variable but upon storing value in Oracle it store number as '?'. For instance if a string is <strong>hi۱۲۳</strong>, upon storing it becomes <strong>hi???</strong></p>
  
  <p>It is only happening with number, the rest of text in Arabic text saves fine.</p>
  
  <p>Upon Running query:</p>
  
  <pre><code>select dump(CONTENT) from MyTable
  </code></pre>
  
  <p>gives error:</p>
  
  <pre><code>[Err] ORA-00932: inconsistent datatypes: expected - got CLOB
  </code></pre>
  
  <p>Below is the code that Insert CLOB</p>
  
  <pre><code>public void InsertCLOB(string SQLStatement, string str)
          {
               System.Data.OracleClient.OracleDataReader rstOracle = null;
               System.Data.OracleClient.OracleCommand sqlCommandOracle = null;
               System.Data.OracleClient.OracleTransaction txn = null;
               System.Data.OracleClient.OracleLob clob = null;
               try
               {
                   if (SQLStatement.Length &gt; 0)
                   {
                       if (myConnection.State.ToString().Equals("Open"))
                       {
                           byte[] newvalue = System.Text.Encoding.Unicode.GetBytes(str);
                           sqlCommandOracle =
                             new System.Data.OracleClient.OracleCommand(SQLStatement, myConnection);
                           rstOracle = sqlCommandOracle.ExecuteReader();
                           rstOracle.Read();
                           txn = myConnection.BeginTransaction();
                           clob = rstOracle.GetOracleLob(0);
                           clob.Write(newvalue, 0, newvalue.Length);
                           txn.Commit();
                           Console.WriteLine("CLOB UPDATED");
                       }
                   }
               }
               catch (Exception ex)
               {
                   Console.WriteLine(ex.TargetSite + " - " + ex.Message);
               }
               finally
               {
                   sqlCommandOracle.Dispose();
                   rstOracle.Close();
                   txn.Dispose();
                   clob.Close();
               }
  
          }
  </code></pre>