Web Artisan Blog - ウェブ アルチザン ブログ

JDBC経由はoracle Char型に格納された全角文字をどのように扱うのか

SQL (37 items)

2004年07月27日

JavaJDBC使用時、OracleのCharデータに
全角文字を入れるとselectした取得データの
後ろに付加される空白バイト数がおかしくなる

例)

TEAT_COL CHAR(10)の列に'あいうえ'の4文字を挿入
JDBC経由でTEAT_COLを取得すると
'あいうえ      '後ろに6バイトのスペースが付加される
よって取得データでそのままInsertした場合、挿入データは14バイトとなり
桁あふれのエラーが発生してしまいます。
半角文字のみのデータであれば問題は発生しない。

ORACLEのキャラクタセットはJA16SJIS

下記のサイトによると、データ取得後に文字列処理(空白カット)が必要なようです。

Oracle Technology Network 掲示板


JavaHouse

<スポンサードリンク>
<スポンサードリンク>
前の記事 次の記事

Comments

コメントは、まだ書かれていません

Add Comments

Trackback

ZIGENのプラグイン開発forEclipse wrote:

Oracleのchar型に全角が格納されている場合(JDBC経由):
改良している「テーブル編集エディター」のテストをしていたらOracle固有?の問題が見つかりました。問題Oracleのchar型データに「全角」格納されているデータを参照すると後ろに付く「空白」(空白パディング結果)の数がおかしい。例えばchar(5)で「ああ」というデータ...
2006年02月09日 20時34分19秒

Trackback URL

http://www.res-system.com/weblog/action.php?action=plugin&name=TrackBack&tb_id=195