Re: Toubles Storing ASCII character greater than 127

From: joel garry <joel-garry_at_home.com>
Date: Wed, 21 Apr 2010 09:40:02 -0700 (PDT)
Message-ID: <3006a3ad-3d48-437b-b9e0-bda9909aaa42_at_f13g2000pra.googlegroups.com>



On Apr 21, 6:31 am, "George K." <kara..._at_gmail.com> wrote:
> Thank you guys, I meant to write a response yesterday once I found the
> solution but I was too tired :).
>
> I found reading material about oracle's charsets and I run into all
> the different NLS options.  Armed with that I was able to determine
> the connection options I have to setup in Perl in order to match the
> client with the server.
>
> Here are a few more details on the problem:
> 1) I am reading from an Informix table containing zlib compressed data
> stored in a lvarchar.
> 2) I need to store them in a mirror image table without losing
> integrity of the data because I can no longer un-compress them.
>
> The solution was finding an appropriate charset that will not messup
> the compressed data, I was only able to achive this with the
> WE8ISO8859P9 charset and here's how I used it:
>
>   my $dbhOracle = DBI->connect('dbi:Oracle:'.$dbname,$user,$password,
>                       {
>                         'RaiseError' => 0,
>                         'AutoCommit' => 0,
>                         'PrintError' => 0,
>                         'ora_charset'=> 'WE8ISO8859P9',
>                       })
>     || Carp::croak(DBI->errstr);
>
> Thank you again for your help, much appreciated.
>
> George

I'm not sure if this is an issue for you, but there's a possibility any time Oracle has to make a character conversion it may do so. I don't recall if there is a P9 to AL32UTF8 issue, but something is tickling the back of my brain that there are some obscure issues - maybe having to do with the Euro sign? I know I've seen docs about it, just can't remember the details. If you are relying on no translation or strict supersets to do what you want (ie, nothing) with binary data, you might have obscure intermittent problems. See the docs or google about the csscan utility, you can use it to see if your existing data is susceptible. But perhaps it isn't existing data you have to worry about. Maybe you can make a quick test of storing all characters and using the utility to see. If you are converting, you have to be careful that all tools do the same conversion - this is a classic issue with imp/exp.

As far as why Informix can do something Oracle can't... my search for lvarchar at ansi.org yielded no results :-)

jg

--
_at_home.com is bogus.
http://www.twominutenews.com/2010/technology/apple-earnings-have-increased-8549.html
Received on Wed Apr 21 2010 - 11:40:02 CDT

Original text of this message