2015-12-31 5 views
0

Я пытаюсь автоматизировать еженедельное создание базы данных. В качестве первого шага в этом процессе мне нужно получить набор файлов из сетевого местоположения M:\. Этот процесс выглядит следующим образом:Копирование/перемещение файлов в PDI/Spoon yields 'is not a file' error

  1. Удалите любые оставшиеся старые исходные файлы из моей локальной папки (REMOVE_OLD_FILES).
  2. Получить имена необходимых файлов с помощью регулярных выражений (GET_FILES).
  3. Скопируйте файлы из сетевой папки в мою локальную папку для дальнейшей обработки (COPY/MOVE FILES)

The acquistion process

Шаг 3, где я бег в проблему, я часто получаю ошибку ниже:

Error processing files. Exception : org.apache.commons.vfs.FileNotFoundException: Could not read from "file:///M:/FILESOURCE/FILENAME.zip" because it is a not a file. 

Однако, когда я вручную локализую «ошибочный» файл в сетевом расположении и пытаюсь его открыть или скопировать, проблем нет. Если я снова запустил задание Spoon, ошибок для этого файла не возникнет (хотя следующий файл может привести к ошибке).

До сих пор я проверил, что шаги 1 и 2 работает корректно: более конкретно, нет никаких ошибок в именах файлов, возвращаемых с шага 2.

Очевидно, я предпочел бы не приходилось вручную открыть все сначала убедитесь, что Spoon может их правильно скопировать. Кто-нибудь имеет представление о том, что может вызвать такое поведение?

Для полноты ниже приведены параметры, выбранные на этапе COPY/MOVE FILES.

File copy dialog

ответ

0

Путь к файлу является неправильным. Если вы используете ложку в среде Windows, вы должны использовать формат Windows для путей к файлам. Попробуйте изменить из

"file:///M:/FILESOURCE/FILENAME.zip"

Для

"M:\FILESOURCE\FILENAME.zip"

Кстати, он будет работать только тогда, когда M: является актуальной диск в машине. Если вы хотите получить доступ к файлу в сети, вы должны использовать сетевой путь к общей папке, таким образом:

"\\MachineName\M$\FILESOURCE\FILENAME.zip"

или

"\\MachineName\FILESOURCE\FILENAME.zip"

Если вы пытаетесь получить доступ к файлу в сети установлен диск не будет работать.

2

Я столкнулся с той же проблемой с разными клиентами, и, наконец, я попытался с некоторым базовым подходом, и он был разрешен. Это может помочь и в вашем случае.

Кроме того, другие пользователи могут следовать этому правилу.

Просто попробуйте: Создайте всю необходимую папку с заданием ложки «Создайте папку» и не активируйте/удалите эти перелеты из вашего задания или преобразования после создания ваших папок.

Это потому, что пользователь, которого вы используете для удаления файлов, не распознается как пользователь Windows. После того, как ваша папка находится на своем месте, вы можете удалить шаги «Создать папку» из своего задания.

Job Created to Delete a File