|
|
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
Службой подключаюсь к сетевому ресурсу через WNetAddConnection2, переношу из локальной папки в сетевую папку файлы(copyfile, deletfile) все хорошо, но когда наоборот хочу перенести из сетевой папки в локальную ничего не происходит. подскажите как реализовать перенос из сетевой папки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 11:41 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
warkdimka... ничего не происходит. Гасишь исключение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 11:45 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
goldmi45, в лог пишу SysErrorMessage(GetLastError) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 11:51 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
warkdimkagoldmi45, в лог пишу SysErrorMessage(GetLastError) лог пустой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 11:52 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
warkdimkaСлужбой подключаюсь к сетевому ресурсу через WNetAddConnection2 ...и она подключается? пользователь LOCAL_SYSTEM вроде как не имеет таких прав. warkdimkaлог пустой Можешь попробовать OutputDebugString https://docs.microsoft.com/en-us/sysinternals/downloads/debugview https://stackoverflow.com/questions/11218434/how-to-view-output-of-outputdebugstring И в любом случае промониторь файловый доступ своей службы через SysInternals Process Monitor - что она делает, где она делает, что ей Windows отвечает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 12:10 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
warkdimka, Если "когда наоборот хочу перенести из сетевой папки в локальную ничего не происходит", т.е. всё, все функции отрабатывают без ошибок и возвращают True (грубо говоря), и файлы там точно были, то это может означать только одно: ты стянул из сетевой шары вирусы и твой антивирус удалил их до того, как ты успел увидеть эти файлы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 12:16 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
Arioch...и она подключается? пользователь LOCAL_SYSTEM вроде как не имеет таких прав.Не имеет, но раз он файлы "туда" смог скопировать, то оттуда - тем более можно будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 12:16 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
warkdimkagoldmi45, в лог пишу SysErrorMessage(GetLastError) GetLastError может затираться любым успешным действием. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 12:21 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
Arioch, если запускать через обычное приложение тот же самый код, то все работает: и подключается и файлы переносит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 12:27 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
YuRockwarkdimka, Если "когда наоборот хочу перенести из сетевой папки в локальную ничего не происходит", т.е. всё, все функции отрабатывают без ошибок и возвращают True (грубо говоря), и файлы там точно были, то это может означать только одно: ты стянул из сетевой шары вирусы и твой антивирус удалил их до того, как ты успел увидеть эти файлы. у меня нет антивируса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 12:33 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
Arioch, подключаюсь естественно под пользователем другой машины (на которой лежит расшаренная папка) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 12:40 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
warkdimkaYuRockwarkdimka, Если "когда наоборот хочу перенести из сетевой папки в локальную ничего не происходит", т.е. всё, все функции отрабатывают без ошибок и возвращают True (грубо говоря), и файлы там точно были, то это может означать только одно: ты стянул из сетевой шары вирусы и твой антивирус удалил их до того, как ты успел увидеть эти файлы. у меня нет антивирусаЗначит, если выполнены все перечисленные мной условия, то проблема неидентифицируема и неразрешима. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 12:48 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
YuRock, так а почему, если запускать в приложении тот же код, все выполняется? антивирус виноват? если не знаешь - не засерай тему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:06 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
warkdimkaподключаюсь естественно я про то, какой пользователь службу выполняет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:09 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
warkdimkaArioch, подключаюсь естественно под пользователем другой машины (на которой лежит расшаренная папка) А на локальную папку пользователь другой машины имеет доступ? ЗЫ: код мы увидим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:09 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
goldmi45warkdimkagoldmi45, в лог пишу SysErrorMessage(GetLastError) GetLastError может затираться любым успешным действием. у тебя тут вообще нет никакого Exception иначе бы была пустая строка как минимум (а точнее строка типа "ошибок нет все хорошо") вспоминаем ,когда именно на x87 ловится состояние ошибки, однако. Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:11 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
goldmi45ЗЫ: код мы увидим? нафиг код, пусть свою службу через Process Monitor трасисрует, что она реально пытается с файлами делать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:12 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
Arioch, С примером согласен, кривой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:13 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
goldmi45, Вот если бы ты написал RaiseLastWin32Error(); - тогда да, тут бы ничего не было когда нет ошибки. Но у тебя WriteLN и независимо от GetLastError он как минимум LN-то должен был написать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:14 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
goldmi45warkdimkaArioch, подключаюсь естественно под пользователем другой машины (на которой лежит расшаренная папка) А на локальную папку пользователь другой машины имеет доступ? у локальной папки все права расшарены на всех пользователей. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:21 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
warkdimka, Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. А если сделать так? WriteLog - это процедура записи сообщения в лог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:38 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
warkdimka Код: sql 1. 2. Ч.т.д. А почему ты думаешь, что они вообще сработали??? Какие у тебя основания предполагать это вообще??? Ты их результат провeряшь? нет. Значит ты монетку подбрасываешь, то ли будет работать, то ли нет! http://delphi.scps.ru/appl/appl5109.htm И обязательно проситать статью 2010 года! 90% кода в интернете - говно https://www.gunsmoker.ru/2010/05/90.html http://docwiki.embarcadero.com/Libraries/Rio/en/System.SysUtils.CheckOSError http://docwiki.embarcadero.com/Libraries/Rio/en/System.SysUtils.RaiseLastWin32Error только когда у тебя Код: pascal 1. Исключение бросит - не забудь с ним что-нибудь сделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:39 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
goldmi45 Код: pascal 1. 2. какой на хрен Delphi TException в чистом Win32-коде ? Откуда??? PChar на каждом шагу и чаще видишь ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:39 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
warkdimkaErr := WNetAddConnection2(nw, PChar(config.ReadString('Settings', 'netPass', '0')), PChar(config.ReadString('Settings', 'netUser', '0')), 0); вот это вообще феерия! записали код ошибки.... И выкинули его на помойку. 90% кода в интернете - говно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:41 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
warkdimka Код: sql 1. 2. 3. 4. 5. Переменные? а что это такое??? Чем больше комьпютер тормозит - тем круче программа! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:43 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
Из-под какой учетки запущена служба? Если это localservice / localsystem, то эти учетки принципиально не имеют никаких прав для выхода в сеть. (Правда для localsystem есть одно исключение, но 99.99% это не Ваш случай). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:44 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
Александр СпелицинИз-под какой учетки запущена служба? Если это localservice / localsystem, то эти учетки принципиально не имеют никаких прав для выхода в сеть. (Правда для localsystem есть одно исключение, но 99.99% это не Ваш случай). служба из-под локальной учетки, она копирует в сеть, то есть права есть, но из сети не забирает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:49 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
Arioch, А может даже не в момент копирования вылетает из этой процедуры. Угу. В этом месте нужно либо CheckOSError(CopyFile ()), либо if (CopyFile ()) then DeleteFile() else SysErrorMessage(GetLastError); Ну и для отладки я бы натыкал запись в лог после каждого оператора. Тогда было бы видно, где возникает ошибка, на какой строке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:51 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
Ariochwarkdimka Код: sql 1. 2. 3. 4. 5. Переменные? а что это такое??? Чем больше комьпютер тормозит - тем круче программа! есть файл настроек, там пути прописываются сразу из него беру пути ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 13:57 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
warkdimkaAriochпропущено... Переменные? а что это такое??? Чем больше комьпютер тормозит - тем круче программа! есть файл настроек, там пути прописываются сразу из него беру пути Вам намекают на то, что лучше один раз прочитать путь из настроек в переменную, а потом её использовать, чем постоянно читать из файла настроек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:00 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
warkdimkaAriochпропущено... Переменные? а что это такое??? Чем больше комьпютер тормозит - тем круче программа! есть файл настроек, там пути прописываются сразу из него беру пути ну и ответь, зачем ты ТРИ раза читаешь файл с диска, потом ТРИ раза ищешь в нём одно и то же место, ТРИ раза вырезаешь это место в переменную ? а если между этими разами файл поменяется и ты получишь разный текст? в любом случае - зачем делать медленно? вызвал функцию - ОДИН раз - положи результат в переменную. Потому используй этот результат, а не гоняй туда-обратно по 10 раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:00 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
Александр СпелицинИз-под какой учетки запущена служба? Если это localservice / localsystem, то эти учетки принципиально не имеют никаких прав для выхода в сеть. (Правда для localsystem есть одно исключение, но 99.99% это не Ваш случай). ему сразу сказали - 21833546 бесполезно Но ведь иногда-то работает? значит всегда работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:01 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
goldmi45, и это касается ЛЮБОЙ функции, хотя чтение файлов и поиск в нём - особенно кстати, что функция (по сути, не по формальностям) PChar в данном случае почти бесплатна - это особенность Delphi. В других языках и она бы могла заниматься копированием данных например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:03 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
AriochИ обязательно прочитать статью 2010 года! 90% кода в интернете - говно https://www.gunsmoker.ru/2010/05/90.html ...а потом переписать ВЕСЬ этот код начисто, с начала и до конца Dixi ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:05 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
AriochАлександр СпелицинИз-под какой учетки запущена служба? Если это localservice / localsystem, то эти учетки принципиально не имеют никаких прав для выхода в сеть. (Правда для localsystem есть одно исключение, но 99.99% это не Ваш случай). ему сразу сказали - 21833546 бесполезно Но ведь иногда-то работает? значит всегда работает. в сторону сети работает ВСЕГДА, из сети не работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:05 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
warkdimka, каким конкретно местом в коде ТЫ - не кто-то, а лично ты - ГАРАНТИРУЕШЬ что оно работает ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:07 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
AriochГАРАНТИРУЕШЬ что оно работает ? точнее, что оно _сработало_, в _каждом_ конкретном вызове. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:08 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
Ariochwarkdimka, каким конкретно местом в коде ТЫ - не кто-то, а лично ты - ГАРАНТИРУЕШЬ что оно работает ? работает, если с локальной папки передаем в сетевую. там 2 почти одинаковых куска кода (различие в путях). сколько объяснять можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:11 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
Ariochкаким конкретно местом в коде не надо словами покажи конкретное место **в коде**, которое гарантирует, что функция отработала успешно нет такого кода? это значит, что ТЫ никак не гарантируешь. Ты просто играешь в спорт-лото. Повезет - сработало. Не повезло - да и хрен с ним. Ну тогда и нормально все, нет проблемы. Ну не везет в половине случаев, зато в половине - повезло. AriochAriochИ обязательно прочитать статью 2010 года! 90% кода в интернете - говно https://www.gunsmoker.ru/2010/05/90.html ...а потом переписать ВЕСЬ этот код начисто, с начала и до конца Dixi ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:14 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
goldmi45then DeleteFile() а если эта функция не отработала? goldmi45SysErrorMessage(GetLastError); raiselastwin32error - так проще goldmi45запись в лог после каждого оператора Можно. Но проще последовательность рабтоыс файлами снаружи посмотреть, через procmon А потом уже всталвять подробный лог, но не везде, а только в районе ошибки. Если вообще лог изнутри будет нужен, может быть по внешнему логу уже будет ясно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:19 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
Ariochgoldmi45then DeleteFile() а если эта функция не отработала? и тоже нужно проверять результат работы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:25 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
goldmi45А может даже не в момент копирования вылетает из этой процедуры. забыл написать, даже если скопировалось - не значит ,что скопировалось правильно. у вас никогда не "бились" файлы в процессе копирования по сети? а у меня бились, и SMB, и HTTP, и FTP не часто - но бывает Хотя не должно, TCP retransmit и все фигня. Не должно, очень редко - и все же бывает. поэтому желательно после копирования уже на той стороне проверять, что файл в процессе копирования не побился. Т.е. схема вообще по другому выглядит. На компе-источнике формируются файлы и контрольные хэши к ним (обычный MD5 или SHA2 или ещё что). На компе-приёмнике программа копирует оба файла, данные и хэш, издали к себе и *локально* проверяет целостность. Если совпало - тогда уже удаляет файл-источник. Заодно прячется проблема "читать из сети можем, писать в сеть не можем". Ну... почти прячется, удаление - тоже вид записи. говно-код останется говно-кодом, но это видимо всех устраивает. P.S. Ещё лучше вместо пары XML+MD5 просто клать XML в ZIP. Если там только XML и аналогичные файлы. Гораздо быстрее прокопируется, и при распаковке проверка на целостность автоматически. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:32 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
goldmi45Ariochпропущено... а если эта функция не отработала? и тоже нужно проверять результат работы. обрати внимание (присмотрись к типам параметров), что CopyFile он взял из Windows, а DeleteFile октуда-то из другого места, скорее всего SysUtils ergo 1. если в uses будут те жде модули в рдугом порядке - программа может перестать компилироваться 2. даже сейчас у CopyFile и DeleteFile разные конвенции сообщения про ошибку, и проверять это надо по-разному но всё хорошо, прекрасная маркиза. Иногда же работает? значит код всегда правильный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:39 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
AriochAriochкаким конкретно местом в коде не надо словами покажи конкретное место **в коде**, которое гарантирует, что функция отработала успешно нет такого кода? это значит, что ТЫ никак не гарантируешь. Ты просто играешь в спорт-лото. Повезет - сработало. Не повезло - да и хрен с ним. Ну тогда и нормально все, нет проблемы. Ну не везет в половине случаев, зато в половине - повезло. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. если и так не понятно, то хз. от тебя ни одного совета не увидел кроме как ссылки на статьи про говнокод ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:39 |
|
||
|
Перенос файлов из сетевой папки в локальную службой
|
|||
|---|---|---|---|
|
#18+
warkdimkaпропущено... Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. CopyFile MSDN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2019, 14:59 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2039693]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 381ms |

| 0 / 0 |
