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

Откуда:
Сообщений: 930
Здравствуйте
Не работает запуск exe файла из хранимой процедуры,

Хранимая процедура выглядит так:

xp_cmdshell ‘c:\TEServer.exe’, no_output


При запуске этого скрипта внешний процесс (запуск приложения) не выполняется.

Индикатор выполнения скрипта постоянно показывает что процесс выполняется, ждал, но так и не дождался, нажал «остановить выполнение».

При этом так же долго происходил процесс отмены выполнения.



Далее я решил действовать по другому: решил создать CLR-процедуру

с кодом:

System.Diagnostics.Process.StartInfo.FileName = "C:\\TEView.exe";

При выполнении этого кода возникала следующая ошибка:

Сообщение 6522, уровень 16, состояние 1, процедура USP_TEServerRun, строка 0

Произошла ошибка .NET Framework во время выполнения определяемой пользователем подпрограммы или статистической функции "USP_TEServerRun":

System.Security.SecurityException: Сбой при запросе.

System.Security.SecurityException:

в StoredProcedures.USP_TEServerRun()



Далее тут

http://www.rsdn.ru/forum/dotnet/589348.flat.aspx

я нашел пример, который должен решить эту проблему, но ошибка повторяется.


Как посоветуете поступить чтобы запустить этот exe файл?
8 дек 09, 16:06    [8036173]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
пример запуска vbs (работает)

	declare @err int
	exec @err = master..xp_cmdshell 'D:\Script\Email_Error_Log\Email2.vbs', NO_OUTPUT
8 дек 09, 16:29    [8036370]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
автор
При запуске этого скрипта внешний процесс (запуск приложения) не выполняется.


И где Вы надеялись увидеть это "приложение"?!
8 дек 09, 16:31    [8036389]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104760
rsolanov


Как посоветуете поступить чтобы запустить этот exe файл?

А вы ваш exe тестировали на консоли сервера под учетной записью сервера ?
ваш exe куда направляет сообщения о ходе выполнения и о возникающих ошибках ?
8 дек 09, 16:32    [8036395]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
rsolanov
Member

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


Как посоветуете поступить чтобы запустить этот exe файл?

А вы ваш exe тестировали на консоли сервера под учетной записью сервера ?
ваш exe куда направляет сообщения о ходе выполнения и о возникающих ошибках ?

Дело в том, что я уже научен на этой стандартной ошибке, поэтому хранимую процедуру запускал и соответственно результат просматривал на сервере. И обращался также к ресурсу на сервере.
Подключался к БД под своей учетной записью, но я включен в sysadmin в SQL SERVER'е и в службе Active Directory включен в группу "Администраторы".
8 дек 09, 16:41    [8036488]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
Glory
Member

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


Как посоветуете поступить чтобы запустить этот exe файл?

А вы ваш exe тестировали на консоли сервера под учетной записью сервера ?
ваш exe куда направляет сообщения о ходе выполнения и о возникающих ошибках ?

Дело в том, что я уже научен на этой стандартной ошибке, поэтому хранимую процедуру запускал и соответственно результат просматривал на сервере. И обращался также к ресурсу на сервере.
Подключался к БД под своей учетной записью, но я включен в sysadmin в SQL SERVER'е и в службе Active Directory включен в группу "Администраторы".

1. Причем здесь хранимая процедура ?xp_cmdshell не контролирует действия внешнего exe файла и не будет реагировать на графические диалоги и сообщения об ошибках
2. Причем тут ваш логин и ваши права в домене, когда SQL SERVER работает под своей учетной записью со своим набором прав ?
8 дек 09, 16:46    [8036532]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
rsolanov
Member

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


Как посоветуете поступить чтобы запустить этот exe файл?

А вы ваш exe тестировали на консоли сервера под учетной записью сервера ?
ваш exe куда направляет сообщения о ходе выполнения и о возникающих ошибках ?

