Yahoo!グループ
ログイン
IDでもっと便利に[ 新規取得 ]



こんにちは、 ゲストさん Yahoo! JAPAN ID取得 - ログイン 
Yahoo!グループ [ 参加 ]
トップ > Firebird-jp-general > 掲示板
グループメニュー
  メインページ  
→ 掲示板  
  ブックマーク  
 
 
 グループメンバー専用 
  ブリーフケース  
  フォトアルバム  
  データベース  
  投票  
  グループメンバー  
  カレンダー  
  グループをPR  

ヘルプ
 ・ グループ 使い方ガイド
 ・ グループ ヘルプ

モバイル版(ベータ)
モバイル版Yahoo!グループ(ベータ版)にアクセス!
URLを
ケータイに送信

旧Yahoo! eグループをお使いのみなさんへ。

 掲示板 掲示板ヘルプ
メッセージ検索:
返信 | 折り返しの解除 |
4641 件中 166 件目を表示 前の一覧 | 次の一覧  [ 親メッセージ ]   メッセージ一覧
No.
投稿者:  emiyazoe@o...
Date:  2003年6月1日(日) 午前6時34分
タイトル:  ODBCドライバによるUNICODE_FSS日本語の扱いについて(ご報告)



掲記、私の方で各社のドライバを比較評価した折りに経験した問題をご報告します。
同様の現象を確認しておられ、原因と抜本的な対策をご存じの方がおられましたら、情報交換等できますと幸いです。
なお、IB Phoenix社 ODBCドライバについては、そもそもUNICODE_FSSでの日本語文字列INSERT/UPDATEでErrorを吐くなど、完成度が問題外の為、テストを省略しています。

1. 動作環境
(1) Firebird版数: 1.0.2 Classic Linux版及びWindows版
(2) O/S環境: RedHat Linux 7.2/7.3/8.0, Miracle Linux 2.1, Windows 2000SP3にて再現を確認
(3) クライアント環境: MS-Office Professional版 Access2000 SR-1よりODBCリンクテーブル経由
(4) 指定キャラクターセット: UNICODE_FSS
(5) 対象フィールド: 任意のテーブルのVARCHAR(254), CHAR(254)。両フィールド共、CREATE TABLE内でUNICODE_FSSを明示的に指定。

2. 現象(というか、調査のきっかけ)
Jay-Bird経由でJavaから入力したUNICODE_FSS日本語文字列につき、XTG社ODBCドライバ&AccessのODBCリンクテーブル経由で表示すると、ほぼ全文字が化ける。
当初は、XTGとJay-Birdのどちらが原因かを調査するのが目的であったが、この際と考え、現時点で入手可能なODBCドライバを一通り調査した。

3. 調査結果
(1) XTG社ドライバによるODBCリンクテーブル経由でのINSERT/UPDATEを同ドライバでSELECT
b15, B16,B17(1〜3)とも、自分が書き込んだ日本語文字列は問題なく読み取れる。
(2) XTG社ドライバ経由でINSERT/UPDATEした日本語文字列の他社製ODBCドライバからの読み取り
(a) EasySoft社・標準版(2.0.15)によるSELECT
問題なし。
(b) EasySoft社・UNICODE_FSS版(2.0.15)によるSELECT
文字化けする。(不思議な事に、UNICODE_FSS対応版の方が逆にUNICODE_FSSに対応できない。このあたりが、逆にXTG Systemsを疑う所以である。)
(c) Twise Labo社ドライバ 2002/10/16版によるSELECT
問題なし。
(d) Gemini社 Interbase ODBCドライバ 2.1
文字化けする。
(e) 馬場殿作成オリジナルODBCドライバのmake版
問題なし。
(f) Jay-Bird Type4 JDBCドライバ
何故か、Jay-BirdからのSELECTはうまくいく。
(3) EasySoft社 標準版(2.0.15) ODBCドライバ経由でINSERT/UPDATEした日本語文字列の他社製ODBCドライバからの読み取り
(a) Twise Labo社ドライバ 2002/10/16版によるSELECT
問題なし。
(b) Gemini社 Interbase ODBCドライバ 2.1
文字化けする。
(c) 馬場殿作成オリジナルODBCドライバのmake版
問題なし。
(d) Jay-Bird Type4 JDBCドライバ
文字化けする。
(4) EasySoft社 UNICODE_FSS版(2.0.15) ODBCドライバ経由でINSERT/UPDATEした日本語文字列の他社製ODBCドライバからの読み取り
(a) Twise Labo社ドライバ 2002/10/16版によるSELECT
文字化けする。
(b) Gemini社 Interbase ODBCドライバ 2.1
問題なし。
(c) 馬場殿作成オリジナルODBCドライバのmake版
文字化けする。
(d) Jay-Bird Type4 JDBCドライバ
問題なし。
(5) Gemini社 Interbase ODBCドライバ 2.1経由でINSERT/UPDATEした日本語文字列の他社製ODBCドライバからの読み取り
(a) EasySoft社・標準版(2.0.15)によるSELECT
文字化けする。
(b) EasySoft社・UNICODE_FSS版(2.0.15)によるSELECT
問題なし。
(c) Twise Labo社ドライバ 2002/10/16版によるSELECT
文字化けする。
(d) 馬場殿作成オリジナルODBCドライバのmake版
文字化けする。
(e) Jay-Bird Type4 JDBCドライバ
問題なし。

以下省略しますが、まとめますと・・・
UNICODE_FSSでの日本語取扱いにつき、XTG Systems、EasySoft社の標準版、Twise Labo、馬場殿作成オリジナルに互換性あり。
一方、EasySoft社のUNICODE_FSS版、Gemini社ドライバ、Jay-Birdに互換性あり。

弊社では、開発済の全クライアントモジュールのJava移植を今年度一杯の課題としています。
XTGで作成した日本語マスタ資産のJay-Bird移行につき、どちらの仕様が正しいのか、早期に解明する必要があります。
Jay-Birdのニュースグループで一時話題になったNULLパディングの問題かとも思いましたが、CHAR, VARCHAR双方で文字化けが確認されており、他にも原因がありそうです。

いずれ時間が出来たら、Jay-BirdとXTGのソースを比較検証する積もりですが、上期中は他の業務が忙しく、手を出すのが下期になりそうです。
どなたかが既に解決しておられたら、ご教示頂けると手数を削減でき有り難いです。

蛇足ですが、現在流通しているODBCドライバにはどれも一長一短あり、私としては今の所いちおしがありません。
敢えていうと、EasySoftの最新版とGeminiの2.1が、BLOBの取扱いを含め安定性も高く、かつ、commit_retainingとcommitをパラメータで選択できるので、JDBCとODBCを併用し、マルチトランザクション環境で使う場合には最良の選択と思います。
XTGは、オリジナルのままでは、commit後にトランザクションを開放してくれないため、MS-AccessとJavaの双方からFirebirdに接続するアプリケーションで、JDBCのアイソレーションレベルに8を指定すると、Javaがデッドロックするなど支障をきたします。
私の方では、XTGのソースをいじり、トランザクションハンドリングを改造する事で、XTGのまま問題を回避していますが、商用出荷版のサポートを考えると、今後頭の痛い問題です。
なお、Twise Labo社ドライバは、詳細調査は完了していないのですが、ODBCリンクテーブルでの表示が何らかの条件で文字化けする症状が確認されており、弊社の商用パッケージでは非推奨にしています。
馬場殿作成オリジナルODBCドライバのmake版は、快適に動作するのですが、XTG同様、トランザクションハンドリングのソース改造が必要です。
現在は馬場殿が開発を終了しておられるため、サポート上の観点から、弊社の商用パッケージでは非推奨にしています。
掲記UNICODE_FSSの問題が決着する事が前提ですが、価格・サポート面及び、Javaへの移行等を合わせて考えると、新規システム構築の場合、現時点ではGeminiが最良の選択ではないかと思います。

ご意見等頂けますれば幸いです。


No.
返信 | 折り返しの解除 |
4641 件中 166 件目を表示 前の一覧 | 次の一覧  [ 親メッセージ ]   メッセージ一覧


プライバシーポリシー - 利用規約 - ガイドライン - ヘルプ
  Copyright (C) 2012 Yahoo Japan Corporation. All Rights Reserved.