Hallo zusammen, ich suche ein Tool um eine SQL-Abfrage als CSV-Datei auszugeben, diese Tool(Abfrage) soll ohne Installation auf einen PC (WIN XP / 2003) laufen. DB Oracle 9i
Hä? Bitte genauer beschreiben. Möchtest du eine Abfrage ausführen und das Ergebnis als CSV speichern?
>> Bitte genauer beschreiben. Möchtest du eine Abfrage ausführen und >> das Ergebnis als CSV speichern Ja genau ...
Da würde ich dir zu C# raten und schnell selber schreiben, da bei solchen tools die verbindungsdaten eigentlich immer im klartext angegeben werden (Vertrauen in den Hersteller is so ne Sache) außer du sagst natürlich da steht eh nix wichtiges in der Datenbank, dann ist es ja egal. Gruß Matthias
Hä? Programm? Klartext? Selber schreiben? Kannste doch einfach in Excel machen und als CSV exportieren...
sqlplus ist das Oracle-Tool, was du suchst! Noch kleiner Tip: schaue dir die Optionen: spool datei.csv set heading off; set newpage none; set linesize 150; set colsep ';'; an! Mit denen sollte man das Query-Ergebnis so hinbasteln können, dass eine csv-Datei rauskommen sollte...
>> sqlplus ist das Oracle-Tool
muss nur leider zuvor installiert werden.
Zur Erklärung:
wir haben in unserem Krankenhaus eine Anwendung (KIS) die auf eine
Oracle-DB
zugreift und eine integrierte SQL-Abfrage als Tool mitliefert, ist aber
nach den letzten Updates so was von Grotten schlecht und langsam
geworden ist (Java sei Dank), das ich eine Alternative suche.
Diese Abfrage die ich danach in einer CSV-Datei brauche muss auf
verschiedenen PC erfolgen, nun möchte ich aber nicht auf den besagten PC
ein Oracle-Client (SQL-Plus) installieren, da dieser sich sonst mir der
RUNTime-Umgebung des besagten KIS-Programms beißen könnte.
Und es muss DAU Sicher sein :-) ... Icon anklicken fertig.
Dann wird es wohl darauf hinaus laufen, via Compiler&Co ein EXE-Programm dafür zu basteln. Das ist zwar vergleichweise Höchststrafe, denn mit jeder beliebigen Scriptspache (Perl,Python,Ruby,...) mit Datenbankzugriff ist das einfacher, aber wahrscheinlich gibt es auf dem System auch keinerlei Scriptsprache - und die müsste i.d.R. installiert werden.
Java läuft auf den Rechnern und damit ist es ein leichtes, ein "doppelklickbares" .jar zu erstellen, welches die gewünschte Funktion auch schnell erledigt.
Jo, aber das hat er ja schon und er ist nicht glücklich damit. Java kriegt man manchmal schneller, indem man man den Virenscanner abschaltet oder die Java-Libs davon ausschliesst. Und genug Speicher beilegt.
@ Foo alle Umgebungen die das KIS-Programm braucht werden von diesem als RunTime mitgeliefert, dieses Programm ist sehr umfangreich und wird nur über einen Link zur einer EXE (Netzwerk) bereitgestellt. Nach dem Starten, werden zwar eine menge Dateien temporär auf die Lokale Platte kopiert, aber es wird NICHTS installiert und somit gibt es auch keine Umgebung die man mit nutzen könnte. Ich habe mir auch schon mal TOAD angesehen ... benötigt aber auch einen Oracle-Client. Ich suche ein Tool womit man eine SQL-Abfrage erstellen /testen kann und was danach eine EXE daraus erzeugt ... so was muss es doch geben.
... für alle Tools, die nicht statisch mit den Oracle-Libs gelinkt sind, wirst du etwas auf den Clients benötigen! Entweder Oracle-Client oder einen Oracle-ODBC-Treiber. Und ich denke mal, du wirst keinen Tool finden, was das Oracle-Zeugs alles intus hat, es sei denn, du schreibst es selbst. Also installiere mindestens einen entsprechenden ODBC-Treiber auf den Clients und dir so ziemlich alle schicken Tools für deine Bedürfnisse zur Verfügung. PS.: was macht ihr eigentlich, wenn sich die Oracle-Version ändert, muss dann auch das KIS-Programm ausgetaushct werden?
>> wenn sich die Oracle-Version ändert ... Der Server mit der Oracle-DB ist ausschließlich für das KIS-Programm vorgesehen. >> was danach eine EXE daraus erzeugt ... wenn ich mich recht erinnere gab es so was mal für DBase-DB mit Crystal Reports
Naja, wie gesagt, ich wuerds in Java schreiben, es gibt auch Tools, die aus einem .jar eine .exe machen, falls auf den Clients kein JRE ist, kann man das IIRC auch mit in die exe packen...ob das dann aber schneller wird shrug
So, jetzt hier mal Quick&Dirty:
1 | import java.sql.*; |
2 | import java.io.*; |
3 | |
4 | public class SchnelleAbfrage{ |
5 | |
6 | static { |
7 | try { |
8 | Class.forName("dein.orrible.jdbc.treiber"); |
9 | } catch (ClassNotFoundException e) { |
10 | e.printStackTrace(); |
11 | } |
12 | } |
13 | |
14 | public SchnelleAbfrage(){ |
15 | try { |
16 | File file = new File("C:\\bla.csv"); |
17 | FileWriter fw = new FileWriter(file); |
18 | Connection con = DriverManager.getConnection("url vom orrible server", "userid", "password"); |
19 | Statement stmt = con.createStatement(); |
20 | ResultSet rs = stmt.executeQuery("SELECT FOO, BAR, QUUX FROM BLA"); |
21 | while(rs.next){ |
22 | fw.write(rs.getString(1) + ";" + rs.getInt(2) + ";" + rs.getBigDecimal(3) + "\n"); |
23 | fw.flush(); |
24 | } |
25 | rs.close(); |
26 | stmt.close(); |
27 | con.close; |
28 | fw.close; |
29 | } catch (Exception e) { |
30 | e.printStackTrace(); |
31 | } |
32 | } |
33 | |
34 | public static void main(String args[]) { |
35 | new SchnelleAbfrage(); |
36 | } |
37 | } |
mit z.B. http://3d2f.com/programs/9-026-jnc-javanativecompiler-download.shtml machst du dir daraus eine .exe und lässt es laufen. Schnell, effektiv und ohne was zu installieren. Grüße
@ Foo besten Dank ... werde ich auf jeden Fall ausprobieren, sobald ich Zeit finde
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.