Ich benutze Oracle-Datenbank 10g. Ich muss eine Java-Stroed-Prozedur schreiben, über die ich eine Datei auf dem Server aufrufen und lokal auf dem Benutzercomputer speichern kann. Ich benutze Orakel Apex 3.1.1.Wie kann ich eine Datei mit Java gespeicherte Prozedur öffnen
Antwort
Irgendein Grund muss es Java sein? DBMS_FILE in PL/SQL sollte im Allgemeinen gut funktionieren.
Ansonsten denke ich (ich habe Java gespeicherte Prozeduren für eine lange Zeit nicht gemacht) sollten Sie einfach in der Lage sein, einen IO-Stream zu öffnen, wie Sie in Java immer tun würden.
Wenn Sie über eine echte Oracle Java Stored Procedure sprechen, glaube ich nicht, dass Sie dies tun können. Denken Sie daran, dass die Java-Prozedur unter der Oracle-JVM in der Datenbank ausgeführt wird, was bedeutet, dass sie nur das Datenbankhost-Dateisystem "sehen" kann.
Da Sie APEX 3.1 verwenden, gibt es einen Grund, warum Sie einfach einen Link zu der Datei auf dem Server über APEX (daher der Webserver) erstellen können, um die Datei herunterzuladen?
Sie können dies auch über das UTL_FILE-Paket tun, vergessen Sie nicht, das CREATE DIRECTORY auszuführen und READ für das Verzeichnis zuerst zu erteilen.
Ich denke, dass Sie die Datei auch über Java öffnen können, aber nur, wenn Sie zuerst die Berechtigung erteilen, damit der Oracle-Prozess auf die Verzeichnisse auf Ihrem System zugreifen kann. Dies scheint die komplexeste Methode zu sein.
Warum eine Java Stored Procedure? Nur weil Sie denken, dass dies in PL/SQL nicht möglich ist?
Es gibt einige FTP-Implementierungen in PL/SQL. Sourceforge has one. Tim Hall hat eine auf his Oracle-Base site veröffentlicht.
1: http://sourceforge.net/projects/plsqlftp/ „UTL_FTP Projekt
- 1. Wie kann ich eine gespeicherte Prozedur bearbeiten?
- 2. Kann ich eine gespeicherte Prozedur mit Hibernate-Kriterien aufrufen?
- 3. Wie plane ich eine gespeicherte Prozedur?
- 4. Wie eine gespeicherte Prozedur aufzurufen ado.net mit
- 5. Rollback gespeicherte Prozedur in Java
- 6. Gespeicherte Prozedur mit Standardparametern
- 7. Gespeicherte Prozedur, die eine andere gespeicherte Prozedur ausführt
- 8. Wie eine gespeicherte Prozedur in JDBC
- 9. Festlegen des Klassenpfads für eine gespeicherte Java-Prozedur in Oracle
- 10. Gespeicherte Prozedur in XSD-Datei speichern
- 11. phpMyAdmin: Wie plane ich meine gespeicherte Prozedur?
- 12. Wie erstellt man eine gespeicherte Prozedur?
- 13. Gespeicherte Prozedur
- 14. Wie eine gespeicherte Prozedur in mehreren Datenbanken
- 15. Wie bearbeite ich eine gespeicherte Prozedur in MySQL?
- 16. Wie verwende ich eine gespeicherte Prozedur in log4net ADONetAppender?
- 17. Wie führe ich eine gespeicherte Prozedur fortlaufend aus?
- 18. Wie kann ich eine Unicode-Datei mit Perl öffnen?
- 19. Wie schreibe ich eine postgres gespeicherte Prozedur, die nichts zurückgibt?
- 20. Wie kann ich eine MP3-Datei mit Java/Groovy über eine URL öffnen?
- 21. Wie führe ich eine gespeicherte Orakel-Prozedur aus?
- 22. Wie lösche ich eine gespeicherte Prozedur in Postgresql?
- 23. Wie führe ich eine gespeicherte Prozedur aus Preparestatement aus
- 24. Wie erstelle ich eine gespeicherte Prozedur in MS Access?
- 25. Wie erstelle ich eine gespeicherte Prozedur in SQL Server bedingt?
- 26. Hilfe mit SQL Gespeicherte Prozedur
- 27. Aufruf gespeicherte Prozedur mit Linq
- 28. Sequentiell gespeicherte Prozedur mit Benutzereingabe
- 29. Gespeicherte Prozedur Ausführungszeit Problem
- 30. Wie kann ich eine gespeicherte Prozedur mit JPA- und Spring-Daten ausführen?
, das wie eine sehr dumme Idee klingt – Paco