P
PLSQL-Entwickler
Gast
Hallo,
ich möchte einen Report aus JSP generieren.
Ich hatte bis jetzt immer mit PLSQL-ServerPages gemacht, nun möchte ich das gleiche auch mit JSP versuchen.
Mit PLSQL geht es so:
Das Package UTL_HTTP macht es möglich. Die Daten von einer URL-Adresse werden abgerufen und in die Variable v_daten geschrieben. Das Ergebnis konnte auch eine 404-Seite (Fehler) sein. Das ist mir aber egal, weil die URL-Adresse den Reportserver aufruft. Und wenn es erfolgreich war, habe ich am Ende meine ausgabe.pdf in entspr. Verzeichnis. Eigentlich ist die Funktion utl_http.get_response dafür da, um die Existent der URL zu überprüfen, dennoch wird die URL ausgeführt, was für mich wichtig ist.
Um URL-Existenz in JAVA zu bestimmen habe ich folgendes gefunden :### :
Es funktioniert mit normalen URL-Adressen, wird aber in meinem Fall kein Report generiert.
Folgende Funktion macht es auch nicht:
Es muss doch möglich sein ???:L . Hat jemand eine Idee?
ich möchte einen Report aus JSP generieren.
Ich hatte bis jetzt immer mit PLSQL-ServerPages gemacht, nun möchte ich das gleiche auch mit JSP versuchen.
Mit PLSQL geht es so:
Code:
...
v_url varchar2(1000);
v_daten varchar2(4000);
v_req utl_http.req;
v_resp utl_http.resp;
...
begin
v_url := 'report-server/rwservlet?destype=file&desformat=PDF&server=repserv&report=report.rep&desname=ausgabedatei.pdf';
v_req := utl_http.begin_request(v_url);
v_resp := utl_http.get_response(v_req);
utl_http.read_text(v_resp, v_daten);
utl_http.end_response(v_resp);
end;
Das Package UTL_HTTP macht es möglich. Die Daten von einer URL-Adresse werden abgerufen und in die Variable v_daten geschrieben. Das Ergebnis konnte auch eine 404-Seite (Fehler) sein. Das ist mir aber egal, weil die URL-Adresse den Reportserver aufruft. Und wenn es erfolgreich war, habe ich am Ende meine ausgabe.pdf in entspr. Verzeichnis. Eigentlich ist die Funktion utl_http.get_response dafür da, um die Existent der URL zu überprüfen, dennoch wird die URL ausgeführt, was für mich wichtig ist.
Um URL-Existenz in JAVA zu bestimmen habe ich folgendes gefunden :### :
Code:
static boolean URLexists(java.lang.String URL)
{
java.net.URL url;
try
{
url = new URL(URL);
} catch (MalformedURLException e)
{
return false;
}
try
{
url.openStream().close();
return true;
} catch (IOException e)
{
return false;
}
}
Es funktioniert mit normalen URL-Adressen, wird aber in meinem Fall kein Report generiert.
Folgende Funktion macht es auch nicht:
Code:
static boolean URL_exists(String URLName)
{
try
{
HttpURLConnection.setFollowRedirects(false);
HttpURLConnection con =
(HttpURLConnection)new URL(URLName).openConnection();
con.setRequestMethod("GET");
con.connect();
return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
} catch (Exception e)
{
e.printStackTrace();
return false;
}
}
Es muss doch möglich sein ???:L . Hat jemand eine Idee?