National Characterが導入されたわけについて考える

National CharacterはSQL1992で既に導入されていた.であるならばSQL2003対応を謳うJDBC 4.0よりももっと前のバージョンで対応していなければならなかったはずだが,まあ諸事情により実際には導入されていなかった.

JDBC 3.0まではキャラクタセットに関する何らかの仕様は存在しなかった.JDBC仕様はそれについて何も既定しておらず,一方で各RDBMSベンダーによるJDBCドライバ実装はどうだったかというと,JDBCドライバ実装側で自由に機能追加ができる場所,即ち,接続プロパティによってユーザが操作できるようにしていた.

別にこのままで問題は無いという意見もあったのではとおもうが,しかしAPIレベルでの対応をしたい,という意見もJDBC 4.0のExpert Groupで出てきたのだろう.

  • SQLJavaのデータマッピングについて,CHARとかCLOBとかは規定されているのにNCHARやNCLOBについての規定が無い.
  • ClobクラスはあるのにNClobクラスが無い.

とか仕様としての体裁の整合性の上でこれらは問題なのかもしれない.

とまあ想像してみた.