Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Смена пароля пользователя MSSQL2008 из среды VFP / 5 сообщений из 5, страница 1 из 1
18.08.2011, 18:04
    #37402195
Сергей Мирный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смена пароля пользователя MSSQL2008 из среды VFP
Что-то никак не соображу: из среды VFP 90 SP1 нужно сменить пароль пользователя,
который заведен на SQLServer2008R2, но пароль не меняется:

cOld='501'
cNew='502'
?SQLEXEC(gnConnHandle, "ALTER LOGIN [501] WITH PASSWORD=?cNew OLD_PASSWORD=?cOld")

просьба подсказать правильный синтаксис.

Если выполняю из среды MS SQL Server management Studio,
то пароль успешно меняется:

Код: plaintext
1.
alter login [ 501 ] with password='502' old_password='501'
...
Рейтинг: 0 / 0
18.08.2011, 18:06
    #37402198
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смена пароля пользователя MSSQL2008 из среды VFP
Сергей Мирный,

а пользователю, под которым вы коннектитесь, можно менять чужие пароли?
...
Рейтинг: 0 / 0
18.08.2011, 18:14
    #37402211
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смена пароля пользователя MSSQL2008 из среды VFP
а так?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
text to lcSqlCmd noshow textmerge pretext  15 
	exec sp_password 
		@old = <<iif( empty(oldPassword), "NULL", "'" + alltrim(oldPassword) + "'")>>,
		@new = <<iif( empty(newPassword), "NULL", "'" + alltrim(newPassword) + "'")>>,
		@loginame = '<<alltrim(name)>>'
endtext 
?SQLEXEC(gnConnHandle, lcSqlCmd)
...
Рейтинг: 0 / 0
18.08.2011, 18:33
    #37402242
Сергей Мирный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смена пароля пользователя MSSQL2008 из среды VFP
спасибо за подсказку, проверю
...
Рейтинг: 0 / 0
19.08.2011, 14:08
    #37403482
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смена пароля пользователя MSSQL2008 из среды VFP
Сергей МирныйЧто-то никак не соображу: из среды VFP 90 SP1 нужно сменить пароль пользователя,
который заведен на SQLServer2008R2, но пароль не меняется:

cOld='501'
cNew='502'
?SQLEXEC(gnConnHandle, "ALTER LOGIN [501] WITH PASSWORD=?cNew OLD_PASSWORD=?cOld")

просьба подсказать правильный синтаксис.

Если выполняю из среды MS SQL Server management Studio,
то пароль успешно меняется:

Код: plaintext
1.
alter login [ 501 ] with password='502' old_password='501'

1. sp_password не используйте!
BOL:
авторВажно!
В будущей версии Microsoft SQL Server эта возможность будет удалена. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется. Пользуйтесь вместо этого командой ALTER LOGIN.
2. Какая ошибка возвращается вашей SQLEXEC?
Приведите точный текст, пожалуста.

3. Откройте SQL Profiler и посмотрите какую точно комнаду посылает на сервер ваш клиент?

4. Если пароль меняет пользователь, имеющий права ALTER ANY LOGIN (например, член логи sysadmin), то старый пароль логина (не ПОЛЬЗОВАТЕЛЯ) можно не передавать:
Код: plaintext
1.
2.
3.
4.
5.
LOCAL m.lcLogin, m.lcNewPassowrd
m.lcLogin = '501'
m.lcNewPassowrd = '502'
TEXT TO lcCommand TEXTMERGE NOSHOW PRETEXT  15 
       ALTER LOGIN [<<m.lcLogin>>] WITH PASSWORD=N'<<m.cNew>>'
ENDTEXT
С уважением, Алексей
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Смена пароля пользователя MSSQL2008 из среды VFP / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]