ORA-12704 character set mismatch" error with Oracle Nvarchar2 column

From: ychang <ychang_at_knorrassociates.com>
Date: 22 May 2003 06:19:09 -0700
Message-ID: <2e3ecf10.0305220519.77614a93_at_posting.google.com>


I'm connecting to Oracle 8.1.7.0 database using Oracle Provider for OLE DB. I'm receiving "ORA-12704 character set mismatch" error.

Problem occurs on nvarchar2 column, if I changed nvarchar2 column to varchar2 the problem does not exists.

The database is UTF8 national characterset. Client Windows Registry: HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG set to AMERICAN_AMERICA.UTF8. Both Server and Client OS are Win2000.

Here is the code (U_CODE is nvarchar2):

Dim MyConnection As OleDbConnection = New OleDbConnection("Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=myid;Password=mypassword;Data Source=mydatabase;")  

Dim myUpdateCommand As New OleDb.OleDbCommand("UPDATE MYTABLE SET U_CODE = ? WHERE U_ID = ?", MyConnection)  

myUpdateCommand.Parameters.Add("_at_U_ID", OleDbType.VarChar, 10,
"U_ID").Value="1"

myUpdateCommand.Parameters.Add("_at_U_CODE", OleDbType.VarWChar, 512,
"U_CODE")=" Pièce d'identité d'article"

myUpdateCommand.Connection.Open()
myUpdateCommand.ExecuteNonQuery()
myUpdateCommand.Connection.Close()

Thanks. Received on Thu May 22 2003 - 15:19:09 CEST

Original text of this message