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

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

Есть приложение написанное на C#. Приложение получает 2 параметра - путь к файлу (шаблону) Excel и путь к файлу результату.
Приложение должно скопировать по новому пути файл excel, получить данные из sql и поместить их в созданный файл. При запуске из Visual Studio приложение отрабатывает, при запуске с помощью ярлыка в котором указаны параметры вида

D:\2\ToExcelTemplate.exe "D:\1\Templates\template.xls" "D:\1\result.xls"

тоже все ок.
При попытке запуска из под sql

exec xp_cmdshell 'D:\2\ToExcelTemplate.exe "D:\1\Templates\template.xls" "D:\1\result.xls"'

Выдает ошибку

Ошибка создания Excel приложения! Приложению Microsoft Excel не удается получить доступ к файлу "D:\1\template.xls". Это может быть вызвано одной из следующих причин.
 Указан несуществующий файл или путь.
 Файл используется другой программой.
 Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.


Проблема видимо в правах, не могу только понять что именно не так. SQL server установлен локально от имени пользователя в домене, service запущен от имени этого же пользователя, логин включен в роль sysadmin. Подскажите пож-та в чем еще может быть проблема?
26 апр 16, 15:00    [19108648]     Ответить | Цитировать Сообщить модератору
 Re: Запуск exe из sql server  [new]
semI-PACK
Member

Откуда:
Сообщений: 40
сообщение об ошибке вставил старое. Новое вот:

Ошибка создания Excel приложения! Приложению Microsoft Excel не удается получить доступ к файлу "D:\1\result.xls". Это может быть вызвано одной из следующих причин.
 Указан несуществующий файл или путь.
 Файл используется другой программой.
 Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.


т.е. проблема не в ошибке в имени файла
26 апр 16, 15:02    [19108662]     Ответить | Цитировать Сообщить модератору
 Re: Запуск exe из sql server  [new]
Glory
Member

Откуда:
Сообщений: 104760
semI-PACK
При попытке запуска из под sql

а сервер на какой машине находится ?

semI-PACK
Проблема видимо в правах, не могу только понять что именно не так. SQL server установлен локально от имени пользователя в домене, service запущен от имени этого же пользователя, логин включен в роль sysadmin. Подскажите пож-та в чем еще может быть проблема?


exec xp_cmdshell 'dir D:\2\'
exec xp_cmdshell 'dir D:\1\'
26 апр 16, 15:03    [19108667]     Ответить | Цитировать Сообщить модератору
 Re: Запуск exe из sql server  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
semI-PACK,

в курсе, что это всё на сервере с SQL происходит? А не на локальном компьютере.
Это там 'D:\2\ToExcelTemplate.exe находится?
И права на все эти папки есть?
26 апр 16, 15:03    [19108670]     Ответить | Цитировать Сообщить модератору
 Re: Запуск exe из sql server  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
iap
semI-PACK,

в курсе, что это всё на сервере с SQL происходит? А не на локальном компьютере.
Это там 'D:\2\ToExcelTemplate.exe находится?
И права на все эти папки есть?


автор
SQL server установлен локально от имени пользователя в домене, service запущен от имени этого же пользователя, логин включен в роль sysadmin.

так пишет :)
26 апр 16, 15:05    [19108679]     Ответить | Цитировать Сообщить модератору
 Re: Запуск exe из sql server  [new]
semI-PACK
Member

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

сервер на локальной машине.

Права на папки есть:

Том в устройстве D не имеет метки.
Серийный номер тома: 407F-4251
NULL
Содержимое папки D:\1
NULL
26.04.2016 14:52 <DIR> .
26.04.2016 14:52 <DIR> ..
26.04.2016 13:03 <DIR> Templates
0 файлов 0 байт
3 папок 570 861 699 072 байт свободно


По второй аналогично, все ок.
26 апр 16, 15:05    [19108685]     Ответить | Цитировать Сообщить модератору
 Re: Запуск exe из sql server  [new]
semI-PACK
Member

Откуда:
Сообщений: 40
iap
в курсе, что это всё на сервере с SQL происходит? А не на локальном компьютере.
Это там 'D:\2\ToExcelTemplate.exe находится?
И права на все эти папки есть?


на все вопросы: да
26 апр 16, 15:06    [19108694]     Ответить | Цитировать Сообщить модератору
 Re: Запуск exe из sql server  [new]
Konst_One
Member

Откуда:
Сообщений: 11538
semI-PACK
Glory,

сервер на локальной машине.

Права на папки есть:

Том в устройстве D не имеет метки.
Серийный номер тома: 407F-4251
NULL
Содержимое папки D:\1
NULL
26.04.2016 14:52 <DIR> .
26.04.2016 14:52 <DIR> ..
26.04.2016 13:03 <DIR> Templates
0 файлов 0 байт
3 папок 570 861 699 072 байт свободно


По второй аналогично, все ок.


ну и где вы тут видите файл result.xls ?
26 апр 16, 15:08    [19108714]     Ответить | Цитировать Сообщить модератору
 Re: Запуск exe из sql server  [new]
Glory
Member

Откуда:
Сообщений: 104760
semI-PACK
По второй аналогично, все ок.

отображение содержимого директории не есть автоматически все права в этой директории

exec xp_cmdshell 'dir D:\1\ >D:\1\test.txt'

И какое то странное сообщение для программы, которая " должно скопировать по новому пути файлl" - Ошибка создания Excel приложения!
26 апр 16, 15:10    [19108725]     Ответить | Цитировать Сообщить модератору
 Re: Запуск exe из sql server  [new]
semI-PACK
Member

Откуда:
Сообщений: 40
Konst_One
ну и где вы тут видите файл result.xls ?


Приложение должно скопировать по новому пути файл excel, получить данные из sql и поместить их в созданный файл. При запуске из Visual Studio приложение отрабатывает, при запуске с помощью ярлыка тоже все ок.

При попытке запуска из под sql выдает ошибку
26 апр 16, 15:12    [19108741]     Ответить | Цитировать Сообщить модератору
 Re: Запуск exe из sql server  [new]
Konst_One
Member

Откуда:
Сообщений: 11538
ну так ваше приложение неправильно работает , разбирайтесь с ним, SQL тут вообще не при делах
26 апр 16, 15:13    [19108747]     Ответить | Цитировать Сообщить модератору
 Re: Запуск exe из sql server  [new]
semI-PACK
Member

Откуда:
Сообщений: 40
Glory
exec xp_cmdshell 'dir D:\1\ >D:\1\test.txt'


Создался файл с содержимым

Том в устройстве D не имеет метки.
Серийный номер тома: 407F-4251

Содержимое папки D:\1

26.04.2016 15:13 <DIR> .
26.04.2016 15:13 <DIR> ..
26.04.2016 13:03 <DIR> Templates
26.04.2016 15:13 0 test.txt
1 файлов 0 байт
3 папок 570 861 699 072 байт свободно
26 апр 16, 15:16    [19108767]     Ответить | Цитировать Сообщить модератору
 Re: Запуск exe из sql server  [new]
semI-PACK
Member

Откуда:
Сообщений: 40
Konst_One
ну так ваше приложение неправильно работает , разбирайтесь с ним, SQL тут вообще не при делах


При запуске из Visual Studio приложение отрабатывает, при запуске с помощью ярлыка тоже все ок.
26 апр 16, 15:16    [19108773]     Ответить | Цитировать Сообщить модератору
 Re: Запуск exe из sql server  [new]
Glory
Member

Откуда:
Сообщений: 104760
semI-PACK
Создался файл с содержимым

Значит проблема - в вашем приложении
26 апр 16, 15:17    [19108778]     Ответить | Цитировать Сообщить модератору
 Re: Запуск exe из sql server  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
semI-PACK,

а можно уточнить: зачем вы заставляете sql сервер заниматься этим извращением?
26 апр 16, 15:18    [19108786]     Ответить | Цитировать Сообщить модератору
 Re: Запуск exe из sql server  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
TaPaK
semI-PACK,

а можно уточнить: зачем вы заставляете sql сервер заниматься этим извращением?


Вот именно... В задачи сервера не входит старт каких-то исполняемых приложений, тем более через админскую калитку.
26 апр 16, 15:22    [19108813]     Ответить | Цитировать Сообщить модератору
 Re: Запуск exe из sql server  [new]
qwertEHOK
Member

Откуда: Волгоград
Сообщений: 273
создайте батник и запускайте из sql батник
26 апр 16, 15:27    [19108850]     Ответить | Цитировать Сообщить модератору
 Re: Запуск exe из sql server  [new]
difed
Member

Откуда:
Сообщений: 9
Советую посмотреть в сторону Integration Service.
26 апр 16, 20:22    [19110082]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить