Visual Database Tools
- Query Designer
- Query Designer
- Table Designer
チェコ語、ハンガリー語、ポルトガル語 (ブラジル語)、ルーマニア語、およびロシア語版には、米国版のソフトウェアが含まれます。
データの対応期間 :
SQL Server 6.5、7.0: 西暦 1753 年 1 月 1 日〜西暦 9999 年 12 月 31 日
Oracle 7.3: 紀元前 4712 年 1 月 1 日〜西暦 4712 年 1 月 1 日
Access: 西暦 100 年 1 月 1 日〜西暦 9999 年 1 月 1 日
このツールで、Microsoft の西暦 2000 年対応ステートメントに対応したアプリケーションをビルド可能か
可能。ただし、下記の「Oracle 利用時の注意」を参照してください。
日付の処理
このデータベース ツールにはランタイム環境はありません。
下 2 桁の西暦の処理
日付は次の 2 個所、いずれも Query Designer 内で使用されます。
[結果] ペイン を使うとバックエンド データベース テーブルに新規データ行を追加できます。日付型のグリッド セルに入力された値は OLEAUT32 により処理され、[コントロール パネル] の [地域] 設定の [日付] で設定された [短い形式] に従って表示されます。同様に、下 2 桁の西暦は、デフォルト設定の 1930 年から 2029 年の間は、OLEAUT32 の [地域] 設定によって解釈されます。この範囲の 4 桁の西暦を入力すると下 2 桁だけが表示されます。この範囲外の下 2 桁の西暦を入力すると、4 桁の西暦が表示されます。
[グリッド] ペインでは、日付の選択基準を指定できます。日付を [基準] セルに入力すると、このセルから移動したときに日付が解析されます。SQL Server や Oracle 以外の ODBC 接続を使用すると、日付値は明示的な 4 桁の西暦形式に変換されます。下 2 桁の西暦は、OLEAUT32 の [地域] 設定に従って再処理されます。
ただし、SQL Server 接続を使用している場合、[グリッド] ペインの [基準] セルに入力された有効な日付値は、OLEAUT32 の設定に従って解釈されません。その日付値は、入力された状態のまま [SQL] ペインに表示されます。SQL Server では、50 以上の値は西暦 "1900" 年代の下 2 桁、50 未満の値は西暦 "2000" 年代の下 2 桁として処理されます。
これは設計時のみ問題になります。これは、データベース ツールはランタイム モードでは動作しないためです。
Oracle 利用時の注意
システムの日付設定が 2 桁の形式のときに Oracle データベースに接続すると、2 桁の西暦の解析に問題が発生します。[グリッド] ペインの [基準] セルに入力された西暦が 2000 年から 2029 年 (西暦 2000 年のデフォルトの対応期間) の場合は、その日付が SQL ペインに解析されて表示されるとき、OLEAUT32 によって下 2 桁の値に変換されます。Oracle データベースでは、この日付を 1929 年から 1900 年の範囲の西暦として処理します。
この問題の対処方法は、システムの [短い形式] で 4 桁の西暦が表示されるように設定することです。
ただし、この問題は
Visual Studio 6.0 Service Pack 3 をインストールすると解決されます。
西暦 2000 年に対応したアプリケーションを開発するための望ましい方法
[コントロール パネル] の [地域] 設定の [日付] で、[短い形式] の西暦表示を 4 桁の形式 ("yyyyy/M/d" など) に切り替えることをお勧めします。これにより、下 2 桁の西暦に関する誤りを軽減できます。
また、日付を使用する作業には、4 桁の西暦を使うことをお勧めします。
SQL Server のデータベースを使用している場合は、[コントロール パネル] の [地域] で、下 2 桁の西暦の解釈方法をご自分の SQL Server と同じ設定にすることをお勧めします。デフォルトでは、それぞれ "1950" と "2049" に設定されています。
西暦 2000 年以降の日付処理の一般的な問題
[短い形式] でデフォルトの下 2 桁の西暦が指定され、"1930 年から 2029 年" まで下 2 桁の西暦処理が設定されたシステムで SQL Server データベースを使用していている場合は、[結果] ペインに 30 から 49 の範囲の日付値を入力できます。これは、バックエンドでは 1930 年から 1949 年として保存されます。"SELECT * FROM <table> WHERE <datecolumn> > ・/1/35・ などの SELECT ステートメントを実行すると、2035 年以降のレコードだけが表示されます。この場合は、上に述べた、西暦 2000 年に対応したアプリケーションを開発するための望ましい方法を参照することをお勧めします。
テスト時のガイドラインと推奨事項
Version 6.0 の the Query Designer では、ADO、OLEDB、および ODBC 機能を利用して、[結果] ペインのユーザー編集が管理されています。Query Designer は、マイクロソフト製以外のドライバを含む ODBC データ ソースを使って動作するように設計されているため、サンプル データベースを使って 4 桁の西暦を入力してみて、日付が適切に処理されるかどうかを確認することをお勧めします。マイクロソフトが、それらのデータベースとその接続メカニズムの西暦 2000 年問題対応を保証している限り、マイクロソフト製品以外のデータベースや接続メカニズムと Query Designer を一緒に使用することが可能です。