Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Urgente! [C# Code] Comprimere/Riparare DB Access

    Buongiorno! direte voi...
    beh! ora posto e poi me ne vado a dormire...

    ho un problemino da nulla per voi...

    Come stracavolo faccio in C# a Comprimere/Riparare
    al volo sul Server un DataBase Access?


    Porzioni di codice [snipped sono molto ben accette]
    se poi ben commentate, cosi' che io possa illuminarmi
    {senza darmi fuoco ovviamente... :maLOL: }
    anche meglio

    Grazie! in anticipo a tutti
    {so gia' che qualche anima pia mi aiutera'in qualche modo...}

    PS : dimenticavo...
    tanto per non perdere il vizio... =>

  2. #2
    codice:
    public static void CompactAccessDB(string connectionString, string mdwfilename)
    {
        object[] oParams;
    
        //create an inctance of a Jet Replication Object
        object objJRO = 
          Activator.CreateInstance(Type.GetTypeFromProgID("JRO.JetEngine"));
    
        //filling Parameters array
        //cnahge "Jet OLEDB:Engine Type=5" to an appropriate value
        // or leave it as is if you db is JET4X format (access 2000,2002)
        //(yes, jetengine5 is for JET4X, no misprint here)
        oParams = new object[] {
            connectionString,
            "Provider=Microsoft.Jet.OLEDB.4.0;Data" + 
            " Source=C:\\tempdb.mdb;Jet OLEDB:Engine Type=5"};
    
        //invoke a CompactDatabase method of a JRO object
        //pass Parameters array
        objJRO.GetType().InvokeMember("CompactDatabase",
            System.Reflection.BindingFlags.InvokeMethod,
            null,
            objJRO,
            oParams);
    
        //database is compacted now
        //to a new file C:\\tempdb.mdw
        //let's copy it over an old one and delete it
    
        System.IO.File.Delete(mdwfilename);
        System.IO.File.Move("C:\\tempdb.mdb", mdwfilename);
    
        //clean up (just in case)
        System.Runtime.InteropServices.Marshal.ReleaseComObject(objJRO);
        objJRO=null;
    }

  3. #3

    Thanx!

    Suppongo che dovro' sostituire il path "C:\"
    con una mia cartella del sito altrimenti ho
    paura che il server si incavola un'attimino
    se cerco di accedere alla partizione C:


    Grazie Daniele per l'aiuto... e a buon rendere

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.