0

SQL Server 2005 Express を米国英語としてインストールしないようにする方法を知っている人はいますか?

win2k8 の地域設定はすべて英語 (ニュージーランド) に設定されていますが、常に米国英語としてインストールされます。

インストーラーで変更する場所が見つかりません。

4

1 に答える 1

0

さて、日付形式が問題です。つまり、アプリケーションが次のような日付を挿入しようとしているということです。

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またはデフォルトのログイン言語に依存せず、多言語です。

この場合、アプリケーションよりもデータベースを簡単に変更できると思いますが、そうでない場合は、アプリケーションにもっとグローバルな方法で処理を行わせる必要があります。アプリ/データベースの設計は、可能な限りフォーマットに依存しないようにする必要があります。

于 2009-03-17T07:07:51.143 に答える