DB-Verbindung (Oracle) funktioniert nicht

Status
Nicht offen für weitere Antworten.
L

Louis2

Gast
Hallo,

ich bin kein Java-Experte, deshalb kann es sein, dass mein Quellcode Fehler beinhaltet, würde mich freuen, wenn paar Zeit hätten mal durchzuschauen und zu korrigieren danke!

Bei der Verbindung zu Oracle-DB kommt folgende Fehlermeldung:
Code:
java.sql.SQLException: Protocol violation
        at oracle.jdbc.dbaccess.DBError.check_error(DBError.java)
        at oracle.jdbc.ttc7.O3log.receive2nd(O3log.java)
        at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java)
        at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java)
        at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java)
        at java.sql.DriverManager.getConnection(DriverManager.java:512)
        at java.sql.DriverManager.getConnection(DriverManager.java:171)
        at examples.Project.MassData.main(MassData.java:18)
Exception in thread "main"


Mein Quellcode sieht so aus:
Code:
import Prog1Tools.IOTools;
import java.sql.*;

public class MassData 
{
    public static void main(String[] args) 
    throws ClassNotFoundException, SQLException
    {
        String dbm_user = IOTools.readString("DB-Username:");
        String password = IOTools.readString("DB-Password:");
        String database_server = IOTools.readString("DB-Server:");
        String database_name = IOTools.readString("DB-Name:");

        DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
        String url = "jdbc:oracle:thin:@" + database_server + ":1521:" + database_name;
        Connection connection = DriverManager.getConnection(url, dbm_user, password);
        
        boolean question=IOTools.readBoolean("Soll in der DB nur die typical Felder gefüllt werden? (true OR false):");
        int numbercustomer=IOTools.readInteger("Anzahl der Firmen die in der DB angelegt werden sollen:");
        int numberaddress=IOTools.readInteger("Anzahl der Adressen die in jede Firma angelegt werden sollen:");
        int numbercontactp=IOTools.readInteger("Anzahl der Kontaktpersonen die in jeder Adresse angelegt werden sollen:");
        int numbercontactn=IOTools.readInteger("Anzahl der Kontaktnummern die in jeder Kontaktperson angelegt werden sollen:");
        int numberactivity=IOTools.readInteger("Anzahl der Aktivitäten die angelegt werden sollen:");
        int numbertroubleticket=IOTools.readInteger("Anzahl der Problemfälle die angelegt werden sollen:");
        
        int c=0;
        int a=0;
        int cp=0;
        int cn=0;
                       
        if (question==true)
        for (int i=0; i<=numbercustomer; i++)
        {
            Statement company = connection.createStatement();
            ResultSet resultcompany = company.executeQuery("INSERT into customer (customerno,companyname,shorttext,customerclass) values (" + (c=c+1) + ",Testcustomer,Testcustomer,K)");
            resultcompany.next();
            
            for (i=0; i<=numberaddress; i++)
            {
                Statement address= connection.createStatement();
                ResultSet resultaddress = address.executeQuery("INSERT into address (addressno,name1,street,streetnumber,zip,city,country,addresstype) values (" + (a=a+1) + ",Testaddress,Teststreet,23,76131,Testcity,D,1)");
                resultaddress.next();
            
                for (i=0; i<=numbercontactp; i++)
                {
                Statement contactp= connection.createStatement();
                ResultSet resultcontactp = contactp.executeQuery("INSERT into contactperson (greetingcode,firstname,lastname) values (MR,Testman,Testman)");
                resultcontactp.next();
                
                    for (i=0; i<=numbercontactn; i++)
                    {
                    Statement contactn= connection.createStatement();
                    ResultSet resultcontactn = contactn.executeQuery("INSERT into contactnumber (contactnumbertype,contactnumber) values (1,001122334455)");
                    resultcontactn.next();
                    
                        for (i=0; i<=numberactivity; i++)
                        {
                        Statement activity= connection.createStatement();
                        ResultSet resultactivity = activity.executeQuery("INSERT into activity (subject,state,activitytype,activitypriority) values (Testactivity,NB,ANG,1)");
                        resultactivity.next();
                                            
                            for (i=0; i<=numbertroubleticket; i++)
                            {
                            Statement troubleticket= connection.createStatement();
                            ResultSet resulttroubleticket = troubleticket.executeQuery("INSERT into troubleticket (description,troubleticketstate) values (TestSupportCall,AUFG)");
                            resulttroubleticket.next();
                            
                            troubleticket.close();
                            resulttroubleticket.close();
                            }
                        activity.close();
                        resultactivity.close();
                        }
                    contactn.close();
                    resultcontactn.close();
                    }
                contactp.close();
                resultcontactp.close(); 
                }
            address.close();
            resultaddress.close();     
            }
        company.close();
        resultcompany.close();
        }
    
        else
        for (int i=0; i<=numbercustomer; i++)
        {
            Statement company = connection.createStatement();
            ResultSet resultcompany = company.executeQuery("INSERT into customer (customerno,companyname,shorttext,searchname,customerclass) values (" + (c=c+1) + ",Testcustomer,Testcustomer,Testcustomer,K)");
            resultcompany.next();
            
            for (i=0; i<=numberaddress; i++)
            {
                Statement address= connection.createStatement();
                ResultSet resultaddress = address.executeQuery("INSERT into address (addressno,name1,name2,name3,street,streetnumber,zip,city,country,region,pobox,zip_pobox,addresstype,language) values (" + (a=a+1) + ",Testaddress,Testaddress,Testaddress,Teststreet,23,76131,Testcity,D,BW,1973,66801,1,de)");
                resultaddress.next();
            
                for (i=0; i<=numbercontactp; i++)
                {
                Statement contactp= connection.createStatement();
                ResultSet resultcontactp = contactp.executeQuery("INSERT into contactperson (greetingcode,firstname,lastname,language,title) values (MR,Testman,Testman,de,Dr.)");
                resultcontactp.next();
                
                    for (i=0; i<=numbercontactn; i++)
                    {
                    Statement contactn= connection.createStatement();
                    ResultSet resultcontactn = contactn.executeQuery("INSERT into contactnumber (contactnumbertype,contactnumber) values (1,001122334455)");
                    resultcontactn.next();
                    
                        for (i=0; i<=numberactivity; i++)
                        {
                        Statement activity= connection.createStatement();
                        ResultSet resultactivity = activity.executeQuery("INSERT into activity (subject,state,activitytype,activitypriority,emotion) values (Testactivity,NB,ANG,1,High)");
                        resultactivity.next();
                                            
                            for (i=0; i<=numbertroubleticket; i++)
                            {
                            Statement troubleticket= connection.createStatement();
                            ResultSet resulttroubleticket = troubleticket.executeQuery("INSERT into troubleticket (description,troubleticketstate) values (TestSupportCall,AUFG)");
                            resulttroubleticket.next();
                            
                            troubleticket.close();
                            resulttroubleticket.close();
                            }
                        activity.close();
                        resultactivity.close();
                        }
                    contactn.close();
                    resultcontactn.close();
                    }
                contactp.close();
                resultcontactp.close(); 
                }
            address.close();
            resultaddress.close();     
            }
        company.close();
        resultcompany.close();
        }
        connection.close();        
    }
}

Bin für jede Hilfe dankbar!

Gruß
 

sliwalker

Top Contributor
Hoi,

ich mach es immer so.
Weiß nicht was/ob irgendeine Methode dafür besser ist, aber wenn
man alternativen hat...

Code:
			try
			{
				Class.forName("oracle.jdbc.driver.OracleDriver");
				String url = "jdbc:oracle:thin:@"+host+":1521:"+db;
				con = DriverManager.getConnection(url, username, userpass);
				st = con.createStatement();
			}
			catch(ClassNotFoundException e)
			{
				System.out.println("Treiber nicht gefunden.");
				e.printStackTrace();
			}
			catch(SQLException e)
			{
				System.out.println(e.toString());
			}
			catch(Exception e)
			{
				e.printStackTrace();
			}

Typische Fehler:

1. Treiber nicht ins package geladen?
2. Eingabefehler?

greetz
SLi
 

abollm

Top Contributor
@Louis2:

Zunächst baue einen TRY...CATCH-Block in deinen Code ein, siehe auch Code sliwalker

Die Fehlermeldung zeigt einen Protokollfehler an. Denn du erhältst auch keine ORA-Fehlermeldung, ansonsten könntest du dich damit weiterhangeln.

Für mich ist das so noch nicht nachvollziehbar. Ich baue den Code einmal kurz um und teste das mit meiner Oracle-DB einmal aus. Meine Vermutung ist aber, dass dabei nicht sehr viel herauskommt.
 

Bleiglanz

Gesperrter Benutzer
("INSERT into contactperson (greetingcode,firstname,lastname,language,title)
values (MR,Testman,Testman,de,Dr.)");

der letzte punkt nach dem "Dr" ist mit Sicherheit VERBOTEN

Strings schreibt man i.A. in einfache Hochkommas, nimm lieber ein PreparedStatement

hat aber vermutlich nix mit deinem Problem zu tun

String url = "jdbc:eek:racle:thin:mad:" + database_server + ":1521:" + database_name;
Connection connection = DriverManager.getConnection(url, dbm_user, password);

zeig mal den String "url" her, wie der bei deiner Testeingabe aussieht



ResultSet resultcompany = company.executeQuery("INSERT into customer (customerno,companyname,shorttext,customerclass) values (" + (c=c+1)

was solln das sein? warum nicht "c++" :)
 

thE_29

Top Contributor
außerdem bringt ein Insert keinen ResultSet zurück!

Das musst du mit executeUpdate(..) machen das man einen Error code zurück bekommt!
 

abollm

Top Contributor
Also, obwohl dein Code reichlich "verboten" ist, funktioniert er grundsätzlich. Ich schätze, du hast einen der für den Connect notwendigen Parameter nicht richtig eingegeben. Ansonsten schau auch einmal in die TNSNAMES.ORA und beachte vor allem die sonstigen Hinweise oben (Bleiglanz et al.).
 
L

Louis2

Gast
Hallo,

ich habe einen TRY...CATCH-Code eingebaut. So sieht mein Code nun aus:
Code:
import Prog1Tools.IOTools;
import java.sql.*;

public class MassData 
{
    public static void main(String[] args) 
    throws ClassNotFoundException, SQLException
    {
        String dbm_user = IOTools.readString("DB-Username:");
        String password = IOTools.readString("DB-Password:");
        String database_server = IOTools.readString("DB-Server:");
        String database_name = IOTools.readString("DB-Name:");
        
        try 
         { 
            Class.forName("oracle.jdbc.driver.OracleDriver"); 
            String url = "jdbc:oracle:thin:@"+database_server+":1521:"+database_name; 
            Connection connection = DriverManager.getConnection(url, dbm_user, password); 
            
                boolean question=IOTools.readBoolean("Soll in der DB nur die typical Felder gefüllt werden? (true OR false):");
                int numbercustomer=IOTools.readInteger("Anzahl der Firmen die in der DB angelegt werden sollen:");
                int numberaddress=IOTools.readInteger("Anzahl der Adressen die in jede Firma angelegt werden sollen:");
                int numbercontactp=IOTools.readInteger("Anzahl der Kontaktpersonen die in jeder Adresse angelegt werden sollen:");
                int numbercontactn=IOTools.readInteger("Anzahl der Kontaktnummern die in jeder Kontaktperson angelegt werden sollen:");
                int numberactivity=IOTools.readInteger("Anzahl der Aktivitäten die angelegt werden sollen:");
                int numbertroubleticket=IOTools.readInteger("Anzahl der Problemfälle die angelegt werden sollen:");
        
                int c=0;
                int a=0;
                int cp=0;
                int cn=0;
                       
                if (question==true)
                {
                    for (int i=0; i<=numbercustomer; i++)
                    {
                        Statement company = connection.createStatement();
                        ResultSet resultcompany = company.executeQuery("INSERT into customer (customerno,companyname,shorttext,customerclass) values (" + (c++) + ",'Testcustomer','Testcustomer','K')");
                        resultcompany.next();
            
                        for (i=0; i<=numberaddress; i++)
                        {
                            Statement address= connection.createStatement();
                            ResultSet resultaddress = address.executeQuery("INSERT into address (addressno,name1,street,streetnumber,zip,city,countrycode,addresstype) values (" + (a++) + ",'Testaddress','Teststreet',23,76131,'Testcity','D',1)");
                            resultaddress.next();
            
                            for (i=0; i<=numbercontactp; i++)
                            {
                                Statement contactp= connection.createStatement();
                                ResultSet resultcontactp = contactp.executeQuery("INSERT into contactperson (greetingcode,firstname,lastname) values ('MR','Testman','Testman')");
                                resultcontactp.next();
                
                                for (i=0; i<=numbercontactn; i++)
                                {
                                    Statement contactn= connection.createStatement();
                                    ResultSet resultcontactn = contactn.executeQuery("INSERT into contactnumber (contactnumbertype,contactnumber) values (1,001122334455)");
                                    resultcontactn.next();
                                           
                                    contactn.close();
                                    resultcontactn.close();
                                }
                                contactp.close();
                                resultcontactp.close(); 
                                }
                        address.close();
                        resultaddress.close();     
                        }
                    company.close();
                    resultcompany.close();
                    }
            
                    for (int i=0; i<=numberactivity; i++)
                    {
                        Statement activity= connection.createStatement();
                        ResultSet resultactivity = activity.executeQuery("INSERT into activity (subject,state,activitytype,activitypriority) SELECT customerno from companyvalues ('Testactivity','NB','ANG',1)");
                        resultactivity.next();
                
                        activity.close();
                        resultactivity.close();
                    }
                                            
                    for (int i=0; i<=numbertroubleticket; i++)
                    {
                        Statement troubleticket= connection.createStatement();
                        ResultSet resulttroubleticket = troubleticket.executeQuery("INSERT into troubleticket (description,troubleticketstate) values ('TestSupportCall','AUFG')");
                        resulttroubleticket.next();
                            
                        troubleticket.close();
                        resulttroubleticket.close();
                    }
                }
    
                else
                for (int i=0; i<=numbercustomer; i++)
                {
                    Statement company = connection.createStatement();
                    ResultSet resultcompany = company.executeQuery("INSERT into customer (customerno,companyname,shorttext,searchname,customerclass) values (" + (c++) + ",'Testcustomer','Testcustomer','Testcustomer','K')");
                    resultcompany.next();
            
                    for (i=0; i<=numberaddress; i++)
                    {
                        Statement address= connection.createStatement();
                        ResultSet resultaddress = address.executeQuery("INSERT into address (addressno,name1,name2,name3,street,streetnumber,zip,city,countrycode,region,pobox,zip_pobox,addresstype,language) values (" + (a++) + ",'Testaddress','Testaddress','Testaddress','Teststreet',23,76131,'Testcity','D','BW',1973,66801,1,'de')");
                        resultaddress.next();
            
                        for (i=0; i<=numbercontactp; i++)
                        {
                            Statement contactp= connection.createStatement();
                            ResultSet resultcontactp = contactp.executeQuery("INSERT into contactperson (greetingcode,firstname,lastname,language,title) values ('MR','Testman','Testman','de','Dr')");
                            resultcontactp.next();
                
                            for (i=0; i<=numbercontactn; i++)
                            {
                                Statement contactn= connection.createStatement();
                                ResultSet resultcontactn = contactn.executeQuery("INSERT into contactnumber (contactnumbertype,contactnumber) values (1,001122334455)");
                                resultcontactn.next();
                    
                                contactn.close();
                                resultcontactn.close();
                            }
                        contactp.close();
                        resultcontactp.close(); 
                        }
                    address.close();
                    resultaddress.close();     
                    }
                company.close();
                resultcompany.close();
                }
                          
                for (int i=0; i<=numberactivity; i++)
                {
                    Statement activity= connection.createStatement();
                    ResultSet resultactivity = activity.executeQuery("INSERT into activity (subject,state,activitytype,activitypriority,emotion) values ('Testactivity','NB','ANG',1,'High')");
                    resultactivity.next();
            
                    activity.close();
                    resultactivity.close();
                }
                                            
                for (int i=0; i<=numbertroubleticket; i++)
                {
                    Statement troubleticket= connection.createStatement();
                    ResultSet resulttroubleticket = troubleticket.executeQuery("INSERT into troubleticket (description,troubleticketstate) values ('TestSupportCall','AUFG')");
                    resulttroubleticket.next();
                            
                    troubleticket.close();
                    resulttroubleticket.close();
                }
                    connection.close();
         } 
         catch(ClassNotFoundException e) 
         { 
            System.out.println("Treiber nicht gefunden."); 
            e.printStackTrace(); 
         } 
         catch(SQLException e) 
         { 
            System.out.println(e.toString()); 
         } 
         catch(Exception e) 
         { 
            e.printStackTrace(); 
         } 
   }    
}

Als Fehlermeldung kommt "nur" noch: java.sql.SQLException: Protocol violation
Also zwar kürzer aber Schlauer sind wir nicht oder doch? Liegt es vielleicht am Treiber oder ist die String-URL falsch konzipiert??
 
L

Louis2

Gast
@Bleiglanz: . wurde entfernt und c++ bzw. a++ eingefügt.
Da ich bei meiner Testeingabe als Username: Lempert und Password: Olivier eingebe, als Server: ka-wertz und als DBName: crm31 sollte eigentlich mein String so aussehen:
Code:
String url = "jdbc:oracle:thin:@"+ka-wertz+":1521:"+crm31; 
Connection connection = DriverManager.getConnection(jdbc:oracle:thin:@ka-wertz:1521:crm31,Lempert, Olivier);
Oder was wolltest du genau haben?

@thE_29: Wie würde das aussehen mit dem executeUpdate(..) am Beispiel von
Code:
for (int i=0; i<=numbercustomer; i++)
                    {
                        Statement company = connection.createStatement();
                        ResultSet resultcompany = company.executeQuery("INSERT into customer (customerno,companyname,shorttext,customerclass) values (" + (c++) + ",'Testcustomer','Testcustomer','K')");
                        resultcompany.next();
?

Etwa so:
Code:
String resultcompany=new String();
....

for (int i=0; i<=numbercustomer; i++)
{
        Statement company = connection.createStatement();
        resultcompany = "INSERT into customer (customerno,companyname,shorttext,customerclass) values (" + (c++) + ",'Testcustomer','Testcustomer','K')";
        company.executeUpdate(resultcompany);
        connection.commit();
?

@abollm: Meine TNSNAMES.ORA beinhaltet:
Code:
CRM31.world =
 (DESCRIPTION = 
       (ADDRESS = 
         (COMMUNITY = TCP.world)
         (PROTOCOL  = TCP)
         (Host      = KA-WERTZ)
         (Port      = 1521)
       )
     (CONNECT_DATA = 
       (SID = CRM31)
          (GLOBAL_NAME = CRM31.world)
     )
 )
Also eigentlich alles korrekt oder?


@Alle: Ich kann mich problemlos an die DB ausserhalb von Java anmelden!
Ich benutze Netbeans und habe den Treiber classes111.zip unter \NetBeans3.6\lib\ext gespeichert.
 
L

Louis2

Gast
Jungs ich habe es hinbekommen :) Mein Oracle Treiber war irgendwie alt hatte classes111.zip genommen, mit classes12.zip kommt nicht mehr die Protocol Fehlermeldung!
So nun aber beim einfügen einer INSERT Zeile kommt die Fehlermeldung:
Code:
java.sql.SQLException: ORA-01400: Einfügen von NULL in ("CCMOWNER"."CUSTOMER_DATA"."CUSTOMERID") nicht möglich

Liegt es am executeUpdate(..) welches rein muss oder wo ist der Fehler?

Wie gesagt mein Code:
Code:
import Prog1Tools.IOTools;
import java.sql.*;

public class MassData 
{
    public static void main(String[] args) 
    throws ClassNotFoundException, SQLException
    {
        String dbm_user = IOTools.readString("DB-Username:");
        String password = IOTools.readString("DB-Password:");
        String database_server = IOTools.readString("DB-Server:");
        String database_name = IOTools.readString("DB-Name:");
        
        try 
         { 
            Class.forName("oracle.jdbc.driver.OracleDriver"); 
            String url = "jdbc:oracle:thin:@"+database_server+":1521:"+database_name; 
            Connection connection = DriverManager.getConnection(url, dbm_user, password); 
            
                boolean question=IOTools.readBoolean("Soll in der DB nur die typical Felder gefüllt werden? (true OR false):");
                int numbercustomer=IOTools.readInteger("Anzahl der Firmen die in der DB angelegt werden sollen:");
                int numberaddress=IOTools.readInteger("Anzahl der Adressen die in jede Firma angelegt werden sollen:");
                int numbercontactp=IOTools.readInteger("Anzahl der Kontaktpersonen die in jeder Adresse angelegt werden sollen:");
                int numbercontactn=IOTools.readInteger("Anzahl der Kontaktnummern die in jeder Kontaktperson angelegt werden sollen:");
                int numberactivity=IOTools.readInteger("Anzahl der Aktivitäten die angelegt werden sollen:");
                int numbertroubleticket=IOTools.readInteger("Anzahl der Problemfälle die angelegt werden sollen:");
        
                int c=0;
                int a=0;
                int cp=0;
                int cn=0;
                       
                if (question==true)
                {
                    for (int i=0; i<=numbercustomer; i++)
                    {
                        Statement company = connection.createStatement();
                        ResultSet resultcompany = company.executeQuery("INSERT into customer (customerno,companyname,shorttext,customerclass) values (" + (c++) + ",'Testcustomer','Testcustomer','K')");
                        resultcompany.next();
            
                        for (i=0; i<=numberaddress; i++)
                        {
                            Statement address= connection.createStatement();
                            ResultSet resultaddress = address.executeQuery("INSERT into address (addressno,name1,street,streetnumber,zip,city,countrycode,addresstype) values (" + (a++) + ",'Testaddress','Teststreet',23,76131,'Testcity','D',1)");
                            resultaddress.next();
            
                            for (i=0; i<=numbercontactp; i++)
                            {
                                Statement contactp= connection.createStatement();
                                ResultSet resultcontactp = contactp.executeQuery("INSERT into contactperson (greetingcode,firstname,lastname) values ('MR','Testman','Testman')");
                                resultcontactp.next();
                
                                for (i=0; i<=numbercontactn; i++)
                                {
                                    Statement contactn= connection.createStatement();
                                    ResultSet resultcontactn = contactn.executeQuery("INSERT into contactnumber (contactnumbertype,contactnumber) values (1,001122334455)");
                                    resultcontactn.next();
                                           
                                    contactn.close();
                                    resultcontactn.close();
                                }
                                contactp.close();
                                resultcontactp.close(); 
                                }
                        address.close();
                        resultaddress.close();     
                        }
                    company.close();
                    resultcompany.close();
                    }
            
                    for (int i=0; i<=numberactivity; i++)
                    {
                        Statement activity= connection.createStatement();
                        ResultSet resultactivity = activity.executeQuery("INSERT into activity (subject,state,activitytype,activitypriority) SELECT customerno from companyvalues ('Testactivity','NB','ANG',1)");
                        resultactivity.next();
                
                        activity.close();
                        resultactivity.close();
                    }
                                            
                    for (int i=0; i<=numbertroubleticket; i++)
                    {
                        Statement troubleticket= connection.createStatement();
                        ResultSet resulttroubleticket = troubleticket.executeQuery("INSERT into troubleticket (description,troubleticketstate) values ('TestSupportCall','AUFG')");
                        resulttroubleticket.next();
                            
                        troubleticket.close();
                        resulttroubleticket.close();
                    }
                }
    
                else
                for (int i=0; i<=numbercustomer; i++)
                {
                    Statement company = connection.createStatement();
                    ResultSet resultcompany = company.executeQuery("INSERT into customer (customerno,companyname,shorttext,searchname,customerclass) values (" + (c++) + ",'Testcustomer','Testcustomer','Testcustomer','K')");
                    resultcompany.next();
            
                    for (i=0; i<=numberaddress; i++)
                    {
                        Statement address= connection.createStatement();
                        ResultSet resultaddress = address.executeQuery("INSERT into address (addressno,name1,name2,name3,street,streetnumber,zip,city,countrycode,region,pobox,zip_pobox,addresstype,language) values (" + (a++) + ",'Testaddress','Testaddress','Testaddress','Teststreet',23,76131,'Testcity','D','BW',1973,66801,1,'de')");
                        resultaddress.next();
            
                        for (i=0; i<=numbercontactp; i++)
                        {
                            Statement contactp= connection.createStatement();
                            ResultSet resultcontactp = contactp.executeQuery("INSERT into contactperson (greetingcode,firstname,lastname,language,title) values ('MR','Testman','Testman','de','Dr')");
                            resultcontactp.next();
                
                            for (i=0; i<=numbercontactn; i++)
                            {
                                Statement contactn= connection.createStatement();
                                ResultSet resultcontactn = contactn.executeQuery("INSERT into contactnumber (contactnumbertype,contactnumber) values (1,001122334455)");
                                resultcontactn.next();
                    
                                contactn.close();
                                resultcontactn.close();
                            }
                        contactp.close();
                        resultcontactp.close(); 
                        }
                    address.close();
                    resultaddress.close();     
                    }
                company.close();
                resultcompany.close();
                }
                          
                for (int i=0; i<=numberactivity; i++)
                {
                    Statement activity= connection.createStatement();
                    ResultSet resultactivity = activity.executeQuery("INSERT into activity (subject,state,activitytype,activitypriority,emotion) values ('Testactivity','NB','ANG',1,'High')");
                    resultactivity.next();
            
                    activity.close();
                    resultactivity.close();
                }
                                            
                for (int i=0; i<=numbertroubleticket; i++)
                {
                    Statement troubleticket= connection.createStatement();
                    ResultSet resulttroubleticket = troubleticket.executeQuery("INSERT into troubleticket (description,troubleticketstate) values ('TestSupportCall','AUFG')");
                    resulttroubleticket.next();
                            
                    troubleticket.close();
                    resulttroubleticket.close();
                }
                    connection.close();
         } 
         catch(ClassNotFoundException e) 
         { 
            System.out.println("Treiber nicht gefunden."); 
            e.printStackTrace(); 
         } 
         catch(SQLException e) 
         { 
            System.out.println(e.toString()); 
         } 
         catch(Exception e) 
         { 
            e.printStackTrace(); 
         } 
   }    
}

Danke!
 
L

Louis2

Gast
@Alle: Könnt Ihr mal bitte -falls ich Zeit habt- mein Code durchschauen und korrigieren auch mit den ...close() denn da bin ich mir überhaupt nicht sicher, ob die an der richtigen Stelle drin sind. Thx. :)
 
L

Louis2

Gast
Zu meinem Problem, kann es sein, dass ich für CUSTOMERID auch ein Wert schon eingeben muss?
Ich bin unsicher, da ich eigentlich auch ein Trigger habe in der DB selbst nach hinzufügen von z.B CUSTOMERNO Wert eine CUSTOMERID selbst einfügt...
 
L

Louis2

Gast
Verräts du mir auch wie der neue Treiber heißt? ;)

Wie sieht es mit meinem Problem bzg. Fehlermeldung und executeUpdate(..) (s.o) aus? :wink:
 
L

Louis2

Gast
Wie meinen mit "Der Code passt beim Update"?

Passt dieser Code?
Code:
String resultcompany=new String(); 
.... 

for (int i=0; i<=numbercustomer; i++) 
{ 
        Statement company = connection.createStatement(); 
        resultcompany = "INSERT into customer (customerno,companyname,shorttext,customerclass) values (" + (c++) + ",'Testcustomer','Testcustomer','K')"; 
        company.executeUpdate(resultcompany); 
        connection.commit();

statt

Code:
for (int i=0; i<=numbercustomer; i++) 
                    { 
                        Statement company = connection.createStatement(); 
                        ResultSet resultcompany = company.executeQuery("INSERT into customer (customerno,companyname,shorttext,customerclass) values (" + (c++) + ",'Testcustomer','Testcustomer','K')"); 
                        resultcompany.next();

?

Was bedeutet die Fehlermeldung:
Code:
java.sql.SQLException: ORA-01400: Einfügen von NULL in ("CCMOWNER"."CUSTOMER_DATA"."CUSTOMERID")

Muss ich für CUSTOMERID einen Wert eingeben?
 

abollm

Top Contributor
Dein Frage, ob dein Code passt, ist zur Lösung des Problems

Code:
ORA-01400: Einfügen von NULL in ("CCMOWNER"."CUSTOMER_DATA"."CUSTOMERID") nicht möglich

nicht hinreichend. Wenn du z.B. auf mindestens einer der o.a. Spalten einen Unique-Constraint hast und versucht hast in diese betr. Spalte einen NULL-Wert einzufügen, dann erhältst du die o.a. ORA-Fehlermeldung.

Setze doch einmal mit SQL*Plus ein DESC auf die Tabelle ab, dann siehst du ja, welche Spalten NOT NULL sind.
 
G

Guest

Gast
Ich möchte im Java Code eine SQL Datei von der Festplatte ausführen lassen. Wie sieht der Code dafür aus um die Datei zu laden und dann um sie auszuführen? Habe da nämlich keine Ahnung :(

Danke.
 

abollm

Top Contributor
Anonymous hat gesagt.:
Ich möchte im Java Code eine SQL Datei von der Festplatte ausführen lassen. Wie sieht der Code dafür aus um die Datei zu laden und dann um sie auszuführen? Habe da nämlich keine Ahnung :(

Danke.

Hast du einen normalen Oracle-Client auf der Maschine, auf der du den Code ausführen möchtest?
 

abollm

Top Contributor
OK, du weißt wie du eine externe Anwendung aus Java heraus aufrufen kannst. Wenn nein, dann folgender _grundsätzlicher_ Hinweis dazu:

Code:
try {
   Runtime.getRuntime().exec("cmd /c start notepad.exe");
} catch (Exception e) {
System.err.println("Unbehandelter Ausnahmefehler: "
+ e.getMessage());
}

Nachdem das klar ist, musst du nur noch den Aufruf entsprechend anpassen. Das läuft dann so ab, dass du statt wie im obigen Beispiel "Notepad.exe" das Oracle-Werkzeugprogramm "sqlplus.exe" zusammem mit einigen Aufrufparamtetern aufrufst. Das funktioniert über eine Batch-Datei (OS: Windows!). Wenn du Unix/Linux hast, dann statt Batch-Datei ein SH-Skriptum ausführen.

Also, z.B. heißt dein SQL-Skriptum "myscript.sql". Der Datenbanknutzer heißt "scott", das Kennwort dieser Nutzers lautet "tiger" und dein DB-Alias gem. TNS-Eintrag lautet "ORADB". Dann hast du eine Batch-Datei mit dem Namen "ora.bat", in der nur folgende Zeile steht:
Code:
sqlplus scott/tiger@oradb @myscript.sql
Damit rufst du aus Java heraus das o.e. SQL-Skriptum mit den sonstigen Angaben wie folgt auf:

Code:
try {
   Runtime.getRuntime().exec("cmd /c start ora.bat");
} catch (Exception e) {
System.err.println("Unbehandelter Ausnahmefehler: "
+ e.getMessage());
}

Eine andere Möglichkeit ist die, dass du im SQL-Skriptum die Aufrufe für den Login-Vorgang mit Nutzer-, Passwort- und Hostabfrage einbaust.
 
L

Louis2

Gast
Hi,

wenn ich
Code:
try 
{ 
	Runtime.getRuntime().exec("cmd /c start Test.bat"); 
} 
catch (Exception e) 
{ 
	System.err.println("Unbehandelter Ausnahmefehler: " + e.getMessage()); 
}

kommt die Meldung, dass man die Datei nicht findet, obwohl sie existiert und im selben Verzeichnis wie die Java Datei ist. Kann man im TRY Code irgendwie genau angeben wo er die Datei suchen muss?


Nächste Frage, benutze wie du sehen kannst IOTools. Kann ich das irgendwie umgehen, ist blöd immer die zip Datei zu benutzen. Kann man das auch so irgendwie schreiben, also statt
Code:
String dbm_user = IOTools.readString("DB-Username:");
String password = IOTools.readString("DB-Password:");
String database_server = IOTools.readString("DB-Server:");
String database_name = IOTools.readString("DB-Name:");

und
Code:
boolean question=IOTools.readBoolean("Soll in der DB nur die typical Felder gefüllt werden? (true OR false):");
int numbercustomer=IOTools.readInteger("Anzahl der Firmen die in der DB angelegt werden sollen:");
int numberaddress=IOTools.readInteger("Anzahl der Adressen die in jede Firma angelegt werden sollen:");
int numbercontactp=IOTools.readInteger("Anzahl der Kontaktpersonen die in jeder Adresse angelegt werden sollen:");
int numbercontactn=IOTools.readInteger("Anzahl der Kontaktnummern die in jeder Kontaktperson angelegt werden sollen:");
int numberactivity=IOTools.readInteger("Anzahl der Aktivitäten die angelegt werden sollen:");
int numbertroubleticket=IOTools.readInteger("Anzahl der Problemfälle die angelegt werden sollen:");

das selbe ohne IOTools?

Danke.
 

abollm

Top Contributor
Zu deinem ersten Problem
Louis2 hat gesagt.:
[..]
kommt die Meldung, dass man die Datei nicht findet, obwohl sie existiert und im selben Verzeichnis wie die Java Datei ist. Kann man im TRY Code irgendwie genau angeben wo er die Datei suchen muss?

Natürlich kannst du vor dem Dateinamen den genauen Pfad, in dem sich die Datei befindet, angeben, also z.B.:
Code:
try
{
   Runtime.getRuntime().exec("cmd /c start c:\javatest\Test.bat");
}
catch (Exception e)
{
   System.err.println("Unbehandelter Ausnahmefehler: " + e.getMessage());
}

Außerdem kannst du in der Batch-Datei selbst auch vor dem Namen der SQL-Datei den kompletten Pfad eingeben.

Der Grund für das auf deinem Rechner aufgetretene Verhalten liegt darin, dass sich der Kommandozeileninterpreter standardmäßig in einem anderen Verzeichnis nach dem Aufruf befindet als dein Java-Arbeitsverzeichnis.

Zu deinem zweiten Problem:

Ich habe mir für derartige einfache Eingaben eine eigene Klasse geschrieben (EasyIn.java), deren Methoden ich einfach aufrufe. Ich weiß ehrlich gesagt nicht, was genau nun dein Problem ist. Denn ob du eine Klassenmethode aufrufst, die in einer Jar- oder Zip-Datei ist, oder eine eigene Klassenmethode, das kann es wohl nicht sein.

Meinst du, ob man die entsprechenden Eingabe-Aufrufe sozusagen mit Java-Bordmitteln ermöglichen kann?
 
L

Louis2

Gast
Wenn ich
Code:
try 
{ 
	Runtime.getRuntime().exec("cmd /c start C:\Dokumente und Einstellungen\Lempert\Desktop\UserAccessRights4.bat"); 
} 
catch (Exception e) 
{ 
	System.err.println("Unbehandelter Ausnahmefehler: " + e.getMessage()); 
}

erscheint die Fehlermeldung:
Code:
examples/Project/MassData.java [47:1] illegal escape character
Runtime.getRuntime().exec("cmd /c start C:\Dokumente und Einstellungen\Lempert\Desktop\UserAccessRights4.bat");

Pfeil zeigt auf D, L und D. Why?


Wegen IOTools. Es wäre ja viel praktischer wenn ich alles von der Oberfläche eingeben kann ohne eine Zip. Datei zu benutzen.
Ich stellt mir das so vor, dass ich in einer .txt(?) Datei nur z.B
Code:
customernumber=2
addressnumber=3

habe. Das heißt mein Java Code sollte erstmal die Datei aufrufen und dann nach dem Stichwort "customernumber" suchen und den Wert der in der .txt Datei dahintersteht übernehmen.
Verstehst du was ich meine? Einfach eine separate Datei die ich editieren kann und Java muss auf sie zugreifen und holt dich von dort die Informationen... geht das überhaupt?

Gruß
 

abollm

Top Contributor
[Edit]Zu deinem ersten Problem versuche einmal folgenden Code auszuführen:

Code:
try
{
   Runtime.getRuntime().exec("cmd /c start C:\\Dokumente und Einstellungen\\Lempert\\Desktop\\UserAccessRights4.bat");
}
catch (Exception e)
{
   System.err.println("Unbehandelter Ausnahmefehler: " + e.getMessage());
}

Sorry, das war mein Fehler oben, da ich vergessen hatte, dass man den Backslash doppelt eingeben muss.

Zum zweiten Problem melde ich mich später noch einmal, da ich jetzt gerade nicht so viel Zeit habe.
 

abollm

Top Contributor
Zu deinem zweiten Problem:

Wegen IOTools. Es wäre ja viel praktischer wenn ich alles von der Oberfläche eingeben kann ohne eine Zip. Datei zu benutzen.
Ich stellt mir das so vor, dass ich in einer .txt(?) Datei nur z.B

Code:
customernumber=2
addressnumber=3

habe. Das heißt mein Java Code sollte erstmal die Datei aufrufen und dann nach dem Stichwort "customernumber" suchen und den Wert der in der .txt Datei dahintersteht übernehmen.
Verstehst du was ich meine? Einfach eine separate Datei die ich editieren kann und Java muss auf sie zugreifen und holt dich von dort die Informationen... geht das überhaupt?

Das könnte man so machen, also z.B.

1. Daten einlesen

Code:
...
		// Reader erzeugen, öffnet gleichzeitig Datei
		try {
			in = new BufferedReader(new InputStreamReader(new FileInputStream(
					"daten.dat")));
		} catch (FileNotFoundException e) {
			System.out
					.println("Die Datei daten.dat konnte nicht gefunden und zum Lesen geoeffnet werden.");
			System.exit(1);
		}
...

2. Daten zeilenweise einlesen und einzelne Werte ausgeben/zuweisen (Hinweis: Hier wird angenommen, dass wie oben in deinem Beispiel der Wert vom Bezeichner jeweils durch ein Gleichheitszeichen getrennt ist. Der Dateiname lautet "daten.dat")
Code:
...
		// ZEILENWEISE einlesen, konvertieren und zuweisen
		try {
			eingabezeile = in.readLine();
			int i = 0;
			while (eingabezeile != null) {
				eingabezeile = in.readLine();
				if (eingabezeile != null) {
					int feldNummer = 0;
					String[] bezeichnerTokens = new String[MAX];
					String[] wertTokens = new String[MAX];

					String rest = eingabezeile.toString();
					int idx;

					while (feldNummer < kursTokens.length -1
							&& (idx = rest.indexOf('=')) >= 0) {
						bezeichnerTokens[feldNummer++] = rest.substring(0, idx);
						wertTokens[feldNummer] = rest.substring(idx+1);
						rest = rest.substring(idx + 1);
					}
					System.out.println("Zeileninhalt      : " + eingabezeile);
					System.out.println("   Bezeichner: " + bezeichnerTokens [0]);
					System.out.println("      Wert     : " + wertTokens[1]);
                                  // hier fehlen noch Anweisungen für die Zuweisungen
                                  // ...

				}

			}
		} catch (IOException e) {
		   System.out.println("Fehler beim Lesen oder Schreiben.");
		}
...

Mit einer derartigen Lösung hast du sicherlich Eingabearbeit gespart.
 
L

Louis2

Gast
@abollm: Danke für die Arbeit. ! Ich probiers mal.

Habe mir aber gestern noch Gedanken gemacht, wie ich es anders machen kann ohne IOTools. Bin auf die Idee gekommen, dass ich ein Applet machen könnte un dort dann die Werte eingeben lasse und dann per Listener sie übernehmen.
Hab mich auch damit etwas befasst, Applet ist soweit fertig (also Textfields usw...) jetzt kommt der schwierig Teil mit dem Listener.

Mein Applet-Code:
Code:
import java.awt.*;  
import java.applet.*; 
import java.awt.event.*; 
import java.sql.*;

public class MassData_GraficGUI extends Applet 
{    
    private Label dbm_userq, passwordq, database_serverq, database_nameq, question, numbercustomerq, numberaddressq, numbercontactpq, numbercontactnq, numberactivityq, numbertroubleticketq;  
    private Button b1;  
    private TextField dbm_user, password, database_server, database_name, numbercustomer, numberaddress, numbercontactp, numbercontactn, numberactivity, numbertroubleticket;
    private CheckboxGroup cbg1;   
    private Checkbox typ, max;  
    private Abhoerer abh; 
        
    public void init()
    {
    	setLayout(null);
    	
    	dbm_userq = new Label("DB-Username:");
    	dbm_userq.setBounds(20, 40, 100, 20); 
    	add(dbm_userq);
    	dbm_user = new TextField();
    	dbm_user.setBounds(125, 40, 100, 25);
    	add(dbm_user);
        
        passwordq = new Label("DB-Password:");
    	passwordq.setBounds(20, 70, 100, 20); 
    	add(passwordq);
    	password = new TextField();
    	password.setBounds(125, 70, 100, 25);
    	add(password);
        
        database_serverq = new Label("DB-Server:");
    	database_serverq.setBounds(20, 100, 100, 20); 
    	add(database_serverq);
    	database_server = new TextField();
    	database_server.setBounds(125, 100, 100, 25);
    	add(database_server);
        
        database_nameq = new Label("DB-Name:");
    	database_nameq.setBounds(20, 130, 100, 20); 
    	add(database_nameq);
    	database_name = new TextField();
    	database_name.setBounds(125, 130, 100, 25);
    	add(database_name);
    
        question = new Label("Welche Felder sollen in der DB gefüllt werden:");
    	question.setBounds(20, 190, 275, 20); 
    	add(question);
        cbg1 = new CheckboxGroup();   
    	typ = new Checkbox("Typische Felder", cbg1, false);    
    	max = new Checkbox("Max. Felder", cbg1, false);   
       	typ.setBounds(300, 180, 125, 20);
    	add(typ); 
    	max.setBounds(300, 200, 125, 20);
    	add(max); 
    	    	
    	numbercustomerq = new Label("Anzahl der Firmen die in der DB angelegt werden sollen:");
    	numbercustomerq.setBounds(20, 260, 450, 20); 
    	add(numbercustomerq);
    	numbercustomer = new TextField();
    	numbercustomer.setBounds(475, 260, 75, 25);
    	add(numbercustomer);
        
        numberaddressq = new Label("Anzahl der Adressen die in jede Firma angelegt werden sollen:");
    	numberaddressq.setBounds(20, 290, 450, 20); 
    	add(numberaddressq);
    	numberaddress = new TextField();
    	numberaddress.setBounds(475, 290, 75, 25);
    	add(numberaddress);
        
        numbercontactpq = new Label("Anzahl der Kontaktpersonen die in jeder Adresse angelegt werden sollen:");
    	numbercontactpq.setBounds(20, 320, 450, 20); 
    	add(numbercontactpq);
    	numbercontactp = new TextField();
    	numbercontactp.setBounds(475, 320, 75, 25);
    	add(numbercontactp);
        
        numbercontactnq = new Label("Anzahl der Kontaktnummern die in jeder Kontaktperson angelegt werden sollen:");
    	numbercontactnq.setBounds(20, 350, 450, 20); 
    	add(numbercontactnq);
    	numbercontactn = new TextField();
    	numbercontactn.setBounds(475, 350, 75, 25);
    	add(numbercontactn);
        
        numberactivityq = new Label("Anzahl der Aktivitäten die angelegt werden sollen:");
    	numberactivityq.setBounds(20, 380, 450, 20); 
    	add(numberactivityq);
    	numberactivity = new TextField();
    	numberactivity.setBounds(475, 380, 75, 25);
    	add(numberactivity);
        
        numbertroubleticketq = new Label("Anzahl der Problemfälle die angelegt werden sollen:");
    	numbertroubleticketq.setBounds(20, 410, 450, 20); 
    	add(numbertroubleticketq);
    	numbertroubleticket = new TextField();
    	numbertroubleticket.setBounds(475, 410, 75, 25);
    	add(numbertroubleticket);
    	
        abh = new Abhoerer();
    	b1 = new Button("Connect/Job");   
    	b1.setBounds(20, 470, 100, 25);
 	b1.addActionListener(abh);  
  	add(b1); 
	}
	
 	class Abhoerer implements ActionListener
 	{
            public void actionPerformed(ActionEvent e) 
            {  
                
            }  
        }
}

Nun möchte ich, dass der folgende Ablauf gemacht wird:
Code:
public class MassData 
{
    public static void main(String[] args) 
    throws ClassNotFoundException, SQLException
    {
        String dbm_user = IOTools.readString("DB-Username:");
        String password = IOTools.readString("DB-Password:");
        String database_server = IOTools.readString("DB-Server:");
        String database_name = IOTools.readString("DB-Name:");
        
        try 
         { 
            Class.forName("oracle.jdbc.driver.OracleDriver"); 
            String url = "jdbc:oracle:thin:@"+database_server+":1521:"+database_name; 
            Connection connection = DriverManager.getConnection(url, dbm_user, password); 
            
                boolean question=IOTools.readBoolean("Soll in der DB nur die typical Felder gefüllt werden? (true OR false):");
                int numbercustomer=IOTools.readInteger("Anzahl der Firmen die in der DB angelegt werden sollen:");
                int numberaddress=IOTools.readInteger("Anzahl der Adressen die in jede Firma angelegt werden sollen:");
                int numbercontactp=IOTools.readInteger("Anzahl der Kontaktpersonen die in jeder Adresse angelegt werden sollen:");
                int numbercontactn=IOTools.readInteger("Anzahl der Kontaktnummern die in jeder Kontaktperson angelegt werden sollen:");
                int numberactivity=IOTools.readInteger("Anzahl der Aktivitäten die angelegt werden sollen:");
                int numbertroubleticket=IOTools.readInteger("Anzahl der Problemfälle die angelegt werden sollen:");
        
                int customerno=1002;
                int customerid=1002;
                int addressid=1002;
                int addressno=1002;
                int contactpid=1002;
                int contactnid=1002;
                int activityid=0;
                int troubleticketid=0;
                String resultcompany=new String();
                String resultaddress=new String();
                String resultcontactp=new String();
                String resultcontactn=new String();
                String resultactivity=new String();
                String resulttroubleticket=new String();
                
                if (question==true)
                {
                    for (int i=1; i<=numbercustomer; i++)
                    {
                        Statement company = connection.createStatement(); 
                        //resultcompany = "INSERT into customer (customerno,customerid,mandator,companyname,shorttext,customerclass) values (" + (customerno++) + "," + (customerid++) + ",'DEMO'" + ",'Testcustomer','Testcustomer','K')"; 
                        resultcompany = "INSERT into customer (customerno,customerid,mandator,companyname,shorttext,customerclass) values (3000,3000,'DEMO','Testcustomer','Testcustomer','K')"; 
                        company.executeUpdate(resultcompany); 
                        connection.commit(); 
                        
                        /*try 
                        { 
                            Runtime.getRuntime().exec("cmd /c start D:\\NetBeans3.6\\Project\\UserAccessRights4.bat"); 
                        } 
                        catch (Exception e) 
                        { 
                            System.err.println("Unbehandelter Ausnahmefehler: " + e.getMessage()); 
                        }*/
                        
                        for (i=1; i<=numberaddress; i++)
                        {
                            Statement address= connection.createStatement();
                            //resultaddress = "INSERT into address (addressno,addressid,customerid,name1,street,streetnumber,zip,city,countrycode,region,pobox,zip_pobox,addresstype,language) values (" + (addressno++) + "," + (addressid++) + "," + (customerid) + ",'Testaddress','Teststreet',23,76131,'Testcity','D','BW',1973,66801,1,'de')";
                            resultaddress = "INSERT into address (addressno,addressid,customerid,name1,street,streetnumber,zip,city,countrycode,addresstype) values (3000,3000,3000,'Testaddress','Teststreet',23,76131,'Testcity','D',1)";
                            address.executeUpdate(resultaddress); 
                            connection.commit();                           
            
                            for (i=1; i<=numbercontactp; i++)
                            {
                                Statement contactp= connection.createStatement();
                                //resultcontactp = "INSERT into contactperson (contactpersonid,addressid,greetingcode,firstname,lastname,language) values (" + (contactpid++) + "," + (addressid) + ",'MR','Testman','Testman','de')";
                                resultcontactp = "INSERT into contactperson (contactpersonid,addressid,greetingcode,firstname,lastname) values (3000,3000,'MR','Testman','Testman')";
                                contactp.executeUpdate(resultcontactp); 
                                connection.commit(); 
                                
                                for (i=1; i<=numbercontactn; i++)
                                {
                                    Statement contactn= connection.createStatement();
                                    //resultcontactn = "INSERT into contactnumber (contactnumberid,contactpersonid,addressid,contactnumbertype,contactnumber) values (" + (contactnid++) + "," + (contactpid) + "," + (addressid) + ",1,001122334455)";
                                    resultcontactn = "INSERT into contactnumber (contactnumberid,contactpersonid,addressid,contactnumbertype,contactnumber) values (11000,3000,3000,1,2222)";
                                    contactn.executeUpdate(resultcontactn); 
                                    connection.commit(); 
                                    
                                    contactn.close();
                                }
                                
                                contactp.close();
                           }
                        address.close();
                        }
                    company.close();
                    }
		    
		    for (int i=1; i<=numberactivity; i++)
                    {
                        Statement activity= connection.createStatement();
                        //resultactivity = "INSERT into activity (activityid,customerid,contactpersonid,subject,state,activitytype,activitypriority,emotion) values (" + (activityid) + "," + (customerid) + "," + (contactpid) + ",'Testactivity','NB','ANG',1,'High')";
                        resultactivity = "INSERT into activity (activityid,customerid,contactpersonid,subject,state,activitytype,activitypriority) values (20000,3000,3000,'Testactivity','NB','ANG',1)";
                        activity.executeUpdate(resultactivity); 
                        connection.commit(); 
            
                        activity.close();
                    }
                                            
                    for (int i=1; i<=numbertroubleticket; i++)
                    {
                        Statement troubleticket= connection.createStatement();
                        //resulttroubleticket = "INSERT into troubleticket (troubleticketid,customerid,description,troubleticketstate) values (" + (troubleticketid) + "," + (customerid) + ",'TestSupportCall','AUFG')";
                        resulttroubleticket = "INSERT into troubleticket (troubleticketid,customerid,description,troubleticketstate) values (11000,3000,'TestSupportCall','AUFG')";
                        troubleticket.executeUpdate(resulttroubleticket); 
                        connection.commit(); 
                                                    
                        troubleticket.close();
                    }
                } 
	 } 
         catch(ClassNotFoundException e) 
         { 
            System.out.println("Treiber nicht gefunden."); 
            e.printStackTrace(); 
         } 
         catch(SQLException e) 
         { 
            System.out.println(e.toString()); 
         } 
         catch(Exception e) 
         { 
            e.printStackTrace(); 
         } 
   }    
}


Hab mir schon paar Gedanken gemacht, z.B im ActionListener sowas wie
Code:
String a = String.valueOf(dbm_user.getText()).StringValue();
String b = String.valueOf(password.getText()).StringValue();
String c = String.valueOf(database_server.getText()).StringValue();
String d = String.valueOf(database_name.getText()).StringValue();
Integer e = Integer.valueOf(numbercustomer.getText()).IntegerValue();
Integer f = Integer.valueOf(numberaddress.getText()).IntegerValue();
Integer g = Integer.valueOf(numbercontactp.getText()).IntegerValue();
Integer h = Integer.valueOf(numbercontactn.getText()).IntegerValue();
Integer i = Integer.valueOf(numberactivity.getText()).IntegerValue();
Integer j = Integer.valueOf(numbertroubleticket.getText()).IntegerValue();
		
if (event.getSource() == typ)
//for Schleife+Anpassungen??
else
...

Nun weiss ich nicht wie man das richtig macht, ich meine wie kriege ich die Zahl von Numbercustomer ich meine for-Schleife rein und solche Sachen! ;-)

Werde nochmal paar Dinge ausprobieren, vielleicht komme ich selber drauf, denke es aber nicht.

Gruß
 

abollm

Top Contributor
Nur so auf dei Schnelle folgender Hinweis:

Ich habe vor einiger Zeit einmal ein kleines Applet mit DB-Zugriff geschrieben (auch Oracle-DB). U.a. mit Login-Maske und Debugging-Trace-Funktionalität. Was mich insbesondere an DB-Applets stört ist die Tatsache, dass sie recht, ich sage einmal, "empfindlich" gegenüber bestimmten Randbedingungen sind, sodass ich immer wieder Situationen erzeugt habe, dass das Applet nicht fehlerfrei den Login-Vorgang oder die SELECT-Abfragen durchgeführt hat.
Vielleicht fehlt mir da aber auch nur die Erfahrung.

Deshalb wäre es einmal interessant zu erfahren, ob dein Ansatz unter verschiedenen Randbedingungen problemlos funktioniert.
 
L

Louis2

Gast
Was verstehst du unter "Randbedingungen"? Bedingungen ausserhalb des Java-Programms?
Oder Bedingungen im Java-Code wie bei mir "wenn Typical Felder dann mach das und sonst mach dies"?

Ob das fehlerfrei funktioniert kann ich natürlich nur wissen wenn mein Prog auch funktioniert.

Mir fehtl aber bei Listener und Methoden auch etwas die Erfahrung, die Idee hab ich wie ich es umsetze ich eine andere Sache ;-)
 
L

Louis2

Gast
Hab mal probiert was gescheites zu machen, wie sieht denn mein Code bzw. die ActionListener aus, gut, nicht gut?
Code:
import java.awt.*;  
import java.applet.*; 
import java.awt.event.*; 
import java.sql.*;

public class MassData_GraficGUI extends Applet 
{    
    private Label dbm_userq, passwordq, database_serverq, database_nameq, question, numbercustomerq, numberaddressq, numbercontactpq, numbercontactnq, numberactivityq, numbertroubleticketq;  
    private Button b1;  
    private TextField dbm_user, password, database_server, database_name, numbercustomer, numberaddress, numbercontactp, numbercontactn, numberactivity, numbertroubleticket;
    private CheckboxGroup cbg1;   
    private Checkbox typ, max;  
    private Abhoerer abh; 
         
    public void init()
    {
    	setLayout(null);
    	
    	dbm_userq = new Label("DB-Username:");
    	dbm_userq.setBounds(20, 40, 100, 20); 
    	add(dbm_userq);
    	dbm_user = new TextField();
    	dbm_user.setBounds(125, 40, 100, 25);
    	add(dbm_user);
        
        passwordq = new Label("DB-Password:");
    	passwordq.setBounds(20, 70, 100, 20); 
    	add(passwordq);
    	password = new TextField();
    	password.setBounds(125, 70, 100, 25);
    	add(password);
        
        database_serverq = new Label("DB-Server:");
    	database_serverq.setBounds(20, 100, 100, 20); 
    	add(database_serverq);
    	database_server = new TextField();
    	database_server.setBounds(125, 100, 100, 25);
    	add(database_server);
        
        database_nameq = new Label("DB-Name:");
    	database_nameq.setBounds(20, 130, 100, 20); 
    	add(database_nameq);
    	database_name = new TextField();
    	database_name.setBounds(125, 130, 100, 25);
    	add(database_name);
    
        question = new Label("Welche Felder sollen in der DB gefüllt werden:");
    	question.setBounds(20, 190, 275, 20); 
    	add(question);
        cbg1 = new CheckboxGroup();   
    	typ = new Checkbox("Typische Felder", cbg1, false);    
    	max = new Checkbox("Max. Felder", cbg1, false);   
       	typ.setBounds(300, 180, 125, 20);
    	add(typ); 
    	max.setBounds(300, 200, 125, 20);
    	add(max); 
    	    	
    	numbercustomerq = new Label("Anzahl der Firmen die in der DB angelegt werden sollen:");
    	numbercustomerq.setBounds(20, 260, 450, 20); 
    	add(numbercustomerq);
    	numbercustomer = new TextField();
    	numbercustomer.setBounds(475, 260, 75, 25);
    	add(numbercustomer);
        
        numberaddressq = new Label("Anzahl der Adressen die in jede Firma angelegt werden sollen:");
    	numberaddressq.setBounds(20, 290, 450, 20); 
    	add(numberaddressq);
    	numberaddress = new TextField();
    	numberaddress.setBounds(475, 290, 75, 25);
    	add(numberaddress);
        
        numbercontactpq = new Label("Anzahl der Kontaktpersonen die in jeder Adresse angelegt werden sollen:");
    	numbercontactpq.setBounds(20, 320, 450, 20); 
    	add(numbercontactpq);
    	numbercontactp = new TextField();
    	numbercontactp.setBounds(475, 320, 75, 25);
    	add(numbercontactp);
        
        numbercontactnq = new Label("Anzahl der Kontaktnummern die in jeder Kontaktperson angelegt werden sollen:");
    	numbercontactnq.setBounds(20, 350, 450, 20); 
    	add(numbercontactnq);
    	numbercontactn = new TextField();
    	numbercontactn.setBounds(475, 350, 75, 25);
    	add(numbercontactn);
        
        numberactivityq = new Label("Anzahl der Aktivitäten die angelegt werden sollen:");
    	numberactivityq.setBounds(20, 380, 450, 20); 
    	add(numberactivityq);
    	numberactivity = new TextField();
    	numberactivity.setBounds(475, 380, 75, 25);
    	add(numberactivity);
        
        numbertroubleticketq = new Label("Anzahl der Problemfälle die angelegt werden sollen:");
    	numbertroubleticketq.setBounds(20, 410, 450, 20); 
    	add(numbertroubleticketq);
    	numbertroubleticket = new TextField();
    	numbertroubleticket.setBounds(475, 410, 75, 25);
    	add(numbertroubleticket);
    	
        abh = new Abhoerer();
    	b1 = new Button("Connect/Job");  
        b1.setBounds(20, 470, 100, 25);
        add(b1);
 	b1.addActionListener(abh);  
        }
	
 	class Abhoerer implements ActionListener
 	{
            public void actionPerformed(ActionEvent e) 
            {  
		if (e.getSource() == b1)
                {
                String resultcompany=new String();
                String resultaddress=new String();
                String resultcontactp=new String();
                String resultcontactn=new String();
                String resultactivity=new String();
                String resulttroubleticket=new String();
                    
                String du = String.valueOf(dbm_user.getText()); 
                String p = String.valueOf(password.getText()); 
                String ds = String.valueOf(database_server.getText()); 
                String dn = String.valueOf(database_name.getText()); 
                int nc = Integer.valueOf(numbercustomer.getText()).intValue(); 
                int na = Integer.valueOf(numberaddress.getText()).intValue(); 
                int ncp = Integer.valueOf(numbercontactp.getText()).intValue(); 
                int ncn = Integer.valueOf(numbercontactn.getText()).intValue(); 
                int nac = Integer.valueOf(numberactivity.getText()).intValue(); 
                int nt = Integer.valueOf(numbertroubleticket.getText()).intValue(); 
                 
                try 
                { 
                    Class.forName("oracle.jdbc.driver.OracleDriver"); 
                    String url = "jdbc:oracle:thin:@"+ds+":1521:"+dn; 
                    Connection connection = DriverManager.getConnection(url, du, p);
                    
                        for (int i=1; i<=nc; i++)
                        {
                            Statement company = connection.createStatement(); 
                            //resultcompany = "INSERT into customer (customerno,customerid,mandator,companyname,shorttext,customerclass) values (" + (customerno++) + "," + (customerid++) + ",'DEMO'" + ",'Testcustomer','Testcustomer','K')"; 
                            resultcompany = "INSERT into customer (customerno,customerid,mandator,companyname,shorttext,customerclass) values (3000,3000,'DEMO','Testcustomer','Testcustomer','K')"; 
                            company.executeUpdate(resultcompany); 
                            connection.commit(); 
                        }
                    
                }
                catch(ClassNotFoundException e1) 
                { 
                    System.out.println("Treiber nicht gefunden."); 
                    e1.printStackTrace(); 
                } 
                catch(SQLException e2) 
                { 
                    System.out.println(e.toString()); 
                } 
                catch(Exception e3) 
                {    
                    e3.printStackTrace(); 
                } 
                }
            }
        }
}

Mir fehlt halt noch:
1. die if Anweisung also "if=Checkbox Typical Felder" dann for-Schleife
2. Hatte gedacht, dass ich mit "if (e.getSource() == b1)" eine Anweisung gebe, dass wenn der Button gedrückt wird er was folgt ausführen soll, aber bei mir passiert nix :-(
 

abollm

Top Contributor
Nur vorab als Information und Frage:

Warum nimmst du nicht Swing, statt AWT?
Man kann zwar ein Login in das Haupt-Frame einbauen, aber ich persönlich finde ein eigenes Login-Fenster günstiger und besser.

Ich schaue mir deine Fragen morgen einmal näher an, heute habe ich leider keine Zeit dafür.
 
L

Louis2

Gast
Ein eigenes Login-Fenster? Hört sich gut an, und wie macht man sowas?
Tja die Antwort auf deine Frage ist ganz einfach: weil ich bisher fast nichts mit Swing gemacht habe. Wie sind die Unterschiede, was kann man besser machen wie geht es...

Ja, man kann nicht immer Zeit haben. Schau dir dann mein Code an, ob die Fehler auffallen und die Fragen natürlich. Kannst natürlich auch ein Login-Fenster prog. und mir erklären ;-)
 
L

Louis2

Gast
Folgende Probleme habe ich immer noch:
1. if-Anweisung&else-Anweisung also "if=Checkbox Typical Felder" dann for-Schleife else...
2. Hatte gedacht, dass ich mit "if (e.getSource() == b1)" eine Anweisung gebe, dass wenn der Button gedrückt wird er was folgt ausführen soll, aber bei mir passiert nix
3. Möchte, dass die Exceptions usw... (also statt s.o.pln) in einem Textfield angezeigt werden. Soweit kein Problem mit der herstellen des Textfields, aber wie kann ich jetzt zuordnen, dass folgende Exceptions dort erscheinen?
Funktioniert es mit dem Listener? Hatte verstanden, dass der nur auf "Knöpfe" reagiert?
4. Ich habe mal mein Java Code losgelassen, aber wenn ich 10 Firmen 3 Adressen...2 Kontaktnummern pro Kontakperson usw...anlegen möchte, dann legt er nur 1 Firma, 1 Adresse an aber 2 Kontaktnummern bei der Kontaktperson. Ist da ein Fehler im Quellcode?

Java-Quellcode:
Code:
import Prog1Tools.IOTools;
import java.sql.*;

public class MassData 
{
    public static void main(String[] args) 
    throws ClassNotFoundException, SQLException
    {
        String dbm_user = IOTools.readString("DB-Username:");
        String password = IOTools.readString("DB-Password:");
        String database_server = IOTools.readString("DB-Server:");
        String database_name = IOTools.readString("DB-Name:");
        
        try 
         { 
            Class.forName("oracle.jdbc.driver.OracleDriver"); 
            String url = "jdbc:oracle:thin:@"+database_server+":1521:"+database_name; 
            Connection connection = DriverManager.getConnection(url, dbm_user, password); 
            
                boolean question=IOTools.readBoolean("Soll in der DB nur die typical Felder gefüllt werden? (true OR false):");
                int numbercustomer=IOTools.readInteger("Anzahl der Firmen die in der DB angelegt werden sollen:");
                int numberaddress=IOTools.readInteger("Anzahl der Adressen die in jede Firma angelegt werden sollen:");
                int numbercontactp=IOTools.readInteger("Anzahl der Kontaktpersonen die in jeder Adresse angelegt werden sollen:");
                int numbercontactn=IOTools.readInteger("Anzahl der Kontaktnummern die in jeder Kontaktperson angelegt werden sollen:");
                int numberactivity=IOTools.readInteger("Anzahl der Aktivitäten die angelegt werden sollen:");
                int numbertroubleticket=IOTools.readInteger("Anzahl der Problemfälle die angelegt werden sollen:");
        
                int customerno=0;
                int customerid=0;
                int addressid=0;
                int addressno=0;
                int contactpid=0;
                int contactnid=0;
                int activityid=0;
                int troubleticketid=0;
                String resultcompany=new String();
                String resultaddress=new String();
                String resultcontactp=new String();
                String resultcontactn=new String();
                String resultactivity=new String();
                String resulttroubleticket=new String();
                
                if (question==true)
                {
                    for (int i=1; i<=numbercustomer; i++)
                    {
                        Statement company = connection.createStatement(); 
                        resultcompany = "INSERT into customer (customerno,customerid,mandator,companyname,shorttext,customerclass) values (" + (customerno=customerno+1) + "," + (customerid=customerid+1) + ",'DEMO'" + ",'Testcustomer','Testcustomer','K')"; 
                        //resultcompany = "INSERT into customer (customerno,customerid,mandator,companyname,shorttext,customerclass) values (1,1,'DEMO','Testcustomer','Testcustomer','K')"; 
                        company.executeUpdate(resultcompany); 
                        connection.commit(); 
                        
                        /*try 
                        { 
                            Runtime.getRuntime().exec("cmd /c start D:\\NetBeans3.6\\Project\\UserAccessRights4.bat"); 
                        } 
                        catch (Exception e) 
                        { 
                            System.err.println("Unbehandelter Ausnahmefehler: " + e.getMessage()); 
                        }*/
                        
                        for (i=1; i<=numberaddress; i++)
                        {
                            Statement address= connection.createStatement();
                            resultaddress = "INSERT into address (addressno,addressid,customerid,name1,street,streetnumber,zip,city,countrycode,addresstype) values (" + (addressno=addressno+1) + "," + (addressid=addressid+1) + "," + (customerid) + ",'Testaddress','Teststreet',23,76131,'Testcity','D',1)";
                            //resultaddress = "INSERT into address (addressno,addressid,customerid,name1,street,streetnumber,zip,city,countrycode,addresstype) values (1,1,1,'Testaddress','Teststreet',23,76131,'Testcity','D',1)";
                            address.executeUpdate(resultaddress); 
                            connection.commit();                           
            
                            for (i=1; i<=numbercontactp; i++)
                            {
                                Statement contactp= connection.createStatement();
                                resultcontactp = "INSERT into contactperson (contactpersonid,addressid,greetingcode,firstname,lastname) values (" + (contactpid=contactpid+1) + "," + (addressid) + ",'MR','Testman','Testman')";
                                //resultcontactp = "INSERT into contactperson (contactpersonid,addressid,greetingcode,firstname,lastname) values (1,1,'MR','Testman','Testman')";
                                contactp.executeUpdate(resultcontactp); 
                                connection.commit(); 
                                
                                for (i=1; i<=numbercontactn; i++)
                                {
                                    Statement contactn= connection.createStatement();
                                    resultcontactn = "INSERT into contactnumber (contactnumberid,contactpersonid,addressid,mandator,contactnumbertype,contactnumber) values (" + (contactnid=contactnid+1) + "," + (contactpid) + "," + (addressid) + ",'DEMO',1,2222)";
                                    //resultcontactn = "INSERT into contactnumber (contactnumberid,contactpersonid,addressid,mandator,contactnumbertype,contactnumber) values (1,1,1,'DEMO',1,2222)";
                                    contactn.executeUpdate(resultcontactn); 
                                    connection.commit(); 
                                    
                                    for (i=1; i<=numberactivity; i++)
                                    {
                                        Statement activity= connection.createStatement();
                                        resultactivity = "INSERT into activity (activityid,customerid,addressid,employeeid,mandator,contactpersonid,subject,state,activitytype,activitypriority,term,deadline) values (" + (activityid=activityid+1) + "," + (customerid) + "," + (addressid) + ",1,'DEMO'," + (contactpid) + ",'Testactivity','NB','ANG',1,'31.12.2004','31.12.2005')";
                                        //resultactivity = "INSERT into activity (activityid,customerid,addressid,employeeid,mandator,contactpersonid,subject,state,activitytype,activitypriority,term,deadline) values (1,1,1,1,'DEMO',1,'Testactivity','NB','ANG',1,'31.12.2004','31.12.2005')";
                                        activity.executeUpdate(resultactivity); 
                                        connection.commit();
                                        
                                        for (i=1; i<=numbertroubleticket; i++)
                                        {
                                            Statement troubleticket= connection.createStatement();
                                            resulttroubleticket = "INSERT into troubleticket (troubleticketid,customerid,addressid,employeeid,mandator,description,troubleticketstate) values (" + (troubleticketid=troubleticketid+1) + "," + (customerid) + "," + (addressid) + "1,'DEMO','TestSupportCall','AUFG','31.12.2004','31.12.2005')";
                                            //resulttroubleticket = "INSERT into troubleticket (troubleticketid,customerid,addressid,employeeid,mandator,description,troubleticketstate,term1,term2) values (1,1,1,1,'DEMO','TestSupportCall','AUFG','31.12.2004','31.12.2005')";
                                            troubleticket.executeUpdate(resulttroubleticket); 
                                            connection.commit(); 
                                                    
                                            troubleticket.close();
                                        }
                                        activity.close();
                                    }
                                    contactn.close();
                                }
                                contactp.close();
                           }
                        address.close();
                        }
                    company.close();
                    }
                }
                    
                else
                for (int i=1; i<=numbercustomer; i++)
                {
                    Statement company = connection.createStatement(); 
                    resultcompany = "INSERT into customer (customerno,customerid,mandator,companyname,shorttext,customerclass) values (" + (customerno=customerno+1) + "," + (customerid=customerid+1) + ",'DEMO'" + ",'Testcustomer','Testcustomer','K')";  
                    //resultcompany = "INSERT into customer (customerno,customerid,mandator,companyname,shorttext,customerclass) values (1,1,'DEMO','Testcustomer','Testcustomer','K')";  
                    company.executeUpdate(resultcompany); 
                    connection.commit(); 
            
                    for (i=1; i<=numberaddress; i++)
                    {
                        Statement address= connection.createStatement();
                        resultaddress = "INSERT into address (addressno,addressid,customerid,name1,name2,name3,street,streetnumber,zip,city,countrycode,region,pobox,zip_pobox,addresstype,language) values (" + (addressno=addressno+1) + "," + (addressid=addressid+1) + "," + (customerid) + ",'Testaddress','Testaddress','Testaddress','Teststreet',23,76131,'Testcity','D','BW',1973,66801,1,'de')";
                        //resultaddress = "INSERT into address (addressno,addressid,customerid,name1,name2,name3,street,streetnumber,zip,city,countrycode,region,pobox,zip_pobox,addresstype,language) values (1,1,1,'Testaddress','Testaddress','Testaddress','Teststreet',23,76131,'Testcity','D','BW',1973,66801,1,'de')";
                        address.executeUpdate(resultaddress); 
                        connection.commit(); 
            
                        for (i=1; i<=numbercontactp; i++)
                        {
                            Statement contactp= connection.createStatement();
                            resultcontactp = "INSERT into contactperson (contactpersonid,addressid,greetingcode,firstname,lastname,language,title) values (" + (contactpid=contactpid+1) + "," + (addressid) + ",'MR','Testman','Testman','de','Dr')";
                            //resultcontactp = "INSERT into contactperson (contactpersonid,addressid,greetingcode,firstname,lastname,language,title) values (1,1,'MR','Testman','Testman','de','Dr')";
                            contactp.executeUpdate(resultcontactp); 
                            connection.commit(); 
                
                            for (i=1; i<=numbercontactn; i++)
                            {
                                Statement contactn= connection.createStatement();
                                resultcontactn = "INSERT into contactnumber (contactnumberid,contactpersonid,addressid,mandator,contactnumbertype,contactnumber) values (" + (contactnid=contactnid+1) + "," + (contactpid) + "," + (addressid) + ",'DEMO',1,2222)";
                                //resultcontactn = "INSERT into contactnumber (contactnumberid,contactpersonid,addressid,mandator,contactnumbertype,contactnumber) values (1,1,1,'DEMO',1,2222)";
                                contactn.executeUpdate(resultcontactn); 
                                connection.commit(); 
                    
                                contactn.close();
                            }
                        contactp.close();
                        }
                    address.close();
                    }
                company.close();
                }
                          
                for (int i=1; i<=numberactivity; i++)
                {
                    Statement activity= connection.createStatement();
                    resultactivity = "INSERT into activity (activityid,customerid,addressid,employeeid,mandator,contactpersonid,subject,state,activitytype,activitypriority,emotion,term,deadline) values (" + (activityid=activityid+1) + "," + (customerid) + "," + (addressid) + ",1,'DEMO'," + (contactpid) + ",'Testactivity','NB','ANG',1,'High','31.12.2004','31.12.2005')";
                    //resultactivity = "INSERT into activity (activityid,customerid,addressid,employeeid,mandator,contactpersonid,subject,state,activitytype,activitypriority,emotion,term,deadline) values (1,1,1,1,'DEMO',1,'Testactivity','NB','ANG',1,'High','31.12.2004','31.12.2005')";
                    activity.executeUpdate(resultactivity); 
                    connection.commit(); 
            
                    activity.close();
                }
                                            
                for (int i=1; i<=numbertroubleticket; i++)
                {
                    Statement troubleticket= connection.createStatement();
                    resulttroubleticket = "INSERT into troubleticket (troubleticketid,customerid,addressid,employeeid,mandator,description,troubleticketstate,term1,term2) values (" + (troubleticketid=troubleticketid+1) + "," + (customerid) + "," + (addressid) + "1,'DEMO','TestSupportCall','AUFG','31.12.2004','31.12.2005')";
                    //resulttroubleticket = "INSERT into troubleticket (troubleticketid,customerid,addressid,employeeid,mandator,description,troubleticketstate,term1,term2) values (1,1,1,1,'DEMO','TestSupportCall','AUFG','31.12.2004','31.12.2005')";
                    troubleticket.executeUpdate(resulttroubleticket); 
                    connection.commit(); 
                            
                    troubleticket.close();
                }
                System.out.println("Please execute the Userrights Batchrun");   
                connection.close();
         } 
         
         catch(ClassNotFoundException e) 
         { 
            System.out.println("Driver not found"); 
            e.printStackTrace(); 
         } 
         catch(SQLException e) 
         { 
            System.out.println(e.toString()); 
         } 
         catch(Exception e) 
         { 
            e.printStackTrace(); 
         } 
   }    
}

Applet-Code:
Code:
import java.awt.*;  
import java.applet.*; 
import java.awt.event.*; 
import java.sql.*;

public class MassData_GraficGUI extends Applet 
{    
    private Label dbm_userq, passwordq, database_serverq, database_nameq, question, numbercustomerq, numberaddressq, numbercontactpq, numbercontactnq, numberactivityq, numbertroubleticketq;  
    private Button b1;  
    private TextField dbm_user, password, database_server, database_name, numbercustomer, numberaddress, numbercontactp, numbercontactn, numberactivity, numbertroubleticket;
    private CheckboxGroup cbg1;   
    private Checkbox typ, max;  
    private Abhoerer abh; 
         
    public void init()
    {
    	setLayout(null);
            	
    	dbm_userq = new Label("DB-Username:");
    	dbm_userq.setBounds(20, 40, 100, 20); 
    	add(dbm_userq);
    	dbm_user = new TextField();
    	dbm_user.setBounds(125, 40, 100, 25);
        add(dbm_user);
        
        passwordq = new Label("DB-Password:");
    	passwordq.setBounds(20, 70, 100, 20); 
    	add(passwordq);
    	password = new TextField();
    	password.setBounds(125, 70, 100, 25);
    	add(password);
        
        database_serverq = new Label("DB-Server:");
    	database_serverq.setBounds(20, 100, 100, 20); 
    	add(database_serverq);
    	database_server = new TextField();
    	database_server.setBounds(125, 100, 100, 25);
    	add(database_server);
        
        database_nameq = new Label("DB-Name:");
    	database_nameq.setBounds(20, 130, 100, 20); 
    	add(database_nameq);
    	database_name = new TextField();
    	database_name.setBounds(125, 130, 100, 25);
    	add(database_name);
    
        question = new Label("Welche Felder sollen in der DB gefüllt werden:");
    	question.setBounds(20, 190, 275, 20); 
    	add(question);
        cbg1 = new CheckboxGroup();   
    	typ = new Checkbox("Typische Felder", cbg1, false);    
    	max = new Checkbox("Max. Felder", cbg1, false);   
       	typ.setBounds(300, 180, 125, 20);
    	add(typ); 
    	max.setBounds(300, 200, 125, 20);
    	add(max); 
    	    	
    	numbercustomerq = new Label("Anzahl der Firmen die in der DB angelegt werden sollen:");
    	numbercustomerq.setBounds(20, 260, 450, 20); 
    	add(numbercustomerq);
    	numbercustomer = new TextField();
    	numbercustomer.setBounds(475, 260, 75, 25);
    	add(numbercustomer);
        
        numberaddressq = new Label("Anzahl der Adressen die in jede Firma angelegt werden sollen:");
    	numberaddressq.setBounds(20, 290, 450, 20); 
    	add(numberaddressq);
    	numberaddress = new TextField();
    	numberaddress.setBounds(475, 290, 75, 25);
    	add(numberaddress);
        
        numbercontactpq = new Label("Anzahl der Kontaktpersonen die in jeder Adresse angelegt werden sollen:");
    	numbercontactpq.setBounds(20, 320, 450, 20); 
    	add(numbercontactpq);
    	numbercontactp = new TextField();
    	numbercontactp.setBounds(475, 320, 75, 25);
    	add(numbercontactp);
        
        numbercontactnq = new Label("Anzahl der Kontaktnummern die in jeder Kontaktperson angelegt werden sollen:");
    	numbercontactnq.setBounds(20, 350, 450, 20); 
    	add(numbercontactnq);
    	numbercontactn = new TextField();
    	numbercontactn.setBounds(475, 350, 75, 25);
    	add(numbercontactn);
        
        numberactivityq = new Label("Anzahl der Aktivitäten die angelegt werden sollen:");
    	numberactivityq.setBounds(20, 380, 450, 20); 
    	add(numberactivityq);
    	numberactivity = new TextField();
    	numberactivity.setBounds(475, 380, 75, 25);
    	add(numberactivity);
        
        numbertroubleticketq = new Label("Anzahl der Problemfälle die angelegt werden sollen:");
    	numbertroubleticketq.setBounds(20, 410, 450, 20); 
    	add(numbertroubleticketq);
    	numbertroubleticket = new TextField();
    	numbertroubleticket.setBounds(475, 410, 75, 25);
    	add(numbertroubleticket);
    	
        abh = new Abhoerer();
    	b1 = new Button("Connect/Job");  
        b1.setBounds(20, 470, 100, 25);
        add(b1);
 	b1.addActionListener(abh);  
        }
	
 	class Abhoerer implements ActionListener
 	{
            public void actionPerformed(ActionEvent e) 
            {  
                //numbercustomer.setText(cbg1.getSelectedCheckbox().getLabel());
                if (e.getSource() == b1)
                {
                String resultcompany=new String();
                String resultaddress=new String();
                String resultcontactp=new String();
                String resultcontactn=new String();
                String resultactivity=new String();
                String resulttroubleticket=new String();
                int customerno=0;
                int customerid=0;
                int addressid=0;
                int addressno=0;
                int contactpid=0;
                int contactnid=0;
                int activityid=0;
                int troubleticketid=0;
                    
                String du = String.valueOf(dbm_user.getText()); 
                String p = String.valueOf(password.getText()); 
                String ds = String.valueOf(database_server.getText()); 
                String dn = String.valueOf(database_name.getText()); 
                int nc = Integer.valueOf(numbercustomer.getText()).intValue(); 
                int na = Integer.valueOf(numberaddress.getText()).intValue(); 
                int ncp = Integer.valueOf(numbercontactp.getText()).intValue(); 
                int ncn = Integer.valueOf(numbercontactn.getText()).intValue(); 
                int nac = Integer.valueOf(numberactivity.getText()).intValue(); 
                int nt = Integer.valueOf(numbertroubleticket.getText()).intValue(); 
                 
                try 
                { 
                    Class.forName("oracle.jdbc.driver.OracleDriver"); 
                    String url = "jdbc:oracle:thin:@"+ds+":1521:"+dn; 
                    Connection connection = DriverManager.getConnection(url, du, p);
                    
                    for (int i=1; i<=nc; i++)
                    {
                        Statement company = connection.createStatement(); 
                        resultcompany = "INSERT into customer (customerno,customerid,mandator,companyname,shorttext,customerclass) values (" + (customerno=customerno+1) + "," + (customerid=customerid+1) + ",'DEMO'" + ",'Testcustomer','Testcustomer','K')"; 
                        //resultcompany = "INSERT into customer (customerno,customerid,mandator,companyname,shorttext,customerclass) values (1,1,'DEMO','Testcustomer','Testcustomer','K')"; 
                        company.executeUpdate(resultcompany); 
                        connection.commit(); 
                    }
                    
                }
                catch(ClassNotFoundException e1) 
                { 
                    System.out.println("Treiber nicht gefunden."); 
                    e1.printStackTrace(); 
                } 
                catch(SQLException e2) 
                { 
                    System.out.println(e2.toString()); 
                } 
                catch(Exception e3) 
                {    
                    e3.printStackTrace(); 
                } 
                }
            }
        }
}

Thx für die Hilfe. :wink:
 
L

Louis2

Gast
Habe folgendes Problem: Habe ein Applet gebaut:
Code:
import java.awt.*;  
import java.applet.*; 
import java.awt.event.*; 
import java.sql.*;

public class MassData_GraficGUI extends Applet 
{    
    private Label dbm_userq, passwordq, database_serverq, database_nameq, question, numbercustomerq, numberaddressq, numbercontactpq, numbercontactnq, numberactivityq, numbertroubleticketq, numberactivityqh, numbertroubleticketqh, ausnahment, numberlieferantq, numberinteressentq,title;  
    private Button b1;  
    private TextField dbm_user, password, database_server, database_name, numbercustomer, numberaddress, numbercontactp, numbercontactn, numberactivity, numbertroubleticket, numberactivityh, numbertroubleticketh, ausnahmen, numberlieferant, numberinteressent;
    private CheckboxGroup cbg1;   
    private Checkbox typ, max;  
    private Abhoerer abh; 
         
    public void init()
    {
    	setLayout(null);
            
        title = new Label("MassData Tool / Version 1.0");
    	title.setBounds(20, 10, 175, 20); 
    	add(title);
        
    	dbm_userq = new Label("DB-Username:");
    	dbm_userq.setBounds(20, 40, 100, 20); 
    	add(dbm_userq);
    	dbm_user = new TextField();
    	dbm_user.setBounds(125, 40, 100, 20);
        add(dbm_user);
        
        passwordq = new Label("DB-Password:");
    	passwordq.setBounds(20, 70, 100, 20); 
    	add(passwordq);
    	password = new TextField();
    	password.setBounds(125, 70, 100, 20);
    	add(password);
        
        database_serverq = new Label("DB-Server:");
    	database_serverq.setBounds(20, 100, 100, 20); 
    	add(database_serverq);
    	database_server = new TextField();
    	database_server.setBounds(125, 100, 100, 20);
    	add(database_server);
        
        database_nameq = new Label("DB-Name:");
    	database_nameq.setBounds(20, 130, 100, 20); 
    	add(database_nameq);
    	database_name = new TextField();
    	database_name.setBounds(125, 130, 100, 20);
    	add(database_name);
    
        question = new Label("Welche Felder sollen in der DB gefüllt werden:");
    	question.setBounds(20, 190, 275, 20); 
    	add(question);
        cbg1 = new CheckboxGroup();   
    	typ = new Checkbox("Typische Felder", cbg1, true);    
    	max = new Checkbox("Max. Felder", cbg1, false);   
       	typ.setBounds(300, 180, 125, 20);
    	add(typ); 
    	max.setBounds(300, 200, 125, 20);
    	add(max); 
    	    	
    	numbercustomerq = new Label("Anzahl der Kunden die in der DB angelegt werden sollen:");
    	numbercustomerq.setBounds(20, 260, 450, 20); 
    	add(numbercustomerq);
    	numbercustomer = new TextField();
    	numbercustomer.setBounds(475, 260, 75, 20);
    	add(numbercustomer);
        
        numberlieferantq = new Label("Anzahl der Lieferanten die in der DB angelegt werden sollen:");
    	numberlieferantq.setBounds(20, 290, 450, 20); 
    	add(numberlieferantq);
    	numberlieferant = new TextField();
    	numberlieferant.setBounds(475, 290, 75, 20);
    	add(numberlieferant);
        
        numberinteressentq = new Label("Anzahl der Interessenten die in der DB angelegt werden sollen:");
    	numberinteressentq.setBounds(20, 320, 450, 20); 
    	add(numberinteressentq);
    	numberinteressent = new TextField();
    	numberinteressent.setBounds(475, 320, 75, 20);
    	add(numberinteressent);
        
        numberaddressq = new Label("Anzahl der Adressen die in jede Firma angelegt werden sollen:");
    	numberaddressq.setBounds(20, 350, 450, 20); 
    	add(numberaddressq);
    	numberaddress = new TextField();
    	numberaddress.setBounds(475, 350, 75, 20);
    	add(numberaddress);
        
        numbercontactpq = new Label("Anzahl der Kontaktpersonen die in jeder Adresse angelegt werden sollen:");
    	numbercontactpq.setBounds(20, 380, 450, 20); 
    	add(numbercontactpq);
    	numbercontactp = new TextField();
    	numbercontactp.setBounds(475, 380, 75, 20);
    	add(numbercontactp);
        
        numbercontactnq = new Label("Anzahl der Kontaktnummern die in jeder Kontaktperson angelegt werden sollen:");
    	numbercontactnq.setBounds(20, 410, 450, 20); 
    	add(numbercontactnq);
    	numbercontactn = new TextField();
    	numbercontactn.setBounds(475, 410, 75, 20);
    	add(numbercontactn);
        
        numberactivityqh = new Label("Anzahl der hist. Aktivitäten die für jede Adresse angelegt werden sollen:");
    	numberactivityqh.setBounds(20, 440, 450, 20); 
    	add(numberactivityqh);
    	numberactivityh = new TextField();
    	numberactivityh.setBounds(475, 440, 75, 20);
    	add(numberactivityh);
        
        numberactivityq = new Label("Anzahl der Aktivitäten die für jede Adresse angelegt werden sollen:");
    	numberactivityq.setBounds(20, 470, 450, 20); 
    	add(numberactivityq);
    	numberactivity = new TextField();
    	numberactivity.setBounds(475, 470, 75, 20);
    	add(numberactivity);
        
        numbertroubleticketqh = new Label("Anzahl der hist. Problemfälle die für jede Adresse angelegt werden sollen:");
    	numbertroubleticketqh.setBounds(20, 500, 450, 20); 
    	add(numbertroubleticketqh);
    	numbertroubleticketh = new TextField();
    	numbertroubleticketh.setBounds(475, 500, 75, 20);
    	add(numbertroubleticketh);
        
        numbertroubleticketq = new Label("Anzahl der Problemfälle die für jede Adresse angelegt werden sollen:");
    	numbertroubleticketq.setBounds(20, 530, 450, 20); 
    	add(numbertroubleticketq);
    	numbertroubleticket = new TextField();
    	numbertroubleticket.setBounds(475, 530, 75, 20);
    	add(numbertroubleticket);
    	
        abh = new Abhoerer();
    	b1 = new Button("Connect/Job");  
        b1.setBounds(20, 590, 100, 20);
        add(b1);
 	b1.addActionListener(abh);  
 		
 	ausnahment = new Label("Notice:");
    	ausnahment.setBounds(175, 590, 50, 20); 
    	add(ausnahment);
    	ausnahmen = new TextField();
    	ausnahmen.setBounds(225, 590, 500, 75);
    	add(ausnahmen);
    }
        class Abhoerer implements ActionListener
 	{
            public void actionPerformed(ActionEvent e)  
            {  
                try 
                { 
                    String du = String.valueOf(dbm_user.getText()); 
                    String p = String.valueOf(password.getText()); 
                    String ds = String.valueOf(database_server.getText()); 
                    String dn = String.valueOf(database_name.getText()); 
                    
                    Class.forName("oracle.jdbc.driver.OracleDriver"); 
                    String url = "jdbc:oracle:thin:@"+ds+":1521:"+dn; 
                    Connection connection = DriverManager.getConnection(url, du, p);
                    
                    String resultcompany=new String();
                    String resultlieferant=new String();
                    String resultinteressent=new String();
                    String resultaddress=new String();
                    String resultcontactp=new String();
                    String resultcontactn=new String();
                    String resulthistactivity=new String();
                    String resultactivity=new String();
                    String resulthisttroubleticket=new String();
                    String resulttroubleticket=new String();
                
                    int customerno=0;
                    int customerid=0;
                    int addressid=0;
                    int addressno=0;
                    int contactpid=0;
                    int contactnid=0;
                    int activityid=0;
                    int troubleticketid=0;
                    int i,j,k,l,m,n,o,s,q,r;
                    
                    int nc = Integer.valueOf(numbercustomer.getText()).intValue(); 
                    int nl = Integer.valueOf(numbercustomer.getText()).intValue(); 
                    int ni = Integer.valueOf(numberaddress.getText()).intValue(); 
                    int na = Integer.valueOf(numberaddress.getText()).intValue(); 
                    int ncp = Integer.valueOf(numbercontactp.getText()).intValue(); 
                    int ncn = Integer.valueOf(numbercontactn.getText()).intValue(); 
                    int nth = Integer.valueOf(numbertroubleticketh.getText()).intValue(); 
                    int nt = Integer.valueOf(numbertroubleticket.getText()).intValue(); 
                    int nach = Integer.valueOf(numberactivityh.getText()).intValue(); 
                    int nac = Integer.valueOf(numberactivity.getText()).intValue(); 
                    
                    if (cbg1.getSelectedCheckbox().getLabel()=="Typische Felder") 
                    {
                        for (i=1; i<=nc; i++)
                        {
                            Statement company = connection.createStatement(); 
                            resultcompany = "INSERT into customer (customerno,customerid,mandator,companyname,shorttext,customerclass,searchname) values (" + (customerno=customerno+1) + "," + (customerid=customerid+1) + ",'DEMO'" + ",'Testcustomer','Testcustomer','K','Testcustomer')"; 
                            company.executeUpdate(resultcompany); 
                            connection.commit(); 
                            for (q=1; q<=nl; q++)
                            {
                                Statement lieferant = connection.createStatement(); 
                                resultlieferant = "INSERT into customer (customerno,customerid,mandator,companyname,shorttext,customerclass,searchname) values (" + (customerno=customerno+1) + "," + (customerid=customerid+1) + ",'DEMO'" + ",'Testcustomer','Testcustomer','L','Testcustomer')"; 
                                lieferant.executeUpdate(resultlieferant); 
                                connection.commit();
                                for (r=1; r<=ni; r++)
                                {
                                    Statement interessent = connection.createStatement(); 
                                    resultinteressent = "INSERT into customer (customerno,customerid,mandator,companyname,shorttext,customerclass,searchname) values (" + (customerno=customerno+1) + "," + (customerid=customerid+1) + ",'DEMO'" + ",'Testcustomer','Testcustomer','I','Testcustomer')"; 
                                    interessent.executeUpdate(resultinteressent); 
                                    connection.commit(); 
                                    for (j=1; j<=na; j++)
                                    {
                                        Statement address= connection.createStatement();
                                        resultaddress = "INSERT into address (addressno,addressid,customerid,name1,street,streetnumber,zip,city,countrycode,addresstype,searchname) values (" + (addressno=addressno+1) + "," + (addressid=addressid+1) + "," + customerid + ",'Testaddress','Teststreet',23,76131,'Testcity','D',1,'Testaddress')";
                                        address.executeUpdate(resultaddress); 
                                        connection.commit(); 
                                        for (s=1; s<=nth; s++)
                                        {
                                            Statement histtroubleticket= connection.createStatement();
                                            resulthisttroubleticket = "INSERT into troubletickethist (troubleticketid,customerid,addressid,employeeid,mandator,description,troubleticketstate,term1,term2) values (" + (troubleticketid=troubleticketid+1) + "," + customerid + "," + addressid + ",1,'DEMO','TestSupportCall','AUFG','31.12.2004','31.12.2005')";
                                            histtroubleticket.executeUpdate(resulthisttroubleticket); 
                                            connection.commit();
                                            histtroubleticket.close();
                                        }
                                        for (n=1; n<=nt; n++)
                                        {
                                            Statement troubleticket= connection.createStatement();
                                            resulttroubleticket = "INSERT into troubleticket (troubleticketid,customerid,addressid,employeeid,mandator,description,troubleticketstate,term1,term2) values (" + (troubleticketid=troubleticketid+1) + "," + customerid + "," + addressid + ",1,'DEMO','TestSupportCall','AUFG','31.12.2004','31.12.2005')";
                                            troubleticket.executeUpdate(resulttroubleticket); 
                                            connection.commit();
                                            troubleticket.close();
                                        }
                                        for (o=1; o<=nach; o++)
                                        {
                                            Statement histactivity= connection.createStatement();
                                            resulthistactivity = "INSERT into activityhist (activityid,customerid,addressid,employeeid,mandator,subject,state,activitytype,activitypriority,term,deadline) values (" + (activityid=activityid+1) + "," + customerid + "," + addressid + ",1,'DEMO','Testactivity','NB','ANG',1,'31.12.2004','31.12.2005')";
                                            histactivity.executeUpdate(resulthistactivity); 
                                            connection.commit();
                                            histactivity.close();
                                        }
                                        for (m=1; m<=nac; m++)
                                        {       
                                            Statement activity= connection.createStatement();
                                            resultactivity = "INSERT into activity (activityid,customerid,addressid,employeeid,mandator,subject,state,activitytype,activitypriority,term,deadline) values (" + (activityid=activityid+1) + "," + customerid + "," + addressid + ",1,'DEMO','Testactivity','NB','ANG',1,'31.12.2004','31.12.2005')";
                                            activity.executeUpdate(resultactivity); 
                                            connection.commit();
                                            activity.close();
                                        }
                                        for (k=1; k<=ncp; k++)
                                        {
                                            Statement contactp= connection.createStatement();
                                            resultcontactp = "INSERT into contactperson (contactpersonid,addressid,greetingcode,firstname,lastname) values (" + (contactpid=contactpid+1) + "," + addressid + ",'MR','Testman','Testman')";
                                            contactp.executeUpdate(resultcontactp); 
                                            connection.commit(); 
                                            for (l=1; l<=ncn; l++)
                                            {
                                                Statement contactn= connection.createStatement();
                                                resultcontactn = "INSERT into contactnumber (contactnumberid,contactpersonid,addressid,mandator,contactnumbertype,contactnumber) values (" + (contactnid=contactnid+1) + "," + contactpid + "," + addressid + ",'DEMO',1,2222)";
                                                contactn.executeUpdate(resultcontactn); 
                                                connection.commit(); 
                                                contactn.close();
                                            }
                                            contactp.close();
                                        }
                                        address.close();
                                    }
                                    interessent.close();
                                }
                                lieferant.close();
                            }
                            company.close();
                        }
                    }
                                                               
                else
                {
                    for (i=1; i<=nc; i++)
                    {
                        Statement company = connection.createStatement(); 
                        resultcompany = "INSERT into customer (customerno,customerid,mandator,companyname,shorttext,customerclass,searchname) values (" + i + "," + (customerid=customerid+1) + ",'DEMO'" + ",'Testcustomer','Testcustomer','K','Testcustomer')";  
                        company.executeUpdate(resultcompany); 
                        connection.commit(); 
                        for (j=1; j<=na; j++)
                        {
                            Statement address= connection.createStatement();
                            resultaddress = "INSERT into address (addressno,addressid,customerid,name1,name2,name3,street,streetnumber,zip,city,countrycode,region,pobox,zip_pobox,addresstype,language,searchname) values (" + (addressno=addressno+1) + "," + (addressid=addressid+1) + "," + customerid + ",'Testaddress','Testaddress','Testaddress','Teststreet',23,76131,'Testcity','D','BW',1973,66801,1,'de','Testaddress')";
                            address.executeUpdate(resultaddress); 
                            connection.commit(); 
                            for (s=1; s<=nth; s++)
                            {
                                Statement histtroubleticket= connection.createStatement();
                                resulthisttroubleticket = "INSERT into troubletickethist (troubleticketid,customerid,addressid,employeeid,mandator,description,troubleticketstate,term1,term2) values (" + (troubleticketid=troubleticketid+1) + "," + customerid + "," + addressid + ",1,'DEMO','TestSupportCall','AUFG','31.12.2004','31.12.2005')";
                                histtroubleticket.executeUpdate(resulthisttroubleticket); 
                                connection.commit();
                                histtroubleticket.close();
                            }
                            for (n=1; n<=nt; n++)
                            {
                                Statement troubleticket= connection.createStatement();
                                resulttroubleticket = "INSERT into troubleticket (troubleticketid,customerid,addressid,employeeid,mandator,description,troubleticketstate,term1,term2) values (" + (troubleticketid=troubleticketid+1) + "," + customerid + "," + addressid + ",1,'DEMO','TestSupportCall','AUFG','31.12.2004','31.12.2005')";
                                troubleticket.executeUpdate(resulttroubleticket); 
                                connection.commit();
                                troubleticket.close();
                            }
                            for (o=1; o<=nach; o++)
                            {
                                Statement histactivity= connection.createStatement();
                                resulthistactivity = "INSERT into activityhist (activityid,customerid,addressid,employeeid,mandator,subject,state,activitytype,activitypriority,term,deadline) values (" + (activityid=activityid+1) + "," + customerid + "," + addressid + ",1,'DEMO','Testactivity','NB','ANG',1,'31.12.2004','31.12.2005')";
                                histactivity.executeUpdate(resulthistactivity); 
                                connection.commit();
                                histactivity.close();
                            }
                            for (m=1; m<=nac; m++)
                            {       
                                Statement activity= connection.createStatement();
                                resultactivity = "INSERT into activity (activityid,customerid,addressid,employeeid,mandator,subject,state,activitytype,activitypriority,term,deadline) values (" + (activityid=activityid+1) + "," + customerid + "," + addressid + ",1,'DEMO','Testactivity','NB','ANG',1,'31.12.2004','31.12.2005')";
                                activity.executeUpdate(resultactivity); 
                                connection.commit();
                                activity.close();
                            }
                            for (k=1; k<=ncp; k++)
                            {
                                    Statement contactp= connection.createStatement();
                                    resultcontactp = "INSERT into contactperson (contactpersonid,addressid,greetingcode,firstname,lastname,language,title) values (" + (contactpid=contactpid+1) + "," + addressid + ",'MR','Testman','Testman','de','Dr')";
                                    contactp.executeUpdate(resultcontactp); 
                                    connection.commit(); 
                                    for (l=1; l<=ncn; l++)
                                    {
                                        Statement contactn= connection.createStatement();
                                        resultcontactn = "INSERT into contactnumber (contactnumberid,contactpersonid,addressid,mandator,contactnumbertype,contactnumber) values (" + (contactnid=contactnid+1) + "," + contactpid + "," + addressid + ",'DEMO',1,2222)";
                                        contactn.executeUpdate(resultcontactn); 
                                        connection.commit(); 
                                        contactn.close();
                                    }
                                    contactp.close();
                            }
                            address.close();
                        }
                        company.close();
                    }
                }
                ausnahmen.setText("!!!!!Please execute the Userrights Batchrun!!!!!"); 
                connection.close();
                } 
                
                catch(ClassNotFoundException e1) 
                { 
                    ausnahmen.setText("Driver not found"); 
                    e1.printStackTrace(); 
                } 
                catch(SQLException e2) 
                { 
                    ausnahmen.setText(e2.toString()); 
                } 
                catch(Exception e3) 
                {    
                    e3.printStackTrace(); 
                } 
                
            }
        }
}

Die class.Datei wird mit einer ganz normalen HTML Datei geladen.
Wenn ich die Daten eingebe und mich an der DB anmelden will kommt die Meldung "Driver not found".
Ok, aber mein Driver existiert und wenn ich mein Code den ich vorher ohne Applet geschrieben habe (identischer Quellcode) in Java selbst ausführe (mit Hilfe von IOTools für die Eingabe), habe ich keine Probleme.

Woher kommt es, dass er sich aus einer HTML Seite nicht richtig an der DB anmelden kann bzw. auf den Treiber (classes12.zip) zugreifen kann? Wann, wie und wo muss ich was ändern?

Thx.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
AssELAss Verbindung i5 Series 7.1 / 7.2 (DB2) mit Oracle SQL Developer Datenbankprogrammierung 3
M Verbindung zu Oracle DB Datenbankprogrammierung 4
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
M SQL , CSV Verbindung : Zu Umfangreicher Code durch Unwissenheit Datenbankprogrammierung 21
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
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
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

Ähnliche Java Themen

Neue Themen


Oben