SQL Server 2005 Express を米国英語としてインストールしないようにする方法を知っている人はいますか?
win2k8 の地域設定はすべて英語 (ニュージーランド) に設定されていますが、常に米国英語としてインストールされます。
インストーラーで変更する場所が見つかりません。
SQL Server 2005 Express を米国英語としてインストールしないようにする方法を知っている人はいますか?
win2k8 の地域設定はすべて英語 (ニュージーランド) に設定されていますが、常に米国英語としてインストールされます。
インストーラーで変更する場所が見つかりません。
さて、日付形式が問題です。つまり、アプリケーションが次のような日付を挿入しようとしているということです。
insert into Table1 (DateField1) values ('31/3/2008')
「31」が月だと思って失敗するのはどれですか?ええ、オーストラリアでもその問題が発生します。あなたの選択は次のとおりです。
1)データベースのデフォルト言語、および既存のユーザーの言語を変更します。言語は実際にはログインごとに構成されているため、たとえば、SQL Management Studio、セキュリティ->ログイン、ログインを右クリックし、プロパティに移動して、「デフォルト言語」を英語からイギリス英語に変更します。これがすべての新規ユーザーにも発生するようにするには、サーバーのデフォルト言語を変更する必要があります。これは次の方法で行われます。
select * from sys.syslanguages
....次に、探している言語、つまりイギリス英語を見つけて、に注意してくださいlangid
。それを設定するには、イギリス英語がlangid=23であるかどうかを言います。
sp_configure 'default language', 23
go
reconfigure
go
2)適切な変換を使用して、アプリケーションに日付の選択/挿入を実行させます。
insert into Table1 (DateField) values (convert(datetime, '31/3/2008', 103))
select DateField1 from Table1 where DateField1 = convert(datetime, '31/3/2008, 103))
3)国際形式を使用して、アプリケーションに日付の選択/挿入を実行させます。BOLから:
DATEFORMATに依存せず、多言語である日時形式を使用することをお勧めします。ISO 8601形式、「1998-02-23T14:23:05」および「1998-02-23T14:23:05-08:00」は、国際標準である唯一の形式です。これらはDATEFORMATまたはデフォルトのログイン言語に依存せず、多言語です。
この場合、アプリケーションよりもデータベースを簡単に変更できると思いますが、そうでない場合は、アプリケーションにもっとグローバルな方法で処理を行わせる必要があります。アプリ/データベースの設計は、可能な限りフォーマットに依存しないようにする必要があります。