Laden...

Wie kann ich eine .mdb-Datei komprimieren

Erstellt von tobi45f vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.556 Views
T
tobi45f Themenstarter:in
59 Beiträge seit 2017
vor 6 Jahren
Wie kann ich eine .mdb-Datei komprimieren

Hallo zusammen,

ich versuche über c# meine .mdb Datanbank zu komprimieren. Einige Codes habe ich gefunden aber funktionieren will das ganze leider nicht.


private void test()
        {
            string varDBString_Source = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= C:\\Users\t\\database.mdb";
            string varDBString_Dest =   "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= C:\\Users\\t\\databaseneu.mdb";
            JRO.JetEngine varDB = new JRO.JetEngine();
            varDB.CompactDatabase(varDBString_Source, varDBString_Dest);
            MessageBox.Show("Datenbank erfolgreich repariert und komprimiert !");
        }

->
"Ein Ausnahmefehler des Typs "System.Runtime.InteropServices.COMException" ist in Auto-Absicherung.exe aufgetreten.

Zusätzliche Informationen: Kein zulässiger Dateiname."

Kann mir jemand sagen, was hier falsch läuft?

Vielen Dank&
Grüße Tobias

D
985 Beiträge seit 2014
vor 6 Jahren

Hast du ein Verzeichnis C:\Users<TAB>?
(Das <TAB> ist ein Tabulatorzeichen)

T
tobi45f Themenstarter:in
59 Beiträge seit 2017
vor 6 Jahren

ne der Ordner heißt "t" + Zahl für die Konzern-ID
Wollte die jetzt nicht umbedingt hier rein schreiben, auch wenn man damit eigentlich nichts anfangen kann 😉
Da habe ich beim ersten Pfad wohl ein \ mit weggelöscht, beim zweiten sind ja beide \ da

16.831 Beiträge seit 2008
vor 6 Jahren

Und die Exception hat sicher keine Message oder InnerException?
Bin mir nicht sicher, ob das Leerzeichen nach der Zuweisung bei Compact legitim ist..

Korrekter (die Schreibweise) wäre trotzdem

string varDBString_Dest = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\t\databaseneu.mdb;";

[FAQ] Was bedeutet das @ (=at) vor String-Literalen? Und: Wissenswertes zu Escape-Sequenzen