Как установить SQL Server 2005 Express как НЕ американский английский - PullRequest
0 голосов
/ 17 марта 2009

Кто-нибудь знает, как можно заставить SQL Server 2005 Express НЕ устанавливать английский язык для США?

Все мои региональные настройки win2k8 настроены на английский (Новая Зеландия), но они всегда устанавливаются как английский (США).

Я не могу найти где-нибудь, чтобы изменить его в установщике.

1 Ответ

0 голосов
/ 17 марта 2009

Ладно, проблема в форматах даты. То есть вы имеете в виду, что ваше приложение пытается вставить даты примерно так:

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 или язык входа по умолчанию зависит от многоязычны.

Я предполагаю, что в этом случае вы можете легче изменить базу данных, чем приложение, но если это не так, то вам действительно следует заставить приложение делать вещи более глобально. Дизайн приложения / базы данных должен стараться быть независимым от формата, где это возможно.

...