Zum Inhalt springen

Alex_winf01

Mitglieder
  • Gesamte Inhalte

    639
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Alex_winf01

  1. Hallo liebe Fachinformatiker. Ich habe eine hsqldb, die im Server-Modus laufen soll. Ich finde genügend Beispiele für eine Standalone-Lösung. Hier eines: import java.sql.*; import java.util.logging.*; public class UseHSQLDB { static Logger log = Logger.getLogger("de.myname.UseHSQLDB"); public static void main(String[] args) throws SQLException, ClassNotFoundException { // Doit better ... log.log(Level.INFO, "Starting to load JDBCDriver... "); Class.forName("org.hsqldb.jdbcDriver"); log.log(Level.INFO, "JDBC Driver successfully loaded!"); Connection con = DriverManager.getConnection( // tmp must exist. Right slash. "jdbc:hsqldb:C:/tmp/musicShop","sa",""); //log.log(Level.INFO, "Connection established!"); Statement stmt = con.createStatement(); String sqlQuery = "CREATE TABLE cdShop (cdNr INTEGER, cdArtist CHAR(20), cdTitle CHAR(20))"; ResultSet rs = stmt.executeQuery(sqlQuery); //rs = stmt.executeQuery(sqlQuery); sqlQuery = "INSERT INTO cdShop VALUES (1,'Groeni','Mensch')"; rs = stmt.executeQuery(sqlQuery); sqlQuery = "INSERT INTO cdShop VALUES (2,'Sting','Fields of Gold')"; rs = stmt.executeQuery(sqlQuery); sqlQuery = "INSERT INTO cdShop VALUES (3,'Bach','Pluratorium')"; rs = stmt.executeQuery(sqlQuery); sqlQuery = "UPDATE cdShop SET cdTitle='W-Oratorium' WHERE cdNr=1"; rs = stmt.executeQuery(sqlQuery); sqlQuery = "SELECT * FROM cdShop"; rs = stmt.executeQuery(sqlQuery); System.out.println("\n\n\nCD Shop DB\n=============\n"); int counter = 0; while (rs.next()) { System.out.println(counter++ +".Datensatz:"); int cdNr = rs.getInt("cdNr"); System.out.println("\t[cdNr ->" + cdNr + "]"); String cdArtist = rs.getString("cdArtist"); System.out.println("\t[cdArtist ->" + cdArtist + "]"); String cdTitle = rs.getString("cdTitle"); System.out.println("\t[cdTitle ->" + cdTitle + "]\n"); } con.close(); } } Wie muss die Verbindung gestaltet werden, damit ich das als Server laufen lassen kann? Ich habe schon unter hsqldb.org in die Doku geschaut und finde kein Beispiel
  2. Wenn ich die Lizenzbestimmungen genau durchlese, fällt mir folgendes auf: Bezieht sich das jetzt nur auf die Java-Technologie? Wenn ich das Programm, welches ich entwickelt habe, kommerziell verkaufe, möchte ich natürlich nicht, dass der Anwender den Code meines Programmes sieht und/oder verändert. Geschweige denn kostenlos weiterverbreitet oder in geänderter Form weiterverkauft.
  3. Noch mal zur Diskussion: Quelle: Java (Technologie) - Wikipedia Oder laut dieser Quelle steht Java unter BCL-Lizenz: Java (Programmiersprache) - Wikipedia Wie kommt ihr drauf, dass der Quellcode nicht offen gelegt werden muss (also nicht für den Anwender leserlichen Form)?
  4. @ dr.dimitri Danke schon mal für Deine Antwort. D. h. also ich kann Java und hsqldb ohne Probleme für kommerzielle Zwecke nutzen und brauche den Code nicht für den Anwender den Code in lesbarer Form mitliefern? Aber so wie ich die Lizenzbestimmungen von hsqldb lese, muss ich zumindestens die Lizenzbestimmungen mitliefern. Ach und noch ne Frage: Brauche ich für die kommerzielle Nutzung irgendwelche Lizenzen?
  5. Hallo liebe Forengemeinde, ich soll jetzt ein Programm zur kommerziellen Verwendung entwickeln - und zwar mit Java und hsqldb. Der Quellcode soll natürlich nicht in für den Anwender lesbaren Form mitgeliefert werden. Nun meine Frage: Java und hsqldb stehen ja unter der GPL-Lizenz. Damit müsste ich den Quellcode offen legen. Muss nun der Quellcode jedem Anwender zur Verfügung gestellt werden? Dann wäre doch Java für die kommerzielle Nutzung nicht geeignet.
  6. Und wie kann ich diesen Fehler beheben?
  7. Bei folgendem Code bekomme ich eine java.sql.SQLException: // Datei CreateMysqlTables01.java import java.sql.*; public class CreateMysqlTables01 { public static void main( String[] args ) { // Bitte ändern sie den Host-Namen auf // die Einstellung in Ihrem System. //String host = "maggie"; String host = "localhost"; String port = "3306"; // Treiber-Typ ist "mysql". String dbType = "mysql"; // Name der Datenbank. // Bitte ändern Sie den Namen entsprechend // Ihrer Konfiguration. //String dbName = "test"; String dbName = "aeb"; // Datenbank-User // Bitte ändern Sie den Namen entsprechend // Ihrer Konfiguration. //String dbUser = "hemu"; String dbUser = "root"; // Datenbank-Kennwort // Bitte ändern Sie das Kennwort // entsprechend Ihrer Konfiguration. String dbPwd = ""; // Mit der folgenden Anweisung // geben wir die JDBC-Treiber für Oracle und // Mysql an, die je nach Vorhandensein // geladen werden. // (Dies kann man natürlich auch über // die Kommandozeile mit dem "-D"-Schalter // und dem Property "jdbc.drivers" tun). String myDrivers = "com.mysql.jdbc.Driver"; System.setProperty( "jdbc.drivers", myDrivers ); // Nun sollte der Treiber geladen sein. // Wir bauen die erste Verbindung zur // Datenbank auf. Connection conn = null; PreparedStatement pstmt = null; String sql = null; String uri = "jdbc:" + dbType + "://" + host + ":" + port + "/" + dbName; try { conn = DriverManager.getConnection( uri, dbUser, dbPwd ); sql = "CREATE TABLE person (" + "pers_id BIGINT NOT NULL " + "AUTO_INCREMENT PRIMARY KEY," + "pers_ln VARCHAR( 255 ) BINARY NOT NULL," + "pers_fn VARCHAR( 255 ) BINARY NOT NULL," + "pers_mn VARCHAR( 255 ) BINARY," + "pers_email VARCHAR( 255 )," + "INDEX( pers_ln )," + "INDEX( pers_fn )," + "INDEX( pers_email )" + ")"; pstmt = conn.prepareStatement( sql ); pstmt.execute(); sql = "CREATE TABLE address (" + "addr_id BIGINT NOT NULL " + "AUTO_INCREMENT PRIMARY KEY," + "addr_ctry VARCHAR( 255 ) " + "BINARY NOT NULL," + "addr_zip VARCHAR( 255 ) BINARY NOT NULL," + "addr_city VARCHAR( 255 ) " + "BINARY NOT NULL," + "addr_street VARCHAR( 255 ) " + "BINARY NOT NULL," + "INDEX( addr_ctry )," + "INDEX( addr_zip )," + "INDEX( addr_city )," + "INDEX( addr_street )" + ")"; pstmt = conn.prepareStatement( sql ); pstmt.execute(); sql = "CREATE TABLE phone (" + "phone_id BIGINT NOT NULL " + "AUTO_INCREMENT PRIMARY KEY," + "phone_num VARCHAR( 255 ) NOT NULL," + "UNIQUE( phone_num )" + ")"; pstmt = conn.prepareStatement( sql ); pstmt.execute(); sql = "CREATE TABLE pers_addr (" + "pa_pers_id BIGINT NOT NULL," + "pa_addr_id BIGINT NOT NULL," + "UNIQUE( pa_pers_id, pa_addr_id )" + ")"; pstmt = conn.prepareStatement( sql ); pstmt.execute(); sql = "CREATE TABLE pers_phone (" + "pp_pers_id BIGINT NOT NULL," + "pp_phone_id BIGINT NOT NULL," + "UNIQUE( pp_pers_id,pp_phone_id )" + ")"; pstmt = conn.prepareStatement( sql ); pstmt.execute(); } catch ( Exception ex ) { System.err.print( ex + "\nsql = " + sql ); System.exit( 1 ); } finally { if ( pstmt != null ) { try { pstmt.close(); } catch ( Exception ign ) {} } if ( conn != null ) { try { conn.close(); } catch ( Exception ign ) {} } } System.exit( 0 ); } } Die Fehlermeldung sieht wie folgt aus: java.sql.SQLException:Unable to connect to any hosts due to exception: java.net.SocketException: Unrecognized Windows Sockets error: 10106: create In einem anderen Forum habe ich bereits gelesen, dass es an der System_root liegen kann. Wie muss ich die System_root setzen, dass ich diese Fehlermeldung nicht mehr bekomme?:confused:
  8. @ ksg9-sebastian Also, ich habe ein bestehendes Formular mit verschiedenen JLabels und JButton Drei Labels müssen aber gedreht sein und zwar um 90 Grad. @ Schneeflocke Danke für die Antwort. Werde ich mal ausprobieren und hier dann posten.
  9. Hallo, hier mal ein interessanter Link zum Thema "Mitlierfern von MySQL ohne Installation": http://www.apachefriends.org/de Hier wird einiges mitgeliefert (z. B. PHP, Apache, mySQL). Dabei wird mySQL mitgeliefert und hier ist nur der Ordner mySQL dabei und wird ganz normal in den Projektordner kopiert. Und es läuft! Kein Setup-Programm von mySQL notwendig, kein Installieren usw. usw.
  10. Alex_winf01

    Poi

    Hab die Antwort in einem anderen Forum bekommen. Danke trotzdem.
  11. Alex_winf01

    Poi

    Aufruf des Programms: java -jar dateiName.jar Der DAU draussen klickt selbstverständlich mit einem Doppelklick auf das JAR-File. Das geht laut JAR-File öffnen Und laut GoTo Java gehts auch so. Meine einzigste Frage: Damit die Anwendung läuft, brauche ich POI UND mySQL. Dafür muss ich den Treiber von mySQL mitliefern und das Package von POI. Genügt es, wenn ich den com-Ordner von mySQL und den org-Ordner von POI mitliefere? D. h. ich möchte in der Anwendung dann Excel-Sheets anlegen können und dort auch Daten reinschreiben können. Gleichzeitig sollen die Daten in der Datenbank abgespeichert werden. Hintergrund: In meinem Datenbank-Projekt vor einer geraumen Zeit, habe ich eine Java-Anwendung geschrieben, diese in ein JAR-File gepackt und dort auch nur den com-Ordner von mySQL mit reingepackt. Das lief. Ein externer Tester hat das Programm dann mit Doppelklick gestartet und konnte ohne Probleme Daten in die DB reinschreiben, lesen und verändern. Damals habe ich eine vorgegebene Mainfest-Datei mit ins JAR-File gelegt und brauchte mich über die CLASSPATH keine Gedanken machen.
  12. Alex_winf01

    Poi

    Also, wenn die Anwendung fertig ist, wird sie übe ein JAR-File gestartet. In diesem JAR-File liegen die .class-Dateien und natürlich die benötigten Package für POI und den Treiber für MySQL. Wenn ich jetzt POI entzippe, habe ich zwei Ordner - einmal den Ordner org (wo alle wichtigen Klassen für POI drinnliegen) und einmal den Ordner META-INF, wo die Datei MANIFEST.MF drinnliegt. Für MySQL benötige ich den mysql-connector. Wenn ich da entzippe, habe ich drei Ordner - einmal den Ordner org, den Ordner com und auch wieder den Ornder META-INF, wo auch die Datei MAINFEST.MF drinnliegt. Bei mySQL lade ich den Treiber wie folgt in meiner .java-Datei: String myDrivers = "com.mysql.jdbc.Driver" Wenn ich den Ordner com in das Verzeichnis meiner Applikation kopiere, dann läuft die Verbindung zu mySQL auch. Definitiv!! Habe ich ausprobiert. Es MUSS nur der Ordner com im selben Verzeichnis liegen. So kann ich ohne Probleme Tabellen anlegen, Daten in die Tabelle einfügen, bearbeiten und löschen. Nun habe ich gedacht, ich lege die Ordner von POI und die Ordner von mySQL in das Verzeichnis meiner Applikation. Bei POI brauche ich den Ordner org und bei mySQL brauche ich den Ordner com. Jetzt ist es so, dass ich zweimal den Ordner org habe (muss also den von POI mitnehmen und nicht den von mySQL). Ich habe gedacht, ich brauche auf jeden Fall von beiden Anwendungen den Ordner META-INF. Die brauche ich nicht? Ich kann mich noch erinnern, dass mal davon in diesem Forum die Rede war. Hier haben wir die Diskussion schon mal geführt: http://forum.fachinformatiker.de/java/94468-hsqldb-connection-problem.html Und dafür brauche in die Mainfest-Datei. In der Mainfest-Datei für mySQL steht im übrigen das drin: Manifest-Version: 1.0 Created-By: Apache Ant 1.5 Wie muss dann so eine Mainfest-Datei aussehen? Da habe ich bis jetzt keinerlei Erfahrung.
  13. Alex_winf01

    Poi

    @ perdi Mir sind die Grundlagen von Java sehr wohl bekannt. Sind die Vorgaben von meinem Unternehmen. Es gibt ja zwei Möglichkeiten, Package einzubinden: 1. Man bindet es in der CLASSPATH ein 2. Das Package liegt im Ordner der Anwendung Zu 2. habe ich folgendes Problem: Ich benötige noch den ODBC-Treiber für MySQL. Und da gibt es auch ein Ordner Meta-Inf. Vielleicht dazu einen Rat? Ich benötige beide Package bzw. Treiber!!! Und damit natürlich auch bei beiden eine Mainfest-Datei.
  14. Alex_winf01

    Poi

    Ich habe eine "blöde" Frage: Ich habe folgende Struktur: Ordner image --> Hier lege ich alle Bilder für meine Anwendung ab. Ordner POI --> Im Unterordner poi251 liegt die Meta-Inf und der org-Ordner für POI Nun habe ich für POI ein kleines Beispiel ausprobiert. Klappt auch solange ich die .java-Datei im Ordner POI liegen habe. Die import-Anweisung sieht wie folgt aus: import org.apache.poi.hssf.usermodel.HSSFCell; D. h. ja, im Ordner org --> Unterordner apache --> unterordner poi --> unterordner hssf --> Unterordner usermodel gibt es eine Klasse HSSFCell. Es ist Bedingung, dass ich beim Anwender den CLASSPATH und die PATH-Variable NICHT ändere (Vorgabe vom Unternehmen). Die import-Anweisung muss ich also meinem oben genannten Schema anpassen. D. h. die import-Anweisung müsste wie folgt aussehen: import POI.poi251.org.apache.poi.hssf.usermodel.HSSFCell; Wenn ich das so importiere, bekomme ich eine Fehlermeldung, dass POI kein gültiges package ist.
  15. @ Kaeyu Vielen Dank erstmal, klappt prima. Nun möchte ich das ganze in ein bereits bestehendes Panel einarbeiten. Die Methode gibt aber nix zurück (aufgrund des void). D. h. ich kann nirgenswo die Methode aufrufen und mit den Ergebnissen weiterarbeiten. Gibt es da auch noch einen Weg, dass ich einfach diese Grafik an das Panel übergebe? Ich denke da an sowas: Panel.add(g2d);
  16. Hallo, ich habe mal folgende Frage: es gibt in Excel die Möglichkeit, Textfelder um 90-Grad zu drehen. D. h., das Textfeld ist nicht horizontal, sondern vertikal. Die Schrift ist dann auch in vertikaler Richtung. Gibt es in Java so eine Möglichkeit? Danke schon mal für jeden Hinweis.
  17. Alex_winf01

    Lizenz JRE

    Noch als Ergänzung: wie in diesem Beitrag http://forum.fachinformatiker.de/java/94505-hyperlinks-java-nachbilden.htmlgeschrieben, werde ich nur den Ordner "jre" mitliefern. In diesem Ordner werden sich die Unterordner "bin", "javaws" und "lib" befinden. Da findet dann doch keine "richtige" Installation statt, oder? Muss ich dafür eine kommerzielle Lizenz bei Sun kaufen?
  18. Alex_winf01

    Lizenz JRE

    Hallo Leute, ich habe mal folgende Frage: da ich sicherstellen muss, dass der Anwender der Applikation auch eine Runtime hat, werde ich das JRE-Verzeichnis kopieren und mitliefern. Nun habe ich gelesen, für kommerzielle Produkte muss ich eine Lizenz kaufen, wenn ich eine JRE komplett mitliefere. Folgendes dazu: Ich erstelle für meinen Betrieb die Applikation und wir stellen die Applikation zum Download bereit. Für diese Anwendung verlangen wir kein Geld (Mitgliederservice) und die Anwendung ist Open Source (GPL-Lizenz). Weiss da jemand Rat oder einen Link, wo ich das nachlesen kann?
  19. Was ich noch überlegen muss, ist folgendes: Ich muss die Anwendung zum Download anbieten. Mal sehen, ob man dann den Ordner nicht etwas kleiner machen kann - ohne die Funktionalitäten zu beeinflussen. Bei mir sind es im Java-Ordner "mal eben" über 35 MB.
  20. Habe gerade ein anderes Beispiel gesehen, da war nur der Ordner "jre" mit in der Applikation dabei. In diesem Ordner befinden sich die Unterordner "bin", "javaws" und "lib".
  21. Frage falsch formuliert: Welche Installation meinst Du? Die Installation der eigenen Anwendung oder die Installation der Runtime? Sobald man die Installation der Runtime startet, läuft die doch ganz normal wie eine Windows-Installation durch.
  22. Ich wollte mal den HSQLDB austesten und habe mir den Code wie in meinem ersten Beitrag als Beispiel besorgt. Dieser Code liegt bei mir unter c:\Eigene Dateien, wo auch der Treiber liegt. Das Programm ist in kein JAR-File eingebunden, sondern ich starte das Programm über meinen Editor Programm --> ausführen. Also das gleiche, was der Befehl java über Kommandozeile bewirkt. Wie kann ich denn die notwendigen JAR-Files (hsdql.jar und javagroups.jar) in die CLASSPATH aufnehmen? Mal angenommen die JAR-Files liegen auch unter c:\Eigene Dateien
  23. Beim JDBC-Treiber kenne ich die Möglichkeiten, den Treiber entweder in der Classpath einzubinden oder in den entsprechenden Ordner zu kopieren. Wenn man es in den Ordner kopiert, wo auch die Anwendung liegt, greift die Anwendung ohne Probleme auf den Treiber zu. So habe ich das auch mit dem Ordner javagroups gemacht.
  24. Das jar-File von javagroups habe ich aber auch im Ordner mit meiner Anwendung liegen. Auch entzipt. Und da kommt dann der Ordner org/javagroups und in diesem Ordner liegt eine Message.class
  25. @ perdi Ich möchte die Hyperlinks aus einem Label heraus verwenden. Wie funktioniert das mit der Runtime, dass ich die nur "kopiere"?

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...