SQL , CSV Verbindung : Zu Umfangreicher Code durch Unwissenheit

M

Mart

Gast
deHallo,
In dieser Frage geht es nicht um einen Fehler sondern ich habe noch nicht das umfangreiche Wissen wie man Sachen macht bzw wie man Sachen aus gewissen Gründen NICHT machen sollte ich aber trotzdem mach weil ich das wissen dazu nicht habe, könnte ich Hinweise und meinungen zu dem Code bekommen den ich habe damit man den verbessern kann.
Der Code funktioniert...wahrscheinlich mehr schlecht als recht... xD
Der Code ist ein "Admin" Tool ...es wird und darf nur von meinen Leuten benutzt werden es wird nicht an den Client gegeben
Die java database Connector zeigt auf eine SQLite Datei die die Datenbank ist
Im Moment sind das alles Fixe Pfade auf meinem Laptop das wird dann später geändert je nachdem wo es dann benutzt wird

[CODE lang="java" title="SQLCode"]package sqltest;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;

public class DataBaseController{
private static Connection connection = null;
private static Statement statement;
private static final String csvDelimiter = ",";
private String CreatureCardCsvPath = "/home/legacy/Dokumente/CardDatabaseCsv.csv";
private static String currentPath ="",line = "";
private static DataBaseController db = new DataBaseController();
public static void main(String[] args) throws Exception{
try{
connection = DriverManager.getConnection("jdbc:sqlite:/home/legacy/Bilder/CardDatabse.db");
statement = connection.createStatement();
statement.setQueryTimeout(30);
db.startInsertionOfCsv(db.CreatureCardCsvPath);
}
catch(SQLException e){
System.err.println(e.getMessage());
}
finally {
closesConnection();
}
}
public static void closesConnection(){
try{
if(connection != null) connection.close();
}
catch(SQLException e){
System.err.println(e.getMessage());
}
}

public void startInsertionOfCsv(String path) throws IOException, NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
currentPath = path;
DataBaseController k=new DataBaseController();
String text = "creatureInsertion";
Class<? extends DataBaseController> c = getClass();
Method m=c.getDeclaredMethod(text);
m.invoke(k);
}
public static void creatureInsertion() throws Exception {
BufferedReader br = null;
br = new BufferedReader(new FileReader(currentPath));
line = "";
while ((line = br.readLine()) != null) {
String[] cardValueLine = line.split(csvDelimiter);
PreparedStatement ps = connection.prepareStatement(
"INSERT INTO CreatureCards ( Name,Image ,Effect, HealthPoints , Strength , Level, Artist ) VALUES (?,?,?,?,?,?,?) ");
ps.setString(1, cardValueLine[0]);
File file = new File("/home/legacy/CardImages/"+cardValueLine[1]+".png");
FileInputStream fis = new FileInputStream(file);
ps.setBinaryStream(2, fis,(int)file.length());
ps.setString(3, cardValueLine[2].replace("\\n",System.lineSeparator()));
ps.setInt(4,Integer.parseInt(cardValueLine[3]));
ps.setInt(5,Integer.parseInt(cardValueLine[4]));
ps.setInt(6,Integer.parseInt(cardValueLine[5]));
ps.setString(7,cardValueLine[6]);
ps.executeUpdate();
ps.close();
}
br.close();
}
}[/CODE]
 

temi

Top Contributor
Erst mal solltest du deinen Code soweit anpassen, dass das einzige "static" vor der Methode main() steht.

Warum rufst du denn die Methode creatureInsertion() nicht direkt auf, sondern über den Umweg per Reflection?
 
M

Mart

Gast
Erst mal solltest du deinen Code soweit anpassen, dass das einzige "static" vor der Methode main() steht.

Warum rufst du denn die Methode creatureInsertion() nicht direkt auf, sondern über den Umweg per Reflection?
es wird 3 verschiedene insertion methoden geben , wäre es sinnvoll da das dann umzubauen um nur normale methoden zu haben ?
 

temi

Top Contributor
Weiterhin würde sich den Code etwas mehr in seine Aufgaben zerlegen, also eine Klasse Creature mit ihren Eigenschaften und ein Klasse CsvReader, welche die Daten aus der Datei liest und in eine Collection<Creature> speichert. Diese Collection kannst du dann hernehmen, um die einzelnen Creatures in die DB einzufügen "insertCreature(Creature creature)". Jede Klasse sollte nur eine Aufgabe haben.
 

mrBrown

Super-Moderator
Mitarbeiter
Java:
  public void startInsertionOfCsv(String path) throws IOException, NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
      currentPath = path;
      DataBaseController k=new DataBaseController();
      String text = "creatureInsertion";
      Class<? extends DataBaseController> c = getClass();
      Method m=c.getDeclaredMethod(text);
      m.invoke(k);
  }
Ich habe keine Ahnung, was du dir dabei gedacht hast, aber der "einfache" Weg wäre:
Java:
  public void startInsertionOfCsv(String path) throws Exception {
      currentPath = path;
      DataBaseController.creatureInsertion();
  }


Ansonsten (erstmal ohne das Design selbst zu beurteilen):

* Für alles, was ein close braucht, try-with-resources benutzen
* Den fis in Zeile 66 schließt du nicht
* Zum Einfügen der Einträge kann man batch processing nutzen,
* System.lineSeparator() sollte man recht selten nutzen müssen, intern (und dazu gehört die DB) sollte man besser immer mit \n arbeiten.
* throws Exception, solltest du nie benutzen, immer die konkrete Exception angeben
 
M

Mart

Gast
Java:
package sqltest;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;

public class LauncherMain{
    public static void main(String[] args) throws Exception{
        DataBaseController dbc = new DataBaseController();
    }
}
class DataBaseController{
    private Connection connection = null;
    private Statement statement;
    private final String csvDelimiter = ",";
    private String CreatureCardCsvPath = "/home/legacy/Dokumente/CardDatabaseCsv.csv";
    private String currentPath ="",line = "";

    public DataBaseController() throws Exception {
           try{
                connection = DriverManager.getConnection("jdbc:sqlite:/home/legacy/Bilder/CardDatabse.db");
                statement = connection.createStatement();
                statement.setQueryTimeout(30);
                this.startInsertionOfCsv(this.CreatureCardCsvPath);
            }
            catch(SQLException e){
              System.err.println(e.getMessage());
            }   
            finally {
                closesConnection();
            }
    }
private void closesConnection(){
    try{
      if(connection != null) connection.close();
    }
    catch(SQLException e){
      System.err.println(e.getMessage());
    }
}

private void startInsertionOfCsv(String path) throws Exception {
    currentPath = path;
    creatureInsertion();
}
private void creatureInsertion() throws Exception {
    BufferedReader br = null;
    br = new BufferedReader(new FileReader(currentPath));
    this.line = "";
    while ((line = br.readLine()) != null) {
        String[] cardValueLine = line.split(csvDelimiter);
        PreparedStatement ps = connection.prepareStatement(
                "INSERT INTO CreatureCards ( Name,Image ,Effect, HealthPoints , Strength , Level, Artist ) VALUES (?,?,?,?,?,?,?) ");
        ps.setString(1, cardValueLine[0]);
        File file = new File("/home/legacy/CardImages/"+cardValueLine[1]+".png");
        FileInputStream fis = new FileInputStream(file);
        ps.setBinaryStream(2, fis,(int)file.length());
        ps.setString(3, cardValueLine[2].replace("\\n",System.lineSeparator()));
        ps.setInt(4,Integer.parseInt(cardValueLine[3]));
        ps.setInt(5,Integer.parseInt(cardValueLine[4]));
        ps.setInt(6,Integer.parseInt(cardValueLine[5]));
        ps.setString(7,cardValueLine[6]);
        ps.executeUpdate();
        ps.close();
    }
    br.close();
    }
}


Das ist der Überarbeitete code.

Was hat es mit dem "nichts static" machen auf sich warum sollte man das nicht tun?
 

mrBrown

Super-Moderator
Mitarbeiter
es wird 3 verschiedene insertion methoden geben , wäre es sinnvoll da das dann umzubauen um nur normale methoden zu haben ?
Ja, auf jeden Fall.

Der Nutzer soll nicht den konkreten Methodennamen irgendwo auswählen müssen, die Aufrufe sind aktuell ohne Compiler-Prüfung, und die Methoden werden aktuell von jedem statischem Check als unbenutzt erkannt – alles drei willst du nicht. Selbst ein einfaches switch über die Nutzereingabe zum Auswählen der Methode wäre da deutlich besser.
 

mrBrown

Super-Moderator
Mitarbeiter
Das ist der Überarbeitete code.
Ein Konstruktor sollte im Idealfall nur das Objekt in einen gültigen Zustand bringen, aber nicht die gesamte Logik ausführen, eine extra Methode zum Starten ist meist sinnvoller. Ebenso macht es sinn, dass wen ein Objekt einen Zustand hält, der geschlossen werden muss, dass explizit zu machen:

Ganz grob etwa:
Java:
class DataBaseController implements AutoCloseable, Runnable {
    ...
}

...

public static void main(String[] args) throws Exception{
    try (DataBaseController dbc = new DataBaseController()) {
        doc.run();
    }
}

Was hat es mit dem "nichts static" machen auf sich warum sollte man das nicht tun?


static macht es erstmal auf den ersten Blick "einfacher", fällt einem später aber immer auf die Füße. Ein Beispiel dafür sind Tests, mit static musst du aufpassen, dass ein Test den nächsten nicht beeinflusst – ohne static gibt es das Problem nicht.
 
M

Mart

Gast
Ein Konstruktor sollte im Idealfall nur das Objekt in einen gültigen Zustand bringen, aber nicht die gesamte Logik ausführen, eine extra Methode zum Starten ist meist sinnvoller. Ebenso macht es sinn, dass wen ein Objekt einen Zustand hält, der geschlossen werden muss, dass explizit zu machen:

Ganz grob etwa:
Java:
class DataBaseController implements AutoCloseable, Runnable {
    ...
}

...

public static void main(String[] args) throws Exception{
    try (DataBaseController dbc = new DataBaseController()) {
        doc.run();
    }
}




static macht es erstmal auf den ersten Blick "einfacher", fällt einem später aber immer auf die Füße. Ein Beispiel dafür sind Tests, mit static musst du aufpassen, dass ein Test den nächsten nicht beeinflusst – ohne static gibt es das Problem nicht.
ich habe jetzt alles gemacht was du gesagt hast außer das mit dem runnable weil das programm wird sehr selten ausgeführt und hat so viel zeit wie es will (bitte nicht negativ auffassen :D)


[CODE lang="java" title="Verbesserter Code"]package sqltest;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;

public class LauncherMain{
public static void main(String[] args) throws Exception{
DataBaseController dbc = new DataBaseController();
dbc.runCreatureInsert();
dbc.stopInsertion();
}
}
class DataBaseController{
private Connection connection = null;
private Statement statement;
private final String csvDelimiter = ",";
private String CreatureCardCsvPath = "/home/legacy/Dokumente/CardDatabaseCsv.csv";
private String line = "";

public DataBaseController() {
try{
connection = DriverManager.getConnection("jdbc:sqlite:/home/legacy/Bilder/CardDatabse.db");
statement = connection.createStatement();
statement.setQueryTimeout(30);
}
catch(SQLException e){
System.err.println(e.getMessage());
}
}
private void closesConnection() throws SQLException{
if(connection != null) connection.close();
}

private void creatureInsertion(String currentPath) throws NumberFormatException, IOException, SQLException {
BufferedReader br = null;
br = new BufferedReader(new FileReader(currentPath));
line = "";
PreparedStatement ps = connection.prepareStatement(
"INSERT INTO CreatureCards ( Name,Image ,Effect, HealthPoints , Strength , Level, Artist ) VALUES (?,?,?,?,?,?,?) ");

while ((line = br.readLine()) != null) {
String[] cardValueLine = line.split(csvDelimiter);
ps.setString(1, cardValueLine[0]);
File file = new File("/home/legacy/CardImages/"+cardValueLine[1]+".png");
FileInputStream fis = new FileInputStream(file);
ps.setBinaryStream(2, fis,(int)file.length());
ps.setString(3, cardValueLine[2].replace("\\n","\n"));
ps.setInt(4,Integer.parseInt(cardValueLine[3]));
ps.setInt(5,Integer.parseInt(cardValueLine[4]));
ps.setInt(6,Integer.parseInt(cardValueLine[5]));
ps.setString(7,cardValueLine[6]);
ps.addBatch();
fis.close();
}
ps.executeBatch();
br.close();
ps.close();

}
public void runCreatureInsert() throws NumberFormatException, IOException, SQLException{
this.creatureInsertion(this.CreatureCardCsvPath);
}
public void stopInsertion() {
try {
closesConnection();
}
catch (SQLException e) {
e.printStackTrace();
}
}
}[/CODE]
Anmerkung: Es wird dazu keine GUI geben man startet es und wartet bis es fertig ist
 
Zuletzt bearbeitet von einem Moderator:

mrBrown

Super-Moderator
Mitarbeiter
außer das mit dem runnable weil das programm wird sehr selten ausgeführt und hat so viel zeit wie es will (bitte nicht negativ auffassen :D)
Runnable hat nichts mit der Dauer oder so, es gibt dann einfach nur eine Methode „run“, mehr nicht.
Das kann man dann auch nutzen, wenn man es mit Threads beschleunigen will, muss man aber nicht.


wie sieht es jetzt mit dem code aus
try-with-resources sollte für alles genutzt werden und das Statement in Zeile 36 dürfte überflüssig sein.
Variablen sollten immer einen möglichst kleinen Scooe haben, das betrifft zB line, die nur in einer Methode benutzt wird, aber als Instanzvariable deklariert ist.
 
M

Mart

Gast
Runnable hat nichts mit der Dauer oder so, es gibt dann einfach nur eine Methode „run“, mehr nicht.
Das kann man dann auch nutzen, wenn man es mit Threads beschleunigen will, muss man aber nicht.



try-with-resources sollte für alles genutzt werden und das Statement in Zeile 36 dürfte überflüssig sein.
Variablen sollten immer einen möglichst kleinen Scooe haben, das betrifft zB line, die nur in einer Methode benutzt wird, aber als Instanzvariable deklariert ist.
vielen dank dann übernehm ich das auch noch :D
 

mihe7

Top Contributor
dass es das Objekt überall dann erreichbar ist im programm mehr nicht
Mit static deklarierst Du Attribute und Methoden, die sich auf die Klasse in ihrer Gesamtheit und nicht auf Objekte dieser Klasse beziehen. Damit gibt es auch keine Polymorphie und in Verbindung mit public führtst Du ggf. globale Variablen ein.

Problem: von überall aus kann auf alles zugegriffen werden. Das ist die beste Voraussetzung für Spaghetti-Code und Effekte, die man nicht will.

Beispiel: ich hab mal eine App übernommen, da wurde alles mögliche global erledigt. An einer Stelle eine Zeile rausgeworfen, plötzlich funktionierte an ganz anderen Stellen die App nicht mehr richtig. Ich habe dann zwei Wochen damit zugebracht, den Code zu entwirren und in eine halbwegs(!) vernünftige Form zu bringen...
 
M

Mart

Gast
Habe jetzt alles geändert was ihr erwähnt hattet auch das mit run und das mit dem try with res da steig ich noch nicht durch ...aber mit der zeit solls schon werden xD Vielen dank soweit
 
M

Mart

Gast
gibt es noch etwas was man überarbeiten könnte? es ist wichtig dass der code so gut wie möglccih ist ansonsten schneid ich mich selber xD
 
M

Mart

Gast
[CODE lang="java" title="Jetziger Zustand"]package sqltest;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;

public class LauncherMain {
public static void main(String[] args) throws SQLException {
DataBaseController dbc = new DataBaseController();
try {
dbc.run();
dbc.close();
}
catch(Exception e) {
e.getMessage();
}
}
}
class DataBaseController implements AutoCloseable,Runnable{
private Connection connection = null;
private final String csvDelimiter = ",";
private String CreatureCardCsvPath = "/home/legacy/Dokumente/CardDatabaseCsv.csv";
private String SorceryCardCsvPath = "home/legacy/Dokumente/SorceryDatabaseCsv.csv";
private String CommanderCardCsvPath = "home/legacy/Dokumente/SorceryDatabaseCsv.csv";
private String line = "";

public DataBaseController() throws SQLException {
try {
connection = DriverManager.getConnection("jdbc:sqlite:/home/legacy/Bilder/CardDatabse.db");
}
catch(SQLException e) {
System.err.println(e.getMessage());
}
PreparedStatement ps = connection.prepareStatement("CREATE TABLE CommanderCards ( Name VARCHAR PRIMARY KEY,Image BLOB,HealthPoints VARCHAR, Effect VARCHAR, Artist VARCHAR)");
ps.execute();
}
private void closesConnection() throws SQLException {
if(connection != null) connection.close();
}

private void creatureInsertion(String currentPath) throws NumberFormatException, IOException, SQLException {
BufferedReader br = new BufferedReader(new FileReader(currentPath));
line = "";
PreparedStatement ps = connection.prepareStatement(
"INSERT INTO CreatureCards ( Name,Image ,Effect, HealthPoints , Strength , Level, Artist ) VALUES (?,?,?,?,?,?,?) ");

while ((line = br.readLine()) != null) {
String[] cardValueLine = line.split(csvDelimiter);
ps.setString(1, cardValueLine[0]);
File file = new File("/home/legacy/CardImages/"+cardValueLine[1]+".png");
FileInputStream fis = new FileInputStream(file);
ps.setBinaryStream(2, fis,(int)file.length());
ps.setString(3, cardValueLine[2].replace("\\n","\n"));
ps.setInt(4,Integer.parseInt(cardValueLine[3]));
ps.setInt(5,Integer.parseInt(cardValueLine[4]));
ps.setInt(6,Integer.parseInt(cardValueLine[5]));
ps.setString(7,cardValueLine[6]);
ps.addBatch();
fis.close();
}
ps.executeBatch();
br.close();
ps.close();
}

public void runCreatureInsert() throws NumberFormatException, IOException, SQLException {
this.creatureInsertion(this.CreatureCardCsvPath);
}
public void runSorceryInsert() throws NumberFormatException, IOException, SQLException {
this.sorceryInsertion(this.SorceryCardCsvPath);
}
public void runCommanderInsert() throws NumberFormatException, IOException, SQLException {
this.commanderInsertion(this.CommanderCardCsvPath);
}
public void close() throws Exception {
try {
closesConnection();
}
catch (SQLException e) {
e.printStackTrace();
}
}
public void run() {
try {
runCreatureInsert();

} catch (Exception e) {
e.printStackTrace();
}

}
}

[/CODE]
 

temi

Top Contributor
gibt es noch etwas was man überarbeiten könnte? es ist wichtig dass der code so gut wie möglccih ist ansonsten schneid ich mich selber xD
Schau dir nochmal #6 und #10 bezüglich try-with-resources an.
Java:
// nicht
DataBaseController dbc = new DataBaseController();
try {
    dbc.run();
    dbc.close();
}

// sondern
try (DataBaseController dbc = new DataBaseController()) {
    dbc.run();
    // der explizite Aufruf von close() ist nicht notwendig, dafür ja try-with-resources
}
 
M

Mart

Gast
Schau dir nochmal #6 und #10 bezüglich try-with-resources an.
Java:
// nicht
DataBaseController dbc = new DataBaseController();
try {
    dbc.run();
    dbc.close();
}

// sondern
try (DataBaseController dbc = new DataBaseController()) {
    dbc.run();
    // der explizite Aufruf von close() ist nicht notwendig, dafür ja try-with-resources
}
ich habe das jetzt mal versucht zu implementieren bin aber teilweise gescheitert ich hätte es jetzt so umgebaut


Java:
    public void run() {
        try (BufferedReader br = new BufferedReader(new FileReader(this.CreatureCardCsvPath))) {
            creatureInsertion(br);
        } catch (Exception e) {
            e.printStackTrace();
        }   
    }


    private void creatureInsertion(BufferedReader br) throws NumberFormatException, IOException, SQLException {
        line = "";
        PreparedStatement ps = connection.prepareStatement(
                  "INSERT INTO CreatureCards ( Name,Image ,Effect, HealthPoints , Strength , Level, Artist ) VALUES (?,?,?,?,?,?,?) ");
    
        while ((line = br.readLine()) != null) {
                String[] cardValueLine = line.split(csvDelimiter);
                 ps.setString(1, cardValueLine[0]);
            File file = new File("/home/legacy/CardImages/"+cardValueLine[1]+".png");
            FileInputStream fis = new FileInputStream(file);
            ps.setBinaryStream(2, fis,(int)file.length());
            ps.setString(3, cardValueLine[2].replace("\\n","\n"));
            ps.setInt(4,Integer.parseInt(cardValueLine[3]));
            ps.setInt(5,Integer.parseInt(cardValueLine[4]));
            ps.setInt(6,Integer.parseInt(cardValueLine[5]));
            ps.setString(7,cardValueLine[6]);
            ps.addBatch();
            fis.close();
        }
        ps.executeBatch();
        br.close();
        ps.close();
    }

sieht das jetzt besser aus? wie ich das mit dem try catch schon in der main methode mache versteh ich leider nicht

