Date: Wed, 4 Jul 2007 14:04:04 +0900
From: "Akira Horikawa" <who@example.ne.jp>
堀川です
-----Original Message-----
From: Tadashi Nakamura [mailto:who@example.com]
Sent: Wednesday, July 04, 2007 5:50 AM
To: ML MSDE beg
Subject: [ml-msde-beg:01944] テ−ブルの項目を日本語名にする
>日本語のコードには unicode や S-JIS や
>いろいろあります。日本語のコードによって
>SQL 文が make sense しない、というようなことが
>起こりえるのではないでしょうか。
厳密に言えば、クライアントとサーバーとの通信上で使用される
文字コードに関しては
Unicode クライアント : OLE DB、ODBC 3.7 以降
非 Unicode クライアント : ODBC 3.7 以前、DB-Library
で分けられていますが、アプリケーションを開発する上では、
日本語Windowsの既定のコードページ(CP932。シフトJISの拡張)
でSQL文などの記述をすれば大丈夫です。
nchar宣言に関係する部分は、Unicodeの意識が必要です。
ただLinuxクライアントなどの非Windows系の場合は、
通信ライブラリに FreeTDS と Sybase純正ライブラリ(TDS)
のどちらを選択するかによって、日本語の通り具合が違います。
FreeTDSは、バージョンアップやパッチリリース等が行われますので
日本語の対応状況が変わります。
Sybase純正ライブラリは、Sybaseデータベースサーバーが日本語Windows
のコードページCP932をサポートしている関係上、日本語の取扱には
問題無いと思います。
Sybase純正ライブラリを使った場合は、
MSDE(またはSQLServer7)+SP2以降
というデータベースサーバーの限定が必要です。
MSDE(SQLServer7)は、
文書番号239883
http://support.microsoft.com/kb/239883/ja
でも書かれているように、Sybaseクライアントをサポートしている
最後のデータベースサーバーとなります。
そのためLinux等から接続するときに、非常に便利な存在です。
場合によっては、
[Linuxクライアント] --(TDS)-- [MSDE] --リンクサーバー-- [MSDE2000]
のように、MSDEをSybaseのデータベースサーバーだと思い込ませて
Linuxクライアントを接続させて、その裏でMSDE2000を使用することも
可能です。
MSDEには、
文書番号 218739
http://support.microsoft.com/kb/218739/ja
この問題があるので使いたくないため、MSDE2000を実際のデータストア先に
します。
Linuxクライアントが多いのであれば、上記のような複雑な方法を
取るのではなく、
Sybase ASE Express Edition for Linux
http://www.sybase.com/linuxpromo
を使うことも、選択肢になります。
SQL言語は、MSDEと互換性の高い Transact-SQL 言語です。
マイクロソフト社の対応を見ると、Linuxからの接続は、JDBC経由を
勧めています
Microsoft SQL Server 2005 JDBC Driver 1.1
ただJAVA以外の開発言語を使用するときには、FreeTDSやTDSを
使うことになります
このためマイクロソフトのサポート範囲外の使用方法になるため、
十分な調査が必要となります。
>これまで、MSDE/MSDE2000 にて開発して
>きましたがテ−ブル定義には一切日本語を
>使ったことがありません。Cilent が Linux の
>場合もある得る、ということのためだったのですが
>杞憂でしょうか。なお、MSDE/MSDE2000 は
>英語版を使用してきました。
その姿勢は、素晴らしいと思います
Windowsの世界で閉じているのならともかく、Linuxクライアントが
加わる場合は、Linux上の開発言語やツール類によっては文字コードの
取扱に様々な注意事項が存在するのも事実です。
また、コード変換等に問題が発生することもあります。
ですから文字コ−ドのトラブルに悩まされるのを防ぐためには、
できる限り従来の伝統的開発方法に従っているのが無難だと思います
私もLinuxクライアントが加わるシステムでは、日本語の名前は
避けております。
ただ英語版は使っておりません。
日本語版でよいと思います。
なお国際語対応に関しては、下記のドキュメントを参考にして下さい
Microsoft SQL Server 2000 のインターナショナル機能
http://www.microsoft.com/japan/msdn/sqlserver/sql2000/intlfeaturesinsqlserve
r2000.aspx
------------------------------------
Epata-IT/日本技術ソフト開発
堀川 明 (Akira Horikawa)
07月04日(水曜日) 14時03分記
mailto:who@example.ne.jp
http://www.horikawa.ne.jp/msde/
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|