Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 MSSQL: как поменять default language?  [new]
ggarek
Member

Откуда:
Сообщений: 43
День добрый!

Подскажите, кто знает, как изменить default language для mssql?
Проблема заключается в следующем. Есть программа, которая тянется к mssql при помощи ODBC. Так вот, для этой сессии нужно изменить default language.
Самый простой вариант, который дает нужный результат - это во всех используемых процедурках первой строкой прописать SET LANGUAGE 'xxx'. Но поскольку процедурок этих очень много (невероятно много!) то такой "топорный" вариант не подходит.

Спасибо!

з.ы.:
1. SET LANGUAGE
не подходит, так как меняет язык для текущей сессии.
2. EXEC sp_defaultlanguage
также не подходит.
3. EXEC sp_configure
также не подходит.
25 мар 10, 11:02    [8530391]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL: как поменять default language?  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

> *2*.EXEC sp_defaultlanguage
>
> также не подходит.
>
> *3*.EXEC sp_configure
>
> также не подходит.

это почему?

Posted via ActualForum NNTP Server 1.4

25 мар 10, 11:04    [8530405]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL: как поменять default language?  [new]
Glory
Member

Откуда:
Сообщений: 104751
ggarek

2. EXEC sp_defaultlanguage
также не подходит.
3. EXEC sp_configure
также не подходит.

Интересно почему ?
25 мар 10, 11:04    [8530407]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL: как поменять default language?  [new]
ggarek
Member

Откуда:
Сообщений: 43
Glory,

Вы попробуйте ими воспользоваться, поменять язык. А потом выполните
SELECT @@LANGUAGE
и поймете почему не подходит.

з.ы.:
1. Сразу скажу вам, что select @@language покажет, то что и раньше. (Конечно же я не забыл про RECONFIGURE)

2.
SELECT @@LANGUAGE

EXEC sp_configure 'default language', 21
RECONFIGURE

SELECT @@LANGUAGE

Result
us_english
us_english
25 мар 10, 11:13    [8530471]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL: как поменять default language?  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

в _текущем_ сеансе язык меняется с помощью set language.
для _новых_ сеансов данного логина будет действовать
настройка установленная с помощью sp_defaultlanguage (если только
язык явно с помощью set не выставляется).
для _вновь создаваемых пользователей_, если явно язык не указан
будет действовать настройка из sp_configure.

так понятно?

Posted via ActualForum NNTP Server 1.4

25 мар 10, 11:17    [8530508]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL: как поменять default language?  [new]
Glory
Member

Откуда:
Сообщений: 104751
ggarek
Glory,

Вы попробуйте ими воспользоваться, поменять язык. А потом выполните
SELECT @@LANGUAGE
и поймете почему не подходит.


Читать хелп нужно

1. sp_defaultlanguage выполняется один(!) раз
После чего все новые коннекты этого логина будут иметь новую установку @@LANGUAGE

2. sp_configure 'default language'
Use the default language option to specify the default language for all newly created logins.
25 мар 10, 11:20    [8530540]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL: как поменять default language?  [new]
ggarek
Member

Откуда:
Сообщений: 43
Спасибо за помощь!

Видимо дело, действительно, в том, что новый язык логина будет использоваться только для вновь созданных коннектов.

з.ы.: Об этом кстати не сказано в хелпе (Или я не нашел) =(
25 мар 10, 11:51    [8530801]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL: как поменять default language?  [new]
Glory
Member

Откуда:
Сообщений: 104751
ggarek
з.ы.: Об этом кстати не сказано в хелпе (Или я не нашел) =(

Remarks

A default language can be set by using either sp_defaultlanguage or sp_addlogin when the login is initially added to SQL Server. Use sp_helplanguage to display a list of the valid language options.

Any user can use the SET LANGUAGE statement to change the language setting for the duration of the current session. Use the @@LANGUAGE function to show the current language setting.

If the default language of a login is dropped from the server, the default language of the server is used as the initial language setting, and a message is displayed.
25 мар 10, 11:55    [8530833]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: MSSQL: как поменять default language?  [new]
Net_ware
Guest
alter login [login_name] WITH DEFAULT_LANGUAGE = [language]
18 окт 14, 13:31    [16724807]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить