Я использую FtpWebRequest
для добавления данных в файл мэйнфрейма. Каждая добавленная запись составляет 50 символов, и я добавляю их по одной записи за раз.Проблема с использованием FtpWebRequest для добавления к файлу на мейнфрейме
В нашей среде разработки у нас нет мэйнфрейма, поэтому мой код был написан и протестирован FTP-сервером на FTP-сайт Windows вместо мэйнфрейма. Первоначально я записывал каждую запись, используя StreamWriter
(используя поток из FtpWebRequest
) и записывая каждую запись, используя WriteLine
(который автоматически добавляет CR/LF в конец).
Когда мы впервые запустили это в тестовой среде (в которой мы пишем фактический мэйнфрейм MVS), наш мейнфрейм сказал, что CR/LFs не могут быть прочитаны его программой (зеленый что-то вроде экранированной мэйнфрейма - он прислал мне снимки экрана, и это все, что я знаю об этом).
Я изменил наш код на использование Write
вместо WriteLine
, но теперь мой код успешно выполняется (т. Е. Не содержит исключений) при записи нескольких записей, но независимо от того, сколько записей мы добавляем, он может «видеть» первая запись - согласно его программе мэйнфреймов, в файле есть только одна запись из 50 символов.
Я предполагаю, что, чтобы исправить это, мне нужно написать еще один символ с разделителями строк в конце потока (вместо CR/LF), который мейнфрейм будет распознавать как разделитель записей. Кто-нибудь знает, что это такое, или как еще я могу исправить эту проблему?
LF = "\ n" и CR = "\ r" справа? – MusiGenesis
У меня уже была какая-то боль, которая уже дошла до этого. Я уже столкнулся с проблемой структуры каталогов MVS - к счастью, наша цель оказалась такой простой, как «ftp://ggg.ddd.com//'FILE.EXT» (с дополнительным косой чертой и одиночными кавычками). – MusiGenesis
Похоже, что добавление LF вместо CR/LF может исправить нас. Они сказали, что длина записи составляет 50 символов. Как вы думаете, это означает, что я должен добавить 51 символ (50 + LF), или если LF будет 50-м символом? – MusiGenesis