|
|
Java процедура в Oracle
Здравствуйте.
Нужно сделать Java хранимую процедуру в Oracle.
Идея такая при вызове процедуры создаётся файл на жестком диске базы данных сервера и что то туда запасать.
1 Права на папку дал.
2 Создал процедуру:
Код:
create or replace and compile
java source named "logf"
as
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.sql.Timestamp;
public class JavaLogInfo {
public static void logData() {
String time = new Timestamp(System.currentTimeMillis()).toString();
try {
File file = new File ("C:/Logs/log.txt");
BufferedWriter out = new BufferedWriter(new FileWriter(file));
out.write("time");
out.close();
} catch (IOException e) {
System.err.println("fail");
}
}
}
3 Сделал каркас:
Код:
CREATE OR REPLACE PROCEDURE logit
AS LANGUAGE JAVA
name 'JavaLogInfo.logData()';
4 Вызываю
Все successful, но файл не создаётся.
Подскажите, пожалуйста, в чем дело.
|
Цитата:
Цитата veter48
File file = new File ("C:/Logs/log.txt"); »
|
А почему косые в другую сторону? Это раз. КОсые должны быть двойные C:\\Temp\\1.log. Это два. Также лучше использовать такой синтаксис:
Код:
using (StreamWriter wr = new StreamWriter("C:\\temp\\log.txt" ,false))
{
wr.WriteLine("text");
}
Код на С#, но они с явой почти близнецы.
|
Время: 05:30.
© OSzone.net 2001-