mdb-file erstellen?

Status
Nicht offen für weitere Antworten.

Verjigorm

Top Contributor
Hallo,

wie erstelle ich denn mit java eine mdb-datei?

Erster Ansatz war, ein neues File-Objekt anzulegen und mit createNewFile() die Datei zu erzeugen.

Aber Pustekuchen, die Datei wird zwar erzeugt, aber nicht als korrekte mdb-datei erkannt.
Es kommt dann die Fehlermeldung:

Exception in thread "main" java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Datenbank '(unbekannt)' konnte nicht geöffnet werden. Entweder wird die Datenbank nicht von Ihrer Anwendung erkannt, oder die Datei ist beschädigt.

Der Pfad zur Datei ist korrekt, wenn ich die Datei "von Hand" erstelle, funktioniert es.

mfg Verjigorm
 

Verjigorm

Top Contributor
Alter Schwede in letzter Zeit kämpf ich mehr mit Dingen wie "geht net" als mit der eigentlichen Programmierung
 
M

maki

Gast
Wieso lässt du den Access Müll nicht bleiben und konzentrierst dich auf richtige DBs? ;)

Alter Schwede in letzter Zeit kämpf ich mehr mit Dingen wie "geht net" als mit der eigentlichen Programmierung
Wenn das in der Evaluierungsphase passiert ist das normal, wenn das im Alltag passiert trifft irgendwer seltsame Entscheidungen.
 

Verjigorm

Top Contributor
maki hat gesagt.:
Wieso lässt du den Access Müll nicht bleiben und konzentrierst dich auf richtige DBs? ;)

Alter Schwede in letzter Zeit kämpf ich mehr mit Dingen wie "geht net" als mit der eigentlichen Programmierung
Wenn das in der Evaluierungsphase passiert ist das normal, wenn das im Alltag passiert trifft irgendwer seltsame Entscheidungen.

Weil der Auftraggeber nunmal die Rahmenbedingungen festgelegt hat:

Windows Vista :roll:
Java 1.5 :roll:
Migration von SuperbaseDatenbank -> Access 2003 :roll:
 
M

maki

Gast
Weil der Auftraggeber nunmal die Rahmenbedingungen festgelegt hat:
Das mag ja sein das der Kunde eine "lustige" Idee hat, aber wenn der Auftraggeber das selbst könnte, bräuchte er dich doch nicht ;)

Musst ihm schon sagen was geht und was nicht geht bzw. was besser ist, musst ja auch ein Konzeptoder ähnliches erstellt haben.

Wie in deinem anderen thread bereits gesagt würde das doch nicht von Java aus machen, hat ja genaugenommen nicht mal was damit zu tun, ist 'ne reine DB Kiste, zumindest die Konvertierung.

Deswegen verstehe nicht warum du mit Java eine MDB Datei anlegen willst...
 

Verjigorm

Top Contributor
Naja das sind halt Rahmenbedingungen unter denen der Vertrag angenommen wurde (vom Chef)

Unsere Firma "pflegt" die Superbase Daten, diese sollen nun in Access migriert werden.

Während der Migrierung sollen einige Plausibilitätstest durchgeführt werden. Am Ende soll eine "fehlerfreie" Access-DB rauskommen, aus der regelmässig irgendwelche Reports generiert werden.

Der Auftraggeber hat sich das halt auch nur ausgesucht, weil das nunmal sein laufendes System ist.

Soweit ich mitbekommen habe, werden die Access-Tabellen unter anderem in einem SAP-System benutzt und weiterverarbeitet ....

Und das Ganze muss/soll halt in Java realisiert werden.
Ansonsten müsste ich mir über nacht mal schnell ne andere Programmiersprache zulegen ;)
 
M

maki

Gast
Und das Ganze muss/soll halt in Java realisiert werden.
Ansonsten müsste ich mir über nacht mal schnell ne andere Programmiersprache zulegen icon_wink.gif
Du scheinst nicht zu verstehen: SQL ist was du brauchst, zumindest um die DB Tabellenstruktur von Superbase nach Access zu migrieren.

Ob und wie du deine Daten dann transferierst & validierst ist dann wieder dir überlassen.
Obwohl ich hier auch ganz stark zu SQL tendiere, wenn die Fremdschlüssel bzw. Contrainst richtig definiert sind, reicht das doch.
Man könnte auch sagen dass SQL eine DSL für Relationale DBs ist... :roll:

Aber eine Access DB mit Java anlegen, sorry, das ist doch Quatsch.
 
M

maki

Gast
Access selbst zB..

Du musst doch nur die Tabellenstrukturen erzeugen (meine Meinung wie mann das ambesten macht kennst du ja bereits) und Tabellen mit Daten befüllen.
 

Verjigorm

Top Contributor
Ähm das soll ein Konvertierungstool werden.

Superbase rein, Access raus.
Wüsste nicht, wie ich da Access mit einbauen sollte...
 
M

maki

Gast
Ähm das soll ein Konvertierungstool werden.

Superbase rein, Access raus.
Wüsste nicht, wie ich da Access mit einbauen sollte...
Dir ist aber klar das das eben NICHT geht, oder?

Die DB muss bereits vorher erzeugt worden sein, erst dann kannst du sie als ODBC Datenquelle von Java aus mit der JDBC-ODBC Brücke nutzen.

Wenn du per Java SQL Befehle absetzen kannst die die Tabellenstruktur erzeugen und die Daten befüllen, reicht es doch, wenn du vorher mit Access die leere DB erzeugst und diese dann als Datenquelle einträgst.

(Abgesehen davon ist es genau das was ich meinte mit "wenn das im Alltag passiert trifft irgendwer seltsame Entscheidungen")
 

Verjigorm

Top Contributor
Es ist halt nicht eine leere DB, die erzeugt werden muss, sondern tausende und das halt dynamisch.

Aber mit einer dummy-mdb, die immer kopiert wird, geht es.
Dann kann ich die DB-Struktur, die ich vorher aus der superbase-tabelle ausgelesen und nachgebaut habe in die mdb stopfen und dann die Daten einfügen.

das Ganze halt dann in ner Schleife und warten bis der Rechner schlappmacht, es sind nämlich mehrere Terrabyte an Daten, die kopiert werden müssen ...
Über die 2GB-Beschränkung von Access denke ich erstmal garnicht nach
 

ARadauer

Top Contributor
Erster Ansatz war, ein neues File-Objekt anzulegen und mit createNewFile() die Datei zu erzeugen.

Aber Pustekuchen, die Datei wird zwar erzeugt, aber nicht als korrekte mdb-datei erkannt.
Es kommt dann die Fehlermeldung:
das meinst du nicht ernst oder?

Weil der Auftraggeber nunmal die Rahmenbedingungen festgelegt hat:

Windows Vista
Java 1.5
Migration von SuperbaseDatenbank -> Access 2003
manchmal muss man dem auftraggeber auch erklären können, dass das nix is...

ich würd sowas mit c# machen oder einfach eine andere db verwenden.....
 

Natorion

Bekanntes Mitglied
Entweder mit C# oder probier mal folgendes (keine Ahnung ob das geht):

-mach eine leer Access-DB mit Access
-kopier diese DB (zB meineDBTemp.mdb)
-Du hast jetzt zwei DBs
-registriere die Temp-DB als ODBC-Zeigs.
-Ruckelzuckel per ODBC/SQL/Java über die Temp-DB drüber
-Kopiere die Temp-DB dahin, wo du sie haben willst
-Überschreib die Temp-DB mit der leeren DB
-Goto 3 *G*

Wie gesagt, ka ob das funktioniert ... vielleicht lässt er dich die Datei garnit überschreiben.
 

Verjigorm

Top Contributor
@ARadauer: was nicht ernst meinen?

@Natorion: ähm das habe ich doch eigentlich schon so geschrieben (in mehrere Postings verteilt :) )
 

Natorion

Bekanntes Mitglied
Oh, der Post, was meinst mit "bis der rechner schlapp macht"? zerstörst (oder besser dereferenzierst) du nicht alle objekte die du erstellst und dein speicher wird voller und voller oder dauert das alles nur ewig?
 
T

Tommy65

Gast
Hallo,

>es sind nämlich mehrere Terrabyte an Daten

????

Dafür ist Access ja besonders gut geeignet. :cry:

>sondern tausende und das halt dynamisch.

Das ist in sich dann wieder logisch

Meines erachtens ist das großer Humbug... der Kunde ist falsch beraten worden, weil es eigentlich keinen vernünftigen Grund für so eine Vorgehensweise geben kann.

Unabhängig davon finde ich Dein Problem nicht sooo schwierig, da Du nur einmal eine "dummy" mdb braucht, die dann jeweils als Template dient und kopiert wird.

Bei dieser Vorgehensweise ist dann auch der Einsatz von Java möglich.

Irgendwo im Netz gibt es tatsächlich eine reine Java Lösung für den Zugriff auf Access ohne JDBC-ODBC-Bridge, aber auch die kann, wenn ich mich recht entsinne, keine mdbs erstellen.

Ich würde mir an Deiner Stelle trotzdem ein Workaround überlegen, das hört sich alles furchtbar umständlich an...
 

Landei

Top Contributor
Kleine Warnung noch: Mit der JdbcOdbc Bridge bekommst du keinen Unicode übertragen.
Ich habe das auf die harte Tour gelernt, als ich mal ein Programm schreiben wollte, das XML-Daten mit japanischer Schrift nach Access schaufeln sollte. Ging nicht. Und für alle Treiber, die das konnten, wurde (zumindest damals) eine pekuniäre Kompensation verlangt.
 
G

Guest

Gast
Microsoft stellt doch alles auf XML um.

Gilt das auch für die Abszess-Dateien?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Kann man, wenn man in DB2 Tabellen erstellt hat für dessen auch einen Command-File erstellen? Datenbankprogrammierung 1
J Jar File erstellen Datenbankprogrammierung 8
S Oracle DB-Connection in .jar file ändern Datenbankprogrammierung 11
T The database file is locked Datenbankprogrammierung 2
Trèfle Adobe Acrobat Indexdatei (.PDX File) einlesen Datenbankprogrammierung 1
Dimax MySQL LOAD DATA INFILE -id aus dem Code und Rest aus dem File. Datenbankprogrammierung 5
E Warum kann mein SQL-File nicht in DB2 ausgeführt werden? Datenbankprogrammierung 1
S CSV File in Datenbank speichern!? Datenbankprogrammierung 1
Y DB File Synchronisation Datenbankprogrammierung 6
G PostgreSQL jar-file läd db-treiber nicht Datenbankprogrammierung 6
C XML file zu groß Datenbankprogrammierung 2
F Input txt File Datenbankprogrammierung 5
S File lesen Datenbankprogrammierung 10
D CSV File als Datenbank verwenden (JDBC) Datenbankprogrammierung 4
E Dringend Hilfe Firebird/Jaybird verbindet nicht; im jar file Datenbankprogrammierung 4
A Zugriff auf Remote MySQL-DB mit JAR-File Datenbankprogrammierung 7
A Probleme mit Jar-File in ein Jar-File Datenbankprogrammierung 8
B JDBC txt File keine Row ID Datenbankprogrammierung 4
M java.sql.SQLException: Unable to open file Datenbankprogrammierung 2
E Jar File: NoClassDefFoundError: oracle/sql/ORAData Datenbankprogrammierung 2
G File nach Blob konvertieren ? Datenbankprogrammierung 6
P jar-File auswählen und Verbindung herstellen Datenbankprogrammierung 5
G How to put SQL query result into a file Datenbankprogrammierung 3
H File into blob Datenbankprogrammierung 3
T Datenbank: Tabelle erstellen bei Web-Applikation Datenbankprogrammierung 4
Zrebna Wie mittels Hibernate eine Join-Tabelle als eigene Java-Klasse erstellen? Datenbankprogrammierung 5
T Datenbank auf einer Webseite aus einer Exceltabelle erstellen Datenbankprogrammierung 5
L SQL Datenbank Tabelle erstellen Datenbankprogrammierung 6
claireannelage Automatisches Erstellen der gemammote Objekte in Entitäten Datenbankprogrammierung 8
M Sql Tabellen erstellen Datenbankprogrammierung 3
R Datenbanken erstellen Datenbankprogrammierung 3
G Eine Spalte in xampp als Typ array erstellen - ein array mit "insert" hinzufügen. Datenbankprogrammierung 3
M Oracle String aus Column splitten und x Rows daraus erstellen Datenbankprogrammierung 1
F Tabellen automatisch erstellen wenn sie nicht existieren Datenbankprogrammierung 6
S Beispiel-Blockchain + GUI mit Java erstellen Datenbankprogrammierung 0
Dimax Erstellen ResultSet und Statement Datenbankprogrammierung 30
X MySQL In MySQL Funktionen erstellen, wenn Zelle leer dann andere Zelle ändern? Datenbankprogrammierung 9
MrSnake Hilfe bei erstellen einer DB Datenbankprogrammierung 12
S Mit 2 Queries ein Objekt erstellen Datenbankprogrammierung 6
Z MySQL Session erstellen Datenbankprogrammierung 3
E Kann man in DB2 Boolean Spalten erstellen? Datenbankprogrammierung 1
E Warum kann ich keine Datenbank mit DB2 erstellen? Datenbankprogrammierung 2
M MySQL Tabellen dynamisch erstellen Datenbankprogrammierung 12
C Tabelle erstellen mit Apache JDBC-Util Datenbankprogrammierung 1
L Datenmodell erstellen für eine Nutzertanalyse Datenbankprogrammierung 1
M Connection erstellen Datenbankprogrammierung 1
K n:m Tabellen mit Hibernate erstellen Datenbankprogrammierung 1
F PAP erstellen Datenbankprogrammierung 0
C H2 Syntax fehler beim erstellen einer Tabelle Datenbankprogrammierung 4
M Grundlagen DB erstellen Datenbankprogrammierung 7
F MySQL Datenbank erstellen Datenbankprogrammierung 2
B Fremdschlüssel Constraint erstellen Datenbankprogrammierung 3
Z ER Diagramm erstellen (Entity-Relationship) Datenbankprogrammierung 4
P MySQL eine richtige Datenbank für einen routenplaner erstellen Datenbankprogrammierung 2
D MySQL Erstellen der richtigen Abfrage Datenbankprogrammierung 3
K JDBC- In Java "stored procedure" erstellen für DB2,OracleSql ... Datenbankprogrammierung 3
S Oracle Database 11g , eclipse , Tabelle erstellen Datenbankprogrammierung 2
2 MySQL Daten aus einer Array auslesen und MySQL Statment erstellen. Datenbankprogrammierung 5
J Access Datenbank mit JAVA erstellen - boolean Werte Datenbankprogrammierung 4
M Problem beim Erstellen einer Query Datenbankprogrammierung 7
P DatenBanken mit Netbeans erstellen Datenbankprogrammierung 17
J Erstellen der SessionFactory in Hibernate 4.1 Datenbankprogrammierung 2
P Mittels Java einen neuen MySQL User erstellen Datenbankprogrammierung 4
H SQLite Datenkbank erstellen Datenbankprogrammierung 3
I Zugriff auf Datenbank nach Erstellen einer Executable Jar Datei verweigert Datenbankprogrammierung 10
L Derby/JavaDB Fehler beim Erstellen einer Tabelle Datenbankprogrammierung 2
NoXiD Access Datenbank in java einbinden ohne ODBC treiber zu erstellen Datenbankprogrammierung 5
F Baumstruktur erstellen und Art Tabelle festhalten!? Datenbankprogrammierung 13
M Datenbank mit Hibernate erstellen Datenbankprogrammierung 5
D Datenbank erstellen werde einfach nicht schlau Datenbankprogrammierung 13
Y Datenbank erstellen Datenbankprogrammierung 22
I mit Java SQL Attribute / Tabellen erstellen Datenbankprogrammierung 17
C XLS Datei aus Datenbank erstellen Datenbankprogrammierung 14
P SQL Views mit java erstellen Datenbankprogrammierung 14
vandread mySQL Datenbank erstellen? Datenbankprogrammierung 4
M ParsingLogsTool erstellen... Datenbankprogrammierung 3
A Problem mit Erstellen der Verbindungs-URL mit der Datenbank Datenbankprogrammierung 2
M MySQL Datenbanktabelle erstellen Datenbankprogrammierung 10
N csv datei erstellen Datenbankprogrammierung 2
G Formulare erstellen Datenbankprogrammierung 2
G Entity Realtionship Model erstellen Datenbankprogrammierung 11
M JavaDB/Derby: Tabellen erstellen Datenbankprogrammierung 8
A Datenbankanwendung erstellen Datenbankprogrammierung 12
D Erstellen einer neuen Datenbank Datenbankprogrammierung 3
K Wo "Connection" Object erstellen? Datenbankprogrammierung 7
A DB erstellen und initialisieren Datenbankprogrammierung 2
G HSQLDB - kann mir jemand Packages erstellen? Datenbankprogrammierung 6
G H2: Erstellen von Datenbanken verhindern Datenbankprogrammierung 2
G Connection zu einer Oracle DB erstellen Datenbankprogrammierung 8
K Datenbank erstellen Datenbankprogrammierung 6
Z Verbindung unter Linux erstellen Datenbankprogrammierung 2
B ResultSet ohne Datenbank erstellen Datenbankprogrammierung 4
P Apache DERBY - Datanbank erstellen Datenbankprogrammierung 2
P Fehlermeldung beim Erstellen einer neuen Tabelle Datenbankprogrammierung 2
M Problem beim erstellen der DB Datenbankprogrammierung 3
T Leere *.mdb erstellen Datenbankprogrammierung 2
M Standardbrief erstellen Datenbankprogrammierung 3
A Offline ein Resultset mit Feldern erstellen Datenbankprogrammierung 7
T MySQL: Trigger und Prozeduren erstellen Datenbankprogrammierung 4
H Datenbank erstellen? Datenbankprogrammierung 12

Ähnliche Java Themen


Oben