Question : ORA-12704: character set mismatch

Hi Experts,

I have a java program that uses 2 ODBC connections to retrieve data from a Oracle-DB and insert it to an DB2-DB.
The program was running fine, but a new option should be added. if a particular field is empty I have to fill it with a '.' dot.
So no big deal I thought but now i get the error : "java.sql.SQLException: ORA-12704: character set mismatch" on the rs = stmtOra.executeQuery();

The original SQL-string looked like this:

stmtOra=dbConnOra.prepareStatement("select " +    
  " a.Field1, " +  
  " b.Field2, " +                                  
  " replace(c.Field3,'''',''''''),"  +
Etc.etc.etc.

I changed it into:

stmtOra=dbConnOra.prepareStatement("select " +    
  " a.Field1, " +  
  " b.Field2, " +                                  
  " case when (c.Field3 = NULL) then '.'" +      
     " when (c.Field3 = ' ')  then '.'" +      
     " else replace(c.Field3,'''','''''') end,"
Etc.etc.etc.

Remark: fields 1,2 and 3 are also defined in the "group by" clause

Answer : ORA-12704: character set mismatch

Addr2 = varchar
but I found the problem :

I had to replace the '.'  in to n'.' to indicate the characterset :(

(a typical Oracle messy way to solve thing....)


Thanks for all your time and help
Murphey

DB2 rulez
Random Solutions  
 
programming4us programming4us