免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4666 | 回复: 12
打印 上一主题 下一主题

除了CA自带的下载功能,怎么传送AS400的文件(pf)到PC(txt)?? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-26 22:08 |只看该作者 |倒序浏览
RT...

论坛徽章:
0
2 [报告]
发表于 2009-05-26 22:17 |只看该作者
使用FTP进行传送:

 由于运行视窗操作系统(Windows)的PC使用ASCII编码, 而运行OS/400的AS/400使用EBCDIC编码, 所以在两个不同编码的操作系统之间互相传送文件, 就涉及到文件编码的问题. 如果要传输的文件又包含中文, 那么系统又要做不同的转码处理, 本片文章就介绍如何在PC和AS/400之间正确地传输包含中文的文件.
  1. 从PC往AS/400送文件PC -- Client, AS/400 -- Server)
  示例: 将PC上e:\temp目录下的文件test.file(包含中文), 传送到AS/400上的库TESTLIB中
  * 在Windows中运行DOS窗口;
  * ftp as400-ip-address;
  * 输入用户名和密码;
  * quote site namefmt 1
  * cd /qsys.lib/testlib.lib
  * lcd e:\test
  * bin
  * quote type c 1381
  * put test.file
  2. 从AS/400往PC送文件PC -- Server, AS/400 -- Client)
  示例: 将AS/400上库TESTLIB下的文件test.file(包含中文), 传送到PC上的目录e:\temp中
  * 在AS/400命令行输入: ftp 'pc-ip-address'
  * 输入用户名和密码;
  * cd e:\temp
  * namefmt 1
  * lcd /qsys.lib/testlib.lib
  * bin
  * ltype c 1381
  * put testas.file

论坛徽章:
0
3 [报告]
发表于 2009-05-27 08:50 |只看该作者

回复 #2 cloudrack_chen 的帖子

2,从AS/400往PC送文件时,要是PC端没开FTP,还有其他方法实现吗??

补充一下:
400的CCSID(QCCSID)是65535,400客户端(CA)的CCSID是937(繁体中文),PC OS是XP(繁体)。

论坛徽章:
0
4 [报告]
发表于 2009-05-27 09:22 |只看该作者
有很多 5250 軟件都有下載功能, 但要知道 server 上有沒有設定 exit point 限制

论坛徽章:
0
5 [报告]
发表于 2009-05-27 10:11 |只看该作者

回复 #4 alexcmk 的帖子

请问可否描述得具体点(最好可以有代码:wink: )。

论坛徽章:
0
6 [报告]
发表于 2009-05-27 10:14 |只看该作者

论坛徽章:
0
7 [报告]
发表于 2009-05-27 17:20 |只看该作者
写了一个BAT文件名为“ftpdwn.bat”,放在D:盘
用于运行FTP命令,通过GET命令把400的文件(PF.MBR)下载到PC。


代码如下:
@echo off
set FtpFile=%temp%\TempAcc.txt
>"%FtpFile%" echo open as400-ip
>>"%FtpFile%" echo username
>>"%FtpFile%" echo password
>>"%FtpFile%" echo cd teslib
>>"%FtpFile%" echo get %1 %2
>>"%FtpFile%" echo quit
ftp -s:"%FtpFile%"
del "%FtpFile%"

然后通过STRPCCMD命令执行该文件(ftpdwn.bat)
传入两个参数(1%为400的文件,%2为将要生成在PC的文件)

STRPCO
STRPCCMD PCCMD('D:\ftpdwn.bat file1.file1 d:\file1.txt') PAUSE(*NO)

我测试了一下,如果PF里只有英文字符的话就没问题;如果是P型数字或中文的话就会出现乱码,问题有待解决,希望各位大虾不吝赐教。

论坛徽章:
0
8 [报告]
发表于 2009-05-28 00:33 |只看该作者
一般在PC 跟400常見的PF檔案傳輸有幾種方法可以達成
1)FTP

2)先用command "CPYTOSTMF"or "CPYTOPCD"把檔案存到IFS下
再用Netserver (網路芳鄰),把檔案抓回去.

3)ODBC,OLEDB,JDBC.
  自己寫程式把牠抓回去,DATA TRANSFER就是用這個方法

不過繁中的資料有0E0F的問題,所以抓回來的DBCS資料都把blank去掉
可以參考下面網址的說明解決這個問題

http://blog.xuite.net/vengoal/as400/14233697

论坛徽章:
0
9 [报告]
发表于 2009-05-28 11:39 |只看该作者


[ 本帖最后由 jianzk 于 2009-5-28 11:44 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2009-06-01 11:27 |只看该作者
原帖由 cwwen 于 2009-5-28 00:33 发表
一般在PC 跟400常見的PF檔案傳輸有幾種方法可以達成
1)FTP

2)先用command "CPYTOSTMF"or "CPYTOPCD"把檔案存到IFS下
再用Netserver (網路芳鄰),把檔案抓回去.

3)ODBC,OLEDB,JDBC.
  自己寫程式把牠抓回 ...


关于第三种方法,有时候速度有点慢倒是真的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP