Skip to content

Derby Export

2011 April 22
tags: ,
by Haf

Beim Einsatz der Java Derby Datenbank kommt irgendwann der Wunsch einzelne Daten oder eine komplette Tabelle zu exportieren. Hierfür bietet Derby verschiedene Procedures an:

  • SYSCS_UTIL.SYSCS_EXPORT_TABLE: Zum exportieren einer kompletten Tabelle
  • SYSCS_UTIL.SYSCS_EXPORT_QUERY: Exportiert die Daten, die dem mitgegebenen SELECT entsprechen
  • SYSCS_UTIL.SYSCS_BACKUP_DATABASE: Kompletter Backup der DB.

Die Export-Procedures liefern eine CSV-Datei, wobei man die Trennzeichen definieren kann.
Beim Backup-Procedure wird die ganze Ordnerstruktur in einen gewünschten Ordner kopiert.

Zum Exportieren einer ganzen Tabelle sieht die Signatur der Procedure wie folgt aus:

…für eine definierte Datenmenge

Beispielhaft (mit JPA)

Links:

Share it!
  •  
  •  
  •  
  •  
  •  
  •  
2 Responses leave one →
  1. Henry L. permalink
    April 24, 2014

    Schönes Beispiel. Aber wie kann man in der where-Klausel auf Strings abfragen? Das einfache Hochkomma ist innerhalb des SQL-Statements nicht möglich. Weglassen geht aber auch nicht.

    String sql = „select * from Customer where COUNTRY=’DEU'“;
    String import = „CALL SYSCS_UTIL.SYSCS_EXPORT_QUERY(‚“ + sql + „‚,’c:\test.csv‘,‘;‘,’\“‚,’UTF16‘)“;
    PreparedStatement preparedStatement = con.prepareStatement(import);
    preparedStatement.execute();

  2. April 27, 2014

    Hi Henry,

    da hast Du die Power von PreparedStatements vernachlässigt 😉
    In import sollte der Call Platzhalter mit ? enthalten. So kannst Du dann mit
    preparedStatement.setString(1, sql);
    z.B. den SQL einbetten.
    Dann sollte es auch mit dem Hochkomma funktionieren.

    Schau Dir dazu die Beispiele nochmal an.

    Gruß

    Haf

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS