![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
FreePaul |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 22.10.2002 Репутация: нет Всего: нет |
Здравствуйте! Возникла следующая проблема:
На Delphi написана программа, одной из функций которой является определение свободного места на сетевом диске. Программа запускается как job из-под MS SQL Server под именем sa (сразу оговорюсь, что я запускал ее и под учетной записью админа машины и под учетной записью админа домена). Проблема вот в чем - если запускать программу обычным способом (двойным щелчком мыши по ней) то она корректно определяет свободное место на сетевом диске. А если она запускается как job из-под MS SQL Server, то всегда выдает, что свободное место =0 (нулю). Путем долгих тыканий выяснено, что скорей всего job'ом программа запускается с ограниченными правами (посмотреть такое можно, если по любому исполняемому файлу щелкнуть правой кнопкой мыши, выбрать пункт "Запускать от имени..." - там всегда по умолчанию отмечена опция "Запускать эту программу с ограниченным доступом".) Вопрос: есть ли способ стандартными средствами Delphi обойти это ограничение. P.S. С помощью Jedi пытался запустить программу с правами админа домена (написал launcher) - не помогает... |
|||
|
||||
Bes |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
Попробуй запустить джобом дтс пакет а в нем уже запиши старт программы.
|
|||
|
||||
FreePaul |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 22.10.2002 Репутация: нет Всего: нет |
А поподробнее нельзя? ДТС - это Data Transformation Services? Как туда вписать запуск программы?
![]() |
|||
|
||||
Bes |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
Выбираешь Local Package -> New Package
Добавляешь туда Execute Process task - туда пишешь путь к экзешнику. Все. |
|||
|
||||
FreePaul |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 22.10.2002 Репутация: нет Всего: нет |
Не помогло... Если в самом ЕМ выбираю команду Execute step - все работает, а по щедулеру - нет...
![]() |
|||
|
||||
Bes |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
Хм... Может проблема в том, как твое приложение возвращает результат?
У тебя программа как работает, в каком виде возвращает результат? |
|||
|
||||
FreePaul |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 22.10.2002 Репутация: нет Всего: нет |
Сначала определяю свободное место на сетевом диске:
Затем действуем в зависимости от того, хватает ли свободного места:
И вот тут-то и начинается... Если я запускаю программу ручками - определяет место, и все ОК, но если я ее ставлю в джоб, выдает, что свободного места - 0. ![]() |
||||
|
|||||
Bes |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
Я бы для начала упростил программу до одной строчки типа
ShowMessage(GetDiskFreeSpaceEx(PChar(DBDestJvDirectoryEdit.Text), FreeBytesAvailableToCaller, Totalsize, @FreeSize)); и так попробовал. А вообще, закралось у меня подозрение, что это мистика и приложение запускается в каком-то своем пространстве... :-) Попробую у себя, потом отвечу. |
|||
|
||||
FreePaul |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 22.10.2002 Репутация: нет Всего: нет |
У меня то же подозрение... Все дело в том, что если через ShowMessage выдавать инфу, то прграмма висит в памяти сервера (ее видно в лиспетчере задач) но сообщение не выдает. Только через Net Send. Не пробовал у себя? |
|||
|
||||
Bes |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
А у меня код не откомпилировался. Видимо, ты используешь какие-то юзесы, которые не написал в коде.
У меня есть приложения которые обрабатывают таблицы и запускаются из дтс-пакета - все работает. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |