Doppeleinträge in Access auf anderem Weg verhindern.

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo liebe Gemeinde,

derzeit vermeide ich folgendermaßen Doppeleinträge in einer Kundentabelle:

1. Ich lese NEUE Kundendaten aus einem Excelsheet in eine Arraylist
2. Anschließend lese ich aus der Datenbank ALLE schon BESTEHENDEN Kundendaten aus und füge Sie der gleichen Arrayliste dazu
3. Dann lösche ich alle Daten aus der Datenbank
4. Dann entferne ich in der Arraylist doppelte Einträge
5. Abschliessend schreibe ich wieder alles zurück in die Datenbank

Das entspricht sicher nicht einer optimalen Vorgehensweise und deshalb suche ich eine Alternative, die etwas weniger
Zeitraubend ist. Was ich nicht verwenden möchte ist ein HASHSET. Aus welchem Grund auch immer.

Die Datenbank ist in ACCESS gemacht. Als Primary Key ist die Kundennummer festgelegt.
Eigentlich könnte ich doch schon dadurch doppeleinträge vermeiden. Aber wie fange ich den Fehler
ab der gemeldet wird, wenn Java versucht schon eine bestehende Kundennummer in die Datenbank einzutragen, ohne
das das Programm aufhört weiter zu laufen?

Es wäre gut wenn beim auslesen der Arraylist dieser Eintrag in so einem Fall einfach übersprungen würde und fortgesetzt wird. Wie erreiche ich das? Ist das möglich? Wenn ja, kann ich mir ne menge Arbeit sparen....

Vielen lieben Dank für Eure Antworten!

Tom!
 

semi

Top Contributor
- Alle Kundennummern aus der DB lesen
- Für jeden Kunden aus Excel, desse Kundennummer nicht in der eingelesenen Liste enthalten ist
(
* Kunden anlegen/speichern
* Kundennummer in die Liste der Kundennumern eintragen
)
Alle anderen werden überlesen.
 
G

Guest

Gast
Also entweder habe ich es falsch verstanden oder es ist der gleiche Aufwand:

Auf diesem Weg muss ich ebenfalls alle Daten aus der DB holen und mit denen aus dem Excel vergleichen.
Das will ich ja verhindern.

Gibt es einen Weg NUR das Excel zu lesen und zu versuchen in die DB zu schreiben?
Aufgrund der Primary KEy eigenschaft sollte es ja dann nicht möglich sein doppeleinträge zu generieren.

Aber wie fange ich den Fehler ab, der bei dem Versuch entsteht eine vorhandene Kundennummer einzulesen?
 

semi

Top Contributor
Anonymous hat gesagt.:
Also entweder habe ich es falsch verstanden oder es ist der gleiche Aufwand:

Auf diesem Weg muss ich ebenfalls alle Daten aus der DB holen und mit denen aus dem Excel vergleichen.
Das will ich ja verhindern.
Um wieviele Millionenen von Kunden geht es da?
Du musst nicht die kompletten Daten der Kunden auslesen, sondern nur die Kundennummern.
z.B.
Code:
SELECT DISTINCT k.kundennummer FROM Kunde k
Das ganze liest du nur einmal in eine Liste ein und prüfst für jeden Datensatz aus Excel, ob
die Kundennummer bereits existiert.

Anonymous hat gesagt.:
Gibt es einen Weg NUR das Excel zu lesen und zu versuchen in die DB zu schreiben?
Aufgrund der Primary KEy eigenschaft sollte es ja dann nicht möglich sein doppeleinträge zu generieren.

Aber wie fange ich den Fehler ab, der bei dem Versuch entsteht eine vorhandene Kundennummer einzulesen?
Schau dir die SQLException an. In der Exception ist SQLSTATE = S1000. Daran erkennst du den Fehler.
Die SQLState Codes kannst du irgendwo auf den Seiten von MS finden.

Du könntest es auch komplett in Excel lösen. Die Kundennummern aus der DB lesen (in Excel) und
eine weitere Seite in Excel aufbauen, in der nur diejenigen Kunden auftauchen, deren Kundennummer
nicht in der DB vorhanden war.
 
G

Guest

Gast
Hallo Semi,

danke nochmals! Hab jetzt doch deine Lösung als Anregung genommen.

Funzt super (:)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Tom#234 Jakarta Web Service SQL Access Error Datenbankprogrammierung 7
H Datenbankverbindung zu MS Access Datenbankprogrammierung 4
G Connect zu ACCESS-DB mit Ucanaccess Datenbankprogrammierung 11
P Verbindung zu einer Access Datenbank per Eclipse oder Intellij Datenbankprogrammierung 0
V keine Verbindung möglich (Access-DB) Datenbankprogrammierung 3
Thallius MySQL JDBC auf Linux Server zu mySQL DB auf anderem Linux Server wirft Access denied Datenbankprogrammierung 5
Z [JDBC][MYSQL] Access denied Datenbankprogrammierung 7
J Unterschied @Id und @Access? Datenbankprogrammierung 5
MaxG. Access Datenbank Datenbankprogrammierung 48
I Access Datenbank in Table einlesen lassen Datenbankprogrammierung 2
D UCanAccess / MS Access - Tabelle / Spalte vorhanden Datenbankprogrammierung 3
J Java 8 und Microsoft Access Database-Dateien(mdb) Datenbankprogrammierung 1
W Access DB Metainfo hinzufügen Datenbankprogrammierung 8
Z Finde den Fehler: Daten aus einer Access-Datenbank lesen Datenbankprogrammierung 12
S HSQLDB Zugriff auf Access Datenbank Datenbankprogrammierung 0
Neumi5694 MS Access Sicherheit entfernen Datenbankprogrammierung 0
F Brauche dringend Hilfe Java-Access Connection Datenbankprogrammierung 3
L mdb (access) ansteuern: Welcher weg ist der Beste Datenbankprogrammierung 3
D Java MS Access Verbindung Datenbankprogrammierung 10
Neumi5694 MS Access Tabellenbesitzer ändern Datenbankprogrammierung 0
V Datenbank Access einbinden Datenbankprogrammierung 11
A Verbindung mit Access 2007 Datenbank herstellen Datenbankprogrammierung 1
Neumi5694 Java + MS Access + 64 Bit = Fehler -1073740777 Datenbankprogrammierung 2
R MS-Access mit JAva auslesen Datenbankprogrammierung 7
J Verbindung zu Access Datenbank Datenbankprogrammierung 15
Gossi MySQL Access denied Datenbankprogrammierung 11
J Access Datenbank mit JAVA erstellen - boolean Werte Datenbankprogrammierung 4
M Datenbankverbindung Access Datenbankprogrammierung 3
F Insert into Access Datenbankprogrammierung 3
C Access Datenbankprogrammierung 2
T Access 32bit on Win7 64Bit ODBC Problem Datenbankprogrammierung 1
H Microsoft Access Treiber wird nicht gefunden Datenbankprogrammierung 9
T Datenbankverbindung access funtioniert nicht Datenbankprogrammierung 21
E Access Datenbank, Linux Umgebung Datenbankprogrammierung 4
E Access Datenbank mit Insert befüllen Datenbankprogrammierung 5
M Access Update Statement Fehler update -> unmöglich? Datenbankprogrammierung 3
M Access Abfrage mit Parameter & Access/Java liefern unterschiedliche Ergebnisse Datenbankprogrammierung 2
M Access Datensatz beinhaltet ESC-Zeichen Datenbankprogrammierung 3
K MySQL JDBC - Access Datenbank - unbekannter TabellenName Datenbankprogrammierung 4
K Access Datenbank mit Java auf win7 64bit Datenbankprogrammierung 14
S Access 2007 zugreifen- ODBC Driver Manger Datenbankprogrammierung 3
R MS Access mit Java Problem mit Update Statment Datenbankprogrammierung 13
F Zugriff auf MS Access-Datenbank mit jackcess Datenbankprogrammierung 10
P Access Datenbank durchsuchen Datenbankprogrammierung 8
M Problem mit Hibernate und Access Datenbankprogrammierung 9
S Datenbankapplikation von Access -> Java Datenbankprogrammierung 18
B MAC Access Datenbank in Java verwenden - Treiberproblem Datenbankprogrammierung 2
J mit java in access DB über odbc/jdbc Datenbankprogrammierung 2
NoXiD Access Datenbank in java einbinden ohne ODBC treiber zu erstellen Datenbankprogrammierung 5
C MS Access und Jarkarta POI Datenbankprogrammierung 4
T Problem bei Zugriff auf Access Datenbank Datenbankprogrammierung 7
E [ACCESS ODBC] INSERT INTO Fehler Datenbankprogrammierung 4
Q Access Datenbank in eine Internetseite einbinden Datenbankprogrammierung 2
H java.sql.SQLException: Access denied for user 'root'@'localhost' (using password : YES) Datenbankprogrammierung 1
M Zugriff auf eine Access-Datenbank innerhalb eines jar-Files Datenbankprogrammierung 7
N Wie kann ich Zugriff auf eine MS Access DB (mit JDBC) über Netzwerk erreichen? Datenbankprogrammierung 7
M Spaltennamen einer MS Access Tabelle ermitteln Datenbankprogrammierung 3
F Zugriff auf MS Access DB Datenbankprogrammierung 3
T Problem beim Update in die Access DB Datenbankprogrammierung 9
M Tabelle in Access Datei mit JDBC generieren Datenbankprogrammierung 3
C MySQL langsamer als MS ACCESS Datenbankprogrammierung 5
J Zugriff auf Access-Datenbank Datenbankprogrammierung 3
S Connection String MS Access mit Systemdatenbank / Arbeitsgruppeninformationsdatei Datenbankprogrammierung 4
X JDBC und MS-Access Sicherheitslücken? Datenbankprogrammierung 4
N mehrere Abfragen nacheinander wie mit MS Access mit JAVA Datenbankprogrammierung 3
G "Adapter" Access -> MySQL? Datenbankprogrammierung 6
J Java DB Zugriff auf Access (Migration auf andere DB) Datenbankprogrammierung 8
H Fehler mit ". Microsoft Access Driver" Datenbankprogrammierung 12
K Java JDBC Access Datenstruktur Datenbankprogrammierung 2
V Überprüfen ob Tabelle existiert in Access per ODBC Datenbankprogrammierung 2
S Access vom Programm aus starten Datenbankprogrammierung 8
V Tabelle kopieren (Superbase -> Access) Datenbankprogrammierung 1
G Java und Access? Datenbankprogrammierung 3
D Problem mit Access abfrage Datenbankprogrammierung 10
D Access Datenbank in .jar-Datei Datenbankprogrammierung 51
J Insert auf Access DB funktioniert nicht Datenbankprogrammierung 5
E Wie auf MS-Access DB zugreifen? Datenbankprogrammierung 8
M Access Datenbank ! Datenbankprogrammierung 5
M Hilfe -Access mag sein Replace nciht merh Datenbankprogrammierung 2
alexpetri Problem mit jdbc MS Access / nach 670 inserts ist schluss. Datenbankprogrammierung 4
U MS Access reservierte Wörter Datenbankprogrammierung 2
S Fehler bei DB Verbindung Access Datenbankprogrammierung 6
B Platzierung einer Access Datenbank Datenbankprogrammierung 4
V MS Access DB - Schreibschutz deaktivieren Datenbankprogrammierung 3
S PreparedStatements, Abfrageoptimierung unter MS Access Datenbankprogrammierung 5
S Java Access Arbeitsgruppendatei Datenbankprogrammierung 2
S Zugriff auf eine große Datenmenge von MS Access per JDBC Datenbankprogrammierung 11
S Access und Java, aber wie? Datenbankprogrammierung 4
N Hilfe ! Mein Applet bekommt ein Access-Denied von MySQL Datenbankprogrammierung 7
D An Access Datenbank andocken ohne sie beim System anzumelden Datenbankprogrammierung 3
D String[][] Array in Access Datenbank speichern Datenbankprogrammierung 5
T Zugriff auf MS-Access-DB ist grottenlangsam. Normal? Datenbankprogrammierung 9
N Probleme mit Access-DB bei einem Webserver Datenbankprogrammierung 5
H Hibernate vs. MS Access Datenbankprogrammierung 7
G Suchen nach Autowerten in Access-DB Datenbankprogrammierung 20
B JDBC Verbindung zu Access Datenbank Datenbankprogrammierung 6
T Desktopanwendung mit Access als DB Datenbankprogrammierung 4
H Microsoft Access Abfrage Datenbankprogrammierung 6
K Problem mit datenbankanbindung unter access 2003 Datenbankprogrammierung 3
G Access Zugriff, DB auf Server, Applet Datenbankprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben