Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.11.30;
Скачать: CL | DM;

Вниз

Составление сервисом запроса.   Найти похожие ветки 

 
Серж   (2008-10-22 16:06) [0]

Добрый день.
У меня есть процедура, которая формирует запрос на вставку в 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).
В чем может быть ошибка?


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

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


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

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


 
Anatoly Podgoretsky ©   (2008-10-22 16:57) [3]

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

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


 
stas ©   (2008-10-22 17:21) [4]

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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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

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

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


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

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

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

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


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


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

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


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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2008.11.30;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
4-1200298650
avoznuk
2008-01-14 11:17
2008.11.30
Работа с монитором


3-1210762560
Ирина
2008-05-14 14:56
2008.11.30
Как редактировать запись из поля DBEdit в несколько таблиц


2-1224237799
Rolf
2008-10-17 14:03
2008.11.30
Работа с класом внутри функции.


15-1222268127
koha!
2008-09-24 18:55
2008.11.30
ОБСОД........


2-1224654637
DJones
2008-10-22 09:50
2008.11.30
Вопрос об OnClick компонента CheckBox.