Дело в том, что я уже научен на этой стандартной ошибке, поэтому хранимую процедуру запускал и соответственно результат просматривал на сервере. И обращался также к ресурсу на сервере.
Подключался к БД под своей учетной записью, но я включен в sysadmin в SQL SERVER'е и в службе Active Directory включен в группу "Администраторы".

1. Причем здесь хранимая процедура ?xp_cmdshell не контролирует действия внешнего exe файла и не будет реагировать на графические диалоги и сообщения об ошибках
2. Причем тут ваш логин и ваши права в домене, когда SQL SERVER работает под своей учетной записью со своим набором прав ?

Хорошо, а что Вы тогда имели в виду "консоли сервера"?
8 дек 09, 16:51    [8036577]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104760
rsolanov

Хорошо, а что Вы тогда имели в виду "консоли сервера"?

Клавитуру и монитор, которые подключены к "коробке" сервера
8 дек 09, 16:52    [8036587]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
rsolanov
Member

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

Хорошо, а что Вы тогда имели в виду "консоли сервера"?

Клавитуру и монитор, которые подключены к "коробке" сервера

Glory, я понял что Вы имеете в виду. Большое спасибо. Я это пытался делать из удаленного рабочего стола. А там, где "коробка" сервера, это другой конец города.
В результате я сделал так: на своем рабочем компьютере я запустил MS SQL SERVER и на нем запустил выполнение этой хранимой процедуры. Соответственно файл - на моем компьютере, путь к файлу написал правильно, сам файл существует. Уж сейчас то почему не работает?
8 дек 09, 17:02    [8036687]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104760
rsolanov

Glory, я понял что Вы имеете в виду. Большое спасибо. Я это пытался делать из удаленного рабочего стола.

"удаленный рабочий стол" - это вы так Remote Desktop connection называете ?
8 дек 09, 17:04    [8036711]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
Supra93
Member

Откуда:
Сообщений: 8174
rsolanov

В результате я сделал так: на своем рабочем компьютере я запустил MS SQL SERVER и на нем запустил выполнение этой хранимой процедуры. Соответственно файл - на моем компьютере, путь к файлу написал правильно, сам файл существует. Уж сейчас то почему не работает?

exec xp_cmdshell 'ping -t 127.0.0.1'
Это по-вашему тоже не работает?
8 дек 09, 17:28    [8036976]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
rsolanov
Member

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

Glory, я понял что Вы имеете в виду. Большое спасибо. Я это пытался делать из удаленного рабочего стола.

"удаленный рабочий стол" - это вы так Remote Desktop connection называете ?

Да
8 дек 09, 17:35    [8037045]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
Glory
Member

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

Glory, я понял что Вы имеете в виду. Большое спасибо. Я это пытался делать из удаленного рабочего стола.

"удаленный рабочий стол" - это вы так Remote Desktop connection называете ?

Да

И под какой же учетной записью вы залогинились на сервер ? Под той же, что использует MSSQL ?
8 дек 09, 17:36    [8037058]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
rsolanov
Member

Откуда:
Сообщений: 930
Supra93
rsolanov

В результате я сделал так: на своем рабочем компьютере я запустил MS SQL SERVER и на нем запустил выполнение этой хранимой процедуры. Соответственно файл - на моем компьютере, путь к файлу написал правильно, сам файл существует. Уж сейчас то почему не работает?

exec xp_cmdshell 'ping -t 127.0.0.1'
Это по-вашему тоже не работает?

Не работает! Я уже не знаю что делать.
8 дек 09, 17:36    [8037059]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
rsolanov
Member

Откуда:
Сообщений: 930
rsolanov
Supra93
rsolanov

В результате я сделал так: на своем рабочем компьютере я запустил MS SQL SERVER и на нем запустил выполнение этой хранимой процедуры. Соответственно файл - на моем компьютере, путь к файлу написал правильно, сам файл существует. Уж сейчас то почему не работает?

exec xp_cmdshell 'ping -t 127.0.0.1'
Это по-вашему тоже не работает?

Не работает! Я уже не знаю что делать.

Подождал подольше и получил результат

Обмен пакетами с 127.0.0.1 по 32 байт:

Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<1мс TTL=128
И т. д.
8 дек 09, 17:38    [8037067]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
rsolanov
Member

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

Glory, я понял что Вы имеете в виду. Большое спасибо. Я это пытался делать из удаленного рабочего стола.

"удаленный рабочий стол" - это вы так Remote Desktop connection называете ?

Да

И под какой же учетной записью вы залогинились на сервер ? Под той же, что использует MSSQL ?

Логинился на сервер под своей учетной записью. В MSSQL есть имя входа с проверкой подлинности Windows, там моя учетная запись.
8 дек 09, 17:43    [8037102]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104760
rsolanov

Логинился на сервер под своей учетной записью. В MSSQL есть имя входа с проверкой подлинности Windows, там моя учетная запись.

Для того, чтобы смоделировать ситуацию, как сервер будет запускать ваш файл, нужно прежде всего залогинится под учетной записью сервера
8 дек 09, 17:44    [8037111]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
rsolanov
Member

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

Логинился на сервер под своей учетной записью. В MSSQL есть имя входа с проверкой подлинности Windows, там моя учетная запись.

Для того, чтобы смоделировать ситуацию, как сервер будет запускать ваш файл, нужно прежде всего залогинится под учетной записью сервера

Что Вы имеете в виду? Залогиниться в Windows или на MSSQL?
8 дек 09, 18:02    [8037232]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8674
Supra93
rsolanov

В результате я сделал так: на своем рабочем компьютере я запустил MS SQL SERVER и на нем запустил выполнение этой хранимой процедуры. Соответственно файл - на моем компьютере, путь к файлу написал правильно, сам файл существует. Уж сейчас то почему не работает?

exec xp_cmdshell 'ping -t 127.0.0.1'
Это по-вашему тоже не работает?


За стёб в плане опции -t убить надо... Сам купился (из серии - "А как оно будет?..")

Надо всё-таки так....
exec xp_cmdshell 'ping 127.0.0.1'
8 дек 09, 19:27    [8037531]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
Supra93
Member

Откуда:
Сообщений: 8174
SIMPLicity_

За стёб в плане опции -t убить надо... Сам купился (из серии - "А как оно будет?..")

Надо всё-таки так....
exec xp_cmdshell 'ping 127.0.0.1'

Дык это не стеб.
Кагбэ намекаю ©
Ну для особо доверчивых
exec xp_cmdshell 'ping -n 30 127.0.0.1'
9 дек 09, 09:10    [8038431]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
Masygreen
Member

Откуда: Москва
Сообщений: 558
эээ ...
EXEC sp_configure 'show advanced options', 1 
GO 
RECONFIGURE
GO 
EXEC sp_configure 'xp_cmdshell', 1 
GO
RECONFIGURE 
9 дек 09, 10:36    [8038782]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
rsolanov
Member

Откуда:
Сообщений: 930
Masygreen
эээ ...
EXEC sp_configure 'show advanced options', 1 
GO 
RECONFIGURE
GO 
EXEC sp_configure 'xp_cmdshell', 1 
GO
RECONFIGURE 

Конечно это я сделал первым делом. Тут причина в чем то другом.
Ведб например Ping отрабатывает, а приложение, которое я хочу запустить не запускается.
Glory начал наводить на верную мысль, а потом почему то пропал :(
9 дек 09, 14:16    [8040734]     Ответить | Цитировать Сообщить модератору
 Re: Не работает запуск exe файла из хранимой процедуры  [new]
rsolanov
Member

Откуда:
Сообщений: 930
Все, разобрался, все сделал. Всем кто помогал большое спасибо!
13 дек 09, 22:01    [8060706]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить