Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Составление сервисом запроса.


Серж ©   (2008-10-22 16:06:00) 

Добрый день.
У меня есть процедура, которая формирует запрос на вставку в MSSQL Server данных из файла.
Составленый процедурой запрос выглядит след. образом:

BULK INSERT MyDB..File_A FROM 'D:\Мои приложения\FileLoader\a3.win'
WITH (TABLOCK, FORMATFILE = 'D:\Мои приложения\FileLoader\FormatFiles\a.fmt');


Далее запрос помещается в ADOQuery и выполняется.
Процедура выполняется, если создать простое приложение. Но если в выполнять эту процедуру в приложении, которое в качестве сервиса, то вываливается ошибка:
Could not bulk insert because file 'D:\Мои приложения\FileLoader\FormatFiles\a.fmt' could not be opened. Operating system error code 3(error not found).
В чем может быть ошибка?


palva   (2008-10-23 00:03:00) [1]

Попробовать запускать сервер от имени того аккаунта, который имеет права?


Урсулап   (2008-10-22 19:42:00) [2]

"Ты недостаточно прав" (с)
:)


Правильный$Вася   (2008-10-22 18:49:00) [3]


> Тупо копировал файл в корень диска. Писал ошибку что не
> может найти файл. Помещаю в какую-либо директорию пишет
> уже тогда что путь не найден.

типичный признак отсутствия прав


Поросенок Винни-Пух   (2008-10-22 18:14:00) [4]

Не понятно причем путь файла exe?

getcurrentdir будет разный для приложения и для сервиса, находящихся в одной и той же папке.
но если путь абсолютный, то это роли не играет.

а вообще см. [8]


Серж   (2008-10-22 18:10:00) [5]

Не понятно причем путь файла exe?
Не получается загрузить другие файлы с конктретно взятых директорий.


> 1. убери все пробелы в пути

Тупо копировал файл в корень диска. Писал ошибку что не может найти файл. Помещаю в какую-либо директорию пишет уже тогда что путь не найден.

> 2. убедись что путь к файлу абсолютный (текущий каталог
> процесса у приложения - папка с exe, у сервиса - windows\system32)

Все правильно.


Поросенок Винни-Пух   (2008-10-22 17:45:00) [6]

1. убери все пробелы в пути.
2. убедись что путь к файлу абсолютный (текущий каталог процесса у приложения - папка с exe, у сервиса - windows\system32)


Поросенок Винни-Пух   (2008-10-22 17:43:00) [7]

тогда верь сообщению об ошибке.


Серж   (2008-10-22 17:41:00) [8]

Локальный. Все на локале пока пробую.


Поросенок Винни-Пух   (2008-10-22 17:37:00) [9]

а D:\ это поди смаппленный сетевой диск


Серж   (2008-10-22 17:35:00) [10]

Подключение к серверу происходит по спецально созданному аккаунту с соотв. разрешениями в МSSQL. Он под ним и пытается выполнить запрос. MS SQL локальный.


stas   (2008-10-22 17:21:00) [11]

Серж   (22.10.08 16:21) [2]

Если я не ошибаюсь сервис работает под SYSTEM?
А ты проверял?
На Sql у него доступ есть?


Anatoly Podgoretsky   (2008-10-22 16:57:00) [12]

> Серж  (22.10.2008 16:21:02)  [2]

А запрос под каким аккаунтом выполняется, и не пытается ли он (ты) лезть на сеть.


Серж   (2008-10-22 16:21:00) [13]

Если я не ошибаюсь сервис работает под SYSTEM?
У меня на данного пользователя стоит полный доступ.


Правильный$Вася   (2008-10-22 16:19:00) [14]

у сервиса нет прав на чтение файла или папки с файлом?


Наверх

Титульная страница Поиск, карта сайта Написать письмо