我试图上传用户在asp.net网站所产生的Unisys的大型机数据。 我的客户决定,他们要我直接加载数据到主机优利窗口共享,而不是使用FTP上传文件。 FTP通常做ASCII和EBCDIC之间的转换。
问题是,大型机看到文件作为ASCII不管我是否已经编码的文件内容EBCDIC。
测试代码是在这里:
string dataToWrite = "ACHR0000000000575TEST EBCDICPAYEE 8899007500038159 0000001000160330 ".ToUpper();
Encoding ebcdic = Encoding.GetEncoding("IBM037");
List<byte> bytes = new List<byte>();
bytes.AddRange(Encoding.Convert(Encoding.ASCII, ebcdic, Encoding.ASCII.GetBytes(dataToWrite)));
using (var unc = new UNCAccessWithCredentials())
{
// get access to the reconciliation file share using credentials in the config
string path = @"\\xxx\RECONDEV";
unc.NetUseWithCredentials(path, "XXX","", "XXX");
string fileName = Path.Combine(path, "ACH");
using (var binWriter = new BinaryWriter(File.OpenWrite(fileName)))
{
binWriter.Write(bytes.ToArray());
binWriter.Flush();
binWriter.Close();
}
}
问题
1)我应该创建该文件为ASCII,然后让大型机作业中调用一个实用程序将文件转换EBCDIC? 如果是这样,什么是实用程序的名称? 大型机OPS不知道的人。
2)是否有某种方式来实际创建.NET中的EBCDIC文件? 该EBCDIC编码工作,但我相信,文件类型是不同的,我一直没能找出什么。
我真的还没有与大型机在20年里让我从我的深度作出的任何事情。
提前致谢。 克里斯