Trafel
Trafel

Reputation: 9

C# OracleCommand: Problem with Umlauts äöü

I call this function to write data to an Oracle database, which works.

private void callDB_Migration(string[] _values)
{
    using (OracleCommand cmd = new OracleCommand("CHARTA_MIGRATION", oraCon))
    {
        cmd.CommandType = CommandType.StoredProcedure;

        OracleTransaction transact = oraCon.BeginTransaction();
        cmd.Transaction = transact;

        // Parameter clearen
        cmd.Parameters.Clear();

        try
        {
            // Values übergeben
            cmd.Parameters.Add("i_PersNummer", OracleDbType.Varchar2).Value = _values[0];
            cmd.Parameters.Add("i_Name", OracleDbType.Varchar2).Value = _values[1];
            cmd.Parameters.Add("i_Vorname", OracleDbType.Varchar2).Value = _values[2];
            cmd.Parameters.Add("i_Geburtsdatum", OracleDbType.Varchar2).Value = _values[3];

            // function CALL
            cmd.ExecuteNonQuery();
            cmd.Transaction.Commit();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
            cmd.Transaction.Rollback();
        }
    }
}   

But in some columns in the database, the umlauts are not stored:

Gnther, Jrgen

Can I somehow pass an encoding format to OracleCommand?

Upvotes: 0

Views: 83

Answers (1)

Pradeep Kumar
Pradeep Kumar

Reputation: 1546

When we works with multilingual data and special character which are not in English :- Always use NVARCHAR2 or similar datatype as per requirement.

Please Refer the below links for more details

5.Supporting Multilingual Databases with Unicode

6.Supporting Multilingual Databases with Unicode

Upvotes: 0

Related Questions