2010-04-16 3 views
1

Я использую FtpWebRequest для добавления данных в файл мэйнфрейма. Каждая добавленная запись составляет 50 символов, и я добавляю их по одной записи за раз.Проблема с использованием FtpWebRequest для добавления к файлу на мейнфрейме

В нашей среде разработки у нас нет мэйнфрейма, поэтому мой код был написан и протестирован FTP-сервером на FTP-сайт Windows вместо мэйнфрейма. Первоначально я записывал каждую запись, используя StreamWriter (используя поток из FtpWebRequest) и записывая каждую запись, используя WriteLine (который автоматически добавляет CR/LF в конец).

Когда мы впервые запустили это в тестовой среде (в которой мы пишем фактический мэйнфрейм MVS), наш мейнфрейм сказал, что CR/LFs не могут быть прочитаны его программой (зеленый что-то вроде экранированной мэйнфрейма - он прислал мне снимки экрана, и это все, что я знаю об этом).

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

Я предполагаю, что, чтобы исправить это, мне нужно написать еще один символ с разделителями строк в конце потока (вместо CR/LF), который мейнфрейм будет распознавать как разделитель записей. Кто-нибудь знает, что это такое, или как еще я могу исправить эту проблему?

ответ

1

У меня на самом деле была такая же проблема, и я исправил ее, используя только LF в качестве разделителя.

Кроме того, на стороне примечания, для отправки файла я закончил писать сценарий командной строки и обстреливал утилиту ftp DOS, потому что встроенный .NET-класс FTP не играл хорошо с тем, как команды форматированного мэйнфрейма и странная структура «каталога».

+0

LF = "\ n" и CR = "\ r" справа? – MusiGenesis

+0

У меня уже была какая-то боль, которая уже дошла до этого. Я уже столкнулся с проблемой структуры каталогов MVS - к счастью, наша цель оказалась такой простой, как «ftp://ggg.ddd.com//'FILE.EXT» (с дополнительным косой чертой и одиночными кавычками). – MusiGenesis

+0

Похоже, что добавление LF вместо CR/LF может исправить нас. Они сказали, что длина записи составляет 50 символов. Как вы думаете, это означает, что я должен добавить 51 символ (50 + LF), или если LF будет 50-м символом? – MusiGenesis

 Смежные вопросы

  • Нет связанных вопросов^_^