0
根据我的要求,我开发了一个java代码,它将FTP文件从本地路径传输到服务器。现在我想将它作为一个过程/函数存储在数据库中,并且想从后端调用它。 下面是我的代码:从PLSQL调用JAVA FTP程序
CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "FtpUrlUpload" AS
package net.codejava.ftp;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;
import java.lang.String;
public class FtpUrlUpload {
private static final int BUFFER_SIZE = 4096;
public static void main(String[] args) {
String ftpUrl = "ftp://%s:%[email protected]%s/%s;type=i";
String host = "127.23.21.10";
String user = "samuser";
String pass = "password";
String filePath = "E:/Work/Project.zip";
String uploadPath = "/MyProjects/archive/Project.zip";
ftpUrl = String.format(ftpUrl, user, pass, host, uploadPath);
System.out.println("Upload URL: " + ftpUrl);
try {
URL url = new URL(ftpUrl);
URLConnection conn = url.openConnection();
OutputStream outputStream = conn.getOutputStream();
FileInputStream inputStream = new FileInputStream(filePath);
byte[] buffer = new byte[BUFFER_SIZE];
int bytesRead = -1;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
inputStream.close();
outputStream.close();
System.out.println("File uploaded");
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
我面临的一个问题,而试图编译数据库。下面是问题: 错误Java源FtpUrlUpload:
LINE/COL
--------------------------------------------------------------------------------
ERROR
--------------------------------------------------------------------------------
0/0
FtpUrlUpload:22: cannot resolve symbol
0/0
symbol : method format (java.lang.String,java.lang.String,java.lang.String,java
.lang.String,java.lang.String)
0/0
1 error
LINE/COL
--------------------------------------------------------------------------------
ERROR
--------------------------------------------------------------------------------
0/0
ftpUrl = String.format(ftpUrl, user, pass, host, uploadPath);
0/0
^
0/0
location: class java.lang.String
LINE/COL
--------------------------------------------------------------------------------
ERROR
--------------------------------------------------------------------------------
但我已经使用javac,它是越来越成功编译编译它。我基本上是一个数据库程序员(SQL/PLSQL),并且具有关于java的知识。任何人都可以在这里指导我。
也许你正在使用旧版本的Java <1.5? –
我正在使用java版本1.6.0_29。但我试图使用标准命令'CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED'通过Oracle数据库进行编译。我的Oracle版本是10.2.0.1.0。 – user3327133