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
全角文字を入れると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