2016-06-16 4 views
0

特定のフォルダにデータがあります。私はIDだけを知っている。しかし、データの名前にはIDが含まれているため、「listFiles」を使用しています。セキュリティ上の理由から、Javaクラスを自分のOracleにアップロードしたいので、データベースだけがファイルシステムに入ることができます。しかし、私のOracle DBは、常にエラーでコンパイルが成功したと言い、理由を知らない。ここでエラーJVM Oracleデータベース移動データのコンパイル時にエラーが発生する

は私のコードです:

CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED MOVEFILE as `import java.io.*`; 
public class MOVEFILE { 
/** 
* Eigentliche Methode zum Verschieben 
*/ 
public static int moveFile(String orgPath, String gewPfad, String dateiID) { 
    File folder = new File(orgPath); 
    File[] listOfFiles = folder.listFiles(new FilenameFilter(){ 
     @Override 
     public boolean accept(File folder, String name){return name.toLowerCase().contains(dateiID);}}); 
    String orgDatei = listOfFiles[0].toString(); 
    File org = new File(orgDatei); 
    File gew = new File(gewPfad); 
    if (!org.exists()) 
     return 0; 
    if (gew.exists()) 
     return 0; 
    if (copyFile(orgDatei, gewPfad) == 1) 
     if (deleteFile(orgDatei) == 1) 
      return 1; 
    return 0; 
} 

は、私は方法copyFiledeleteFileを持っています。私がmoveFileなしでコンパイルすると、正常にコンパイルされます。

私を助けることができますか?私の悪い英語のために申し訳ありません。あなたは何か質問があれば、できるだけ早くそれらに答えます。ありがとうございました:)

+3

し、エラーがある:

あなたは問題がそうのように、何であったか、データベースを尋ねることによって、自分自身のためにこれを発見しただろうか? –

+2

'String dateiID'ではなく' final String dateiID'を試してください。 – Berger

+0

copyFile()メソッドとdeleteFile()メソッドは静的ですか? – pbajpai21

答えて

0

コメントの中にバーガーが入っていると思います。

あなたはdateiIDfinalしない限り、あなたが、listOfFilesに対して定義匿名内部クラスでdateiIDを参照することはできません。

また、import行の前後に一重引用符は必要ありません。

select * 
from dba_errors 
where name = 'MOVEFILE' 
order by sequence; 
+0

ありがとうございました!それは正しいと思いました! – Xplosio

関連する問題