资源描述:
《oracle ebs oaf上传文件到服务器实例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、很多时候,我们会遇到这种需求:用户需要上传csv数据文件到EBS服务器,然后程序读取数据到数据库。不同的用户上传的路径也不同,比如采购用户,需要上传采购数据,BOM用户,需要上传BOM清单,财务用户需要上传日记账数据,等等。实现方式有很多。比如,DBA在服务器端分别共享文件夹给不同的用户,文件夹设置密码(这个方式最便捷,我公司就是用这种方式)。本帖简单实现的是另外一个方法,在EBS注册一个OAF页面,通过java ftp的方式,把文件上传到EBS服务器。如下图:用户应该可以选择需要上传的路径。(数据可以在valueset设置,具体权限控制需要
2、自己酌情考虑) OAF截图: java代码:(简单测试通过,能从本机把文件上传到EBS服务器上,参数都是写死的硬代码)MyFtp.javapackageoracle.apps.ak.uploadfile.webui;//javaftpuploadimportjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjav
3、a.io.InputStream;importjava.io.OutputStream;importsun.net.TelnetOutputStream;importsun.net.ftp.FtpClient;importsun.security.action.OpenFileInputStreamAction;publicclassMyFtp{publicstaticvoidSimonTestFTP(StringserverPath){MyFtpftpTest=newMyFtp();//UploadCOftpTest=newUploadCO
4、();StringserverUrl="hostname";StringuserName="username";StringpassWord="password";StringuploadFile="D:/SIMON_TEST_FTP.csv";//StringserverPath="serverpath";//上传文件到Ftp服务器ftpTest.uploadToFtpServer(serverUrl,userName,passWord,uploadFile,serverPath);}publicvoiduploadToFtpServer(
5、StringserverUrl,StringuserName,StringpassWord,StringuploadFile,StringserverPath){FtpClientftpClient;try{ftpClient=newFtpClient();//打开ftp客户端//登录到Ftp服务器booleanisOpenSuccess=loginToFtpServer(ftpClient,serverUrl,userName,passWord);if(isOpenSuccess){//以下几步顺序不能错//进入服务器的指定目录ftpCli
6、ent.cd(serverPath);OutputStreamoutputStream=getFtpClientOutputStream(ftpClient,uploadFile);InputStreaminputStream=getLocalFileInputStream(uploadFile);writeToFtpServer(outputStream,inputStream);close(ftpClient,outputStream,inputStream);//关闭}}catch(Exceptione){e.printStackTra
7、ce();}}/**从Ftp服务器上下载文件*/publicvoiddownloadFormFtp(StringserverUrl,StringuserName,StringpassWord,StringdownLoadFile,StringserverPath){FtpClientftpClient=null;try{ftpClient=newFtpClient();booleanisOpenSuccess=loginToFtpServer(ftpClient,serverUrl,userName,passWord);if(isOpenSu
8、ccess){//以下几步顺序不能错//进入服务器的指定目录ftpClient.cd(serverPath);OutputStreamoutputStream=ne