hätte jemand da einen link wo das erklärt wird wie das über 3 methoden funktioniert
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
TheSkyRider MySQL Datenbankzuordnung in Verbindung mit Java Datenbankprogrammierung 7
raptorrs Plötzlich keine Verbindung zur Datenbank mehr möglich Datenbankprogrammierung 14
OnDemand SSL Verbindung zu externer DB Datenbankprogrammierung 5
C MySQL Remote Verbindung zu MariaDB Datenbankprogrammierung 11
P Verbindung zu einer Access Datenbank per Eclipse oder Intellij Datenbankprogrammierung 0
Z Beim schließen des Programms die verbindung zur DB beenden. Datenbankprogrammierung 4
Husamoli345 JSF-JDBC Verbindung Crud Datenbankprogrammierung 15
V keine Verbindung möglich (Access-DB) Datenbankprogrammierung 3
H MySQL Verbindung Datenbank und Eclipse (Java) Datenbankprogrammierung 5
M Oracle SQLException: Verbindung getrennt Datenbankprogrammierung 2
S Verbindung von einer Excel Datei zu Java Datenbankprogrammierung 2
C Verbindung mit SQLExpress Datenbankprogrammierung 9
S E(fx)clipse Verbindung zu MS SQL Express aufbauen Datenbankprogrammierung 7
M H2 Verbindung zur Datenbank komplett schließen Datenbankprogrammierung 11
F MySQL Verbindung zum SQL-Server Datenbankprogrammierung 27
H MySQL MySQL - Keine Verbindung zur Datenbank?! Datenbankprogrammierung 4
G MySQL Problem mit MySQL verbindung Datenbankprogrammierung 8
Thallius MySQL jdbc schließt Verbindung nach vielen Request von selber Datenbankprogrammierung 8
C datenbank verbindung config Datenbankprogrammierung 23
I MariaDB-Verbindung in JAVA Datenbankprogrammierung 11
J Verbindung aufbauen Datenbankprogrammierung 7
S DB2 Express C - keine Verbindung zur Datenbank Datenbankprogrammierung 2
I Es kann keine Verbindung zum Server aufgebaut werden Datenbankprogrammierung 12
Thallius MySQL Merkwürdiges JDBC Verhalten bei VPN Verbindung. Datenbankprogrammierung 7
P MySQL-Verbindung in anderer Klasse nutzen Datenbankprogrammierung 2
W Keine ODBC-Verbindung zur MSAccess-Datenbank Datenbankprogrammierung 2
S Auslagern der Datenbank Verbindung Datenbankprogrammierung 2
M Verbindung von Java Programm zur Acccess Datenbank (mdb-Datei) Datenbankprogrammierung 0
D NullPointerException bei DB Verbindung Datenbankprogrammierung 6
AssELAss Verbindung i5 Series 7.1 / 7.2 (DB2) mit Oracle SQL Developer Datenbankprogrammierung 3
J Verbindung zu Derby Datenbank funktioniert nicht Datenbankprogrammierung 14
M MySQL Verbindung zum Server aufbauen ohne DB ansprechen Datenbankprogrammierung 2
D Java MS Access Verbindung Datenbankprogrammierung 10
X MySQL DB-verbindung ohne JDBC/ODBC Datenbankprogrammierung 1
J Keine Verbindung zu MSSQL DB mit JDBC Datenbankprogrammierung 3
A Verbindung mit Access 2007 Datenbank herstellen Datenbankprogrammierung 1
I Datenbank Verbindung geht nicht Datenbankprogrammierung 2
N MySQL com.microsoft.sqlserver.jdbc.SQLServerException: Die Verbindung wurde geschlossen. Datenbankprogrammierung 1
1 MySQL Verbindung mit localhost als IP funktioniert, aber mit normaler IP nicht Datenbankprogrammierung 2
A Nach Export mysql Verbindung zur Datenbank nicht möglich, was tun? Datenbankprogrammierung 7
Helgon H2 Verbindung öffnen/schließen - Dauer, wann, wie lange? Datenbankprogrammierung 2
J Verbindung zu Access Datenbank Datenbankprogrammierung 15
J Verbindung zu Datenbank herstellen Datenbankprogrammierung 26
P MySQL Verbindung nach außen sehr langsam Datenbankprogrammierung 4
P JDBC Verbindung zur DB klappt nicht Datenbankprogrammierung 6
J Java - JDBC Verbindung zur Datenbank nicht möglich Datenbankprogrammierung 10
T MySQL Sichere Verbindung Datenbankprogrammierung 6
T MySQL Kann Verbindung zur MySQL Datenbank nicht herstellen. Datenbankprogrammierung 4
S Google Web Toolkit LDAP - Verbindung Datenbankprogrammierung 2
pg1337 Verbindung mit postgres - eclipse Datenbankprogrammierung 4
M Verbindung mit MSSQL hängt! Datenbankprogrammierung 2
cover1012 Derby/JavaDB Verbindung mit FTP-Server Datenbankprogrammierung 13
T NullPointerException bei Verbindung zur Datenbank Datenbankprogrammierung 4
J DB2 Verbindung zu AS400 Datenbankprogrammierung 6
F PostgreSQL JPA und Hibernate - Verbindung zur DB Datenbankprogrammierung 7
J MySQL Verbindung über JDBC scheitert immer Datenbankprogrammierung 2
M MySQL getConnection - Verbindung Problem Datenbankprogrammierung 2
T mdb Verbindung ohne Registrierung der Datenquelle im OS Datenbankprogrammierung 14
K MySQL Verbindung funktioniert in Netbeans aber .jar funktioniert nicht Datenbankprogrammierung 5
jeppi MySQL Design-Problem: DB-Verbindung herstellen und halten - JdbcRowSet / Idle-Timeout? Datenbankprogrammierung 9
S Hibernate in Verbindung mit Hsql Datenbankprogrammierung 2
D Oracle Verbindung mit Java zu Datenbank Datenbankprogrammierung 8
F MSSQL-Server Verbindung Datenbankprogrammierung 5
E Hibernate Problem bei bidirektionaler 1:n Verbindung Datenbankprogrammierung 2
DStrohma MS SQL Server 2005 + Java: Immer nur eine aktive Verbindung erlaubt? Datenbankprogrammierung 5
G MySQL Tables 1:1 verbindung Datenbankprogrammierung 14
B JDBC Verbindung mit Postgresql Datenbankprogrammierung 13
U MSSQL Verbindung steht, aber meckert beim Statement Datenbankprogrammierung 2
G JDBC-Verbindung: User wechseln Datenbankprogrammierung 2
F Kann keine Verbindung mit HSQLDB aufbauen Datenbankprogrammierung 2
N Trennt sich die Verbindung zur DB (MySQL) automatisch? Datenbankprogrammierung 3
X JDBC Verbindung in einer Funktion Datenbankprogrammierung 9
O HSQLDB Verbindung schlägt fehl Datenbankprogrammierung 3
C DB2/AS400 Verbindung Datenbankprogrammierung 2
T Form, Verbindung Feld -> DB Datenbankprogrammierung 3
J Verbindung zur Datenbank schlägt fehl... Datenbankprogrammierung 2
C keine Verbindung zur MS-SQL-Datenbank mehr Datenbankprogrammierung 4
Y Keine verbindung mit der Datenbank Datenbankprogrammierung 2
G verbindung 2er Tabellen Datenbankprogrammierung 3
G persistence.xml für MySQL - Verbindung Datenbankprogrammierung 6
C Keine Verbindung Datenbankprogrammierung 12
G 2 Tabellen in einer 1:n Verbindung Datenbankprogrammierung 2
G Verbindung mit Eclipse auf Datenbank einrichten Datenbankprogrammierung 3
M Verbindung zu Oracle DB Datenbankprogrammierung 4
U *.mdb Datenbank Verbindung mit Pfadangabe Datenbankprogrammierung 3
sparrow Objekt mit lazy-verbindung komplettieren Datenbankprogrammierung 13
M jbcd : odbc Verbindung zu Accessdatei (*.mdb) Datenbankprogrammierung 9
S Fehler bei DB Verbindung Access Datenbankprogrammierung 6
M DB-Verbindung zu DB in Projektordner möglich? Datenbankprogrammierung 17
G jdbc grundlegende verbindung zu sql server geht nicht Datenbankprogrammierung 9
M Passwortvergabe bei Verbindung zwischen jdbc und mysqlServer Datenbankprogrammierung 2
M Verbindung überprüfen und bei Bedarf neu aufbauen Datenbankprogrammierung 3
M Fehler bei der Verbindung zu einer MSSQL/Express Datenbank! Datenbankprogrammierung 17
B fehlerhafte PostgreSQL-Verbindung Datenbankprogrammierung 4
C Keine Verbindung zu HSQLDB möglich Datenbankprogrammierung 22
S PostgreSQL Verbindung kommt nicht zu stande Datenbankprogrammierung 3
B MySQL-Verbindung ausschließlich zu localhost möglich Datenbankprogrammierung 7
P Verbindung zu einer Datenbank Datenbankprogrammierung 6
S Gleiche Verbindung funktioniert einmal und einmal nicht Datenbankprogrammierung 4
G Hibernate Tutorial: Starten einer HSQL DB- Verbindung Datenbankprogrammierung 7

Ähnliche Java Themen

Neue Themen


Oben