Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Accessing Shift-JIS data from dotnet

Accessing Shift-JIS data from dotnet

From: zrb <zrajbun_at_hotmail.com>
Date: 14 Sep 2002 01:17:10 -0700
Message-ID: <2312ee51.0209140017.7cde0306@posting.google.com>

Hi,

  I have a Oracle 8i database with its character set as Shift-JIS running on either a Japanese W2K or English W2K. I need to access it from a C# .NET application. I must use the MS ODBC driver for Oracle.  I must run the application on a English Windows 2000 machine. The application uses MS DTC heavily.

  The MS ODBC driver for Oracle does not support Unicode and is going to retrieve the Shift-JIS data and think that it is english (which might be a disaster). The driver manager/.NET is going to do its best to convert the Shift-JIS data (code page 932) to Unicode (UTF16) using the local code page (ISO8559 (or is it ISO8859)), and voila "you have another disaster".

  There are couple of options:

  1. Use the japanese version of the OS.
  2. Write my own ODBC driver which will act as a thin proxy for the MS ODBC dirver for Oracle. This will perform a WideCharToMultiByte and MultiByteToWideChar conversion whenever the database is accessed.
  3. Write my own .NET data provider in managed C++ which will perform a WideCharToMultiByte and MultiByteToWideChar conversion whenever the database is accessed.
  4. One you must suggest a simpler way around my problem.

  Personally, I prefer option 1 but my clients dont. With option 2, I am worried about the distributed transaction related issues, pooling etc. I have very minimal knowledge of ADO.NET and taking up option 3 might lead to a delay in the delivery.

  Can anyone suggest better ways of doing this? Or which of the above options from 1-3 is least troublesome.

Regards

zrb Received on Sat Sep 14 2002 - 03:17:10 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US