FTP: загруженный файл в Mac OS и переданный на виртуальную машину Windows Server - но не будет работать - PullRequest
1 голос
/ 19 января 2011

Я перенес файл базы данных MS SQL из FTP-хранилища в Mac OS, а затем скопировал из MAC OS на свою виртуальную машину Windows Server.Однако процесс восстановления базы данных не сработал.Когда я FTP с виртуальной машины Windows Server напрямую, процесс восстановления работал.Что здесь происходит?Может ли это быть прямым или прямым порядком байтов?

1 Ответ

3 голосов
/ 20 января 2011

Проблема конца строки: древняя чума на передачу файлов между операционными системами, особенно между OSX и Windows.

Файловые системы используют символ «конец строки» для обозначения новой строки, и разные операционные системы реализуют этот символ по-разному.Mac OSX использует LF («перевод строки» на старом языке), а Windows использует CRLF («Carriage-Return-Line-Feed»), как в цилиндрической каретке пишущей машинки, возвращающейся с одной стороны пишущей машинки на другую.устройства, используемые для впечатывания отдельных чернил глифов на листе бумаги - подробнее здесь ).

Следовательно, когда вы отправляете файл FTP на компьютер OSX в режиме ASCII, сервер FTP меняет окончания строкк общему формату, определенному FTP во время передачи, а затем OSX меняет их на «LF» при сохранении файла, и ваш компьютер с Windows в конечном итоге сбивается с толку.

Вместо этого попробуйте режим изображения FTP (также называемый двоичным), доступный с использованиемКоманда OSX "ftp" в /Applications/Utilities/Terminal.app/ Подробнее об использовании встроенного в OSX "ftp" здесь .

...