Re: screwed non-us7ascii characters while selecting from a database link

From: Laurenz Albe <invite_at_spam.to.invalid>
Date: 11 Jan 2008 14:36:12 GMT
Message-ID: <1200062165.981468@proxy.dienste.wien.at>


codadilupo <codadilupo_at_operamail.com> wrote:
> Hello, I have the following situation:
>
> db1: Oracle 9.0.1.3 with charset WE8ISO8859P1
> db2: Oracle 10.2.0.3 with charset AL32UTF8
>
> The two databases are on two different servers, db1 on SUSE SLES8 and
> db2 on SUSE SLES9.
>
> Inside db2, I created a simple database link to db1:
>
> CREATE DATABASE LINK db1_link CONNECT TO user IDENTIFIED BY password
> USING 'db1';
>
> My problem is that if, in db1, I "insert into table select * from

                              ^

 You mean "db2" here, right? |

> table_at_db1_link" the non-us7ascii characters are screwed, if I exp tables
> from db1 and imp them into db2 the characters are converted correcly.
>
> I'm checking the results both from Linux shell and mod_plsql webapp, so
> it's not a client issue.
>
> Any suggestion? Am I missing something?

The problem is probably that db2, when acting as client to of, has the client character set incorrectly defined.

I did not actually try it out, but the following might help:

Shutdown database server db2.
Exit from sqlplus.

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

sqlplus / as sysdba
Startup db2.

Now connect again _from a remote machine_ (do *not* use BEQ protocol).

Any difference?

Yours,
Laurenz Albe Received on Fri Jan 11 2008 - 08:36:12 CST

Original text of this message