@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

ADO.NETでSHIFT-JISの扱い?

1
投稿者投稿内容
gorisaku
ベテラン
会議室デビュー日: 2004/04/17
投稿数: 95
投稿日時: 2004-04-17 23:47
開発環境:VS.NET2003
    :WindowsXP Pro + Oracle9i

ADO.NETを使用してOracleにデータ登録を行うプログラムを開発しています。
VS.NET2003ではすべての文字はUNICODEで扱われますが、
どうしてもSHIFT-JISで文字を扱わないといけない現象が出てきました。
内部的にはUNICODEでも問題ないのですが、データ登録時に
ADO.NET経由でOracleにSHIFT-JIS文字コードで登録は出来るのでしょうか?
テキストファイルには出来ました。
(System.Text.Encoding.GetEncoding("SHIFT-JIS"))
どなたかでこのような現象をご経験された方はおられますか?
ご教授お願いいたします。
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2004-04-18 09:27
諸農です。

引用:

内部的にはUNICODEでも問題ないのですが、データ登録時に
ADO.NET経由でOracleにSHIFT-JIS文字コードで登録は出来るのでしょうか?
テキストファイルには出来ました。
(System.Text.Encoding.GetEncoding("SHIFT-JIS"))
どなたかでこのような現象をご経験された方はおられますか?



どのような現象でしょうか?
具体的に書いていないので、想像に頼るしかないのですが。。

例の「〜」不具合のための回避方法という事でしたら、
OTNの掲示板で色々と報告や回避方法などについて
議論されているようです。


_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
gorisaku
ベテラン
会議室デビュー日: 2004/04/17
投稿数: 95
投稿日時: 2004-04-19 00:02
goriです。

引用:

Jubeiさんの書き込み (2004-04-18 09:27) より:
どのような現象でしょうか?
具体的に書いていないので、想像に頼るしかないのですが。。

例の「〜」不具合のための回避方法という事でしたら、
OTNの掲示板で色々と報告や回避方法などについて
議論されているようです。



諸農さん、早速のお返事ありがとうございます。
「〜」不具合は知りませんでした。(調査不足です)
現象というか状況ですが、オフコンとのデータ共有をしなければならないので
文字コードをSHIFT-JISに限定したいのです。
(オフコンがSHIFT-JISにしか対応していないので・・・)
ただ単純に
(System.Text.Encoding.GetEncoding("SHIFT-JIS"))
を使用して登録対象データを移送すれば登録できるのかどうかを知りたいと思いまして・・・
そんなことやられましたか??
これはOracle OTNで質問したほうがいい内容なのでしょうか?
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2004-04-19 07:16
諸農です。

引用:

を使用して登録対象データを移送すれば登録できるのかどうかを知りたいと思いまして・・・
そんなことやられましたか??



まずは、テスト環境で検証するべき問題だと思いますが。。

引用:

これはOracle OTNで質問したほうがいい内容なのでしょうか?



まずは、質問する前に調査するべき事項だと思いますが。。。


_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-04-19 08:15
 何がどう問題なのか、よくわからないのですが。。。

 Oracleに格納する文字コード、各端末で使用する文字コードが何であろうと、環境変数で使用する文字コードをきちんと設定していれば、Oracleがコード変換してくれます。

 『Oracle9i グローバリゼーション・サポート・ガイド リリース2 (9.2)』J06278-01をよく読んでください。

#ただし、諸農さんのおっしゃる「〜不具合」(ウェーブダッシュ問題)は発生します
#参考
#http://support.microsoft.com/default.aspx?scid=kb;ja;286776
#http://otn.oracle.co.jp/software/tech/java/jdbc/nlsalart/nlsalart.html
gorisaku
ベテラン
会議室デビュー日: 2004/04/17
投稿数: 95
投稿日時: 2004-04-19 10:28
goriです。
お二方朝早くからご回答ありがとうございます。

引用:

Jittaさんの書き込み (2004-04-19 08:15) より:
 何がどう問題なのか、よくわからないのですが。。。

 Oracleに格納する文字コード、各端末で使用する文字コードが何であろうと、環境変数で使用する文字コードをきちんと設定していれば、Oracleがコード変換してくれます。

 『Oracle9i グローバリゼーション・サポート・ガイド リリース2 (9.2)』J06278-01をよく読んでください。

#ただし、諸農さんのおっしゃる「〜不具合」(ウェーブダッシュ問題)は発生します
#参考
#http://support.microsoft.com/default.aspx?scid=kb;ja;286776
#http://otn.oracle.co.jp/software/tech/java/jdbc/nlsalart/nlsalart.html



調べもせず(プログラム作成も)に質問してしまい申し訳ありません。
プログラム作成時間が取れなかったので、このような事例を体験した方の
意見を参考にしたかったので・・・
申し訳ありません・・・
他から聞いた話ではそのままUNICODEでOracleにデータを吐き出ししてしまうという
事を聞いたので・・・(UVARCHAR2にしないとうまく格納できない・・・?)
Oracleのコード変換は知りませんでした。

今週にでも早速検証プログラムを作成してみたいと思っております。
朝早くから参考資料までご提示していただきありがとうございます。
また質問させていただく際はよろしくお願いいたします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-04-19 16:54
引用:

gorisakuさんの書き込み (2004-04-19 10:28) より:

他から聞いた話ではそのままUNICODEでOracleにデータを吐き出ししてしまうという
事を聞いたので・・・(UVARCHAR2にしないとうまく格納できない・・・?)


 ???おそらく、Windows側の環境変数を設定していなかったのでしょう。

 Oracleのグローバリゼーション・サポートはややこしいので、ご自分で読んで、かみ砕いてくださいね(私が説明できるほど理解できていないともいう)。

 そして、普通に読んでもわからないのですが、ウェーブダッシュ問題を回避する方法もあります。JA16SJISTILDEを使うことです。しかし、すべてのUnicode文字マッピングが、MS互換となるわけではなさそうです。。。
1

スキルアップ/キャリアアップ(JOB@IT)