Datenbanken Problem



  • Hallo Leute,

    Ich habe in meinem MFC Programm eine Access Datenbank aufgenommen und steuere sie über ODBC an !!
    Das Öffnen und Arbeiten mit der Datenbank klappt wunderbar nur ich habe ein kleines Problem !!

    Ich möchte während das Programm geöffnet ist die ODBC Verbindung verändern um die Datenbank von einer andern stelle aus zu öffnen !!

    Das ändern der ODBC verbindung von c:\Daten auf d:\Daten klappt wunderbar.
    Ich schlisse also bevor ich das ändere die Datenbank mit m_pSet->Close();, ändere die ODBC Verbindung und wenn ich die Datenbank dann neu öffne ist es wieder c:\Daten obwohl im ODBC Verbindungsmanager von Windows d:\Daten steht !!!
    wen ich das Programm schließe und es neu öffne dann öffnet er mir die Datenbank von d:\Daten was ist mein Problem ???

    muss ich noch etwas schließen oder beenden um die Verbindung zu lösen ????

    Danke für eure Hilfe

    Coolsero



  • Hi,

    änderst du den DB-Pfad von deinem Programm aus, oder manuell über den ODBC Manager ???



  • Ich ändere den Pfad von meinem Programm aus !!!!



  • Also bei mir funzt es

    code:

    SQLConfigDataSource(NULL,
            ODBC_ADD_DSN,
            "Microsoft Access-Treiber (*.mdb)",
            "DSN=Deine DSN;"
            "Description=Deine Datenbank;"
            "FileType=Access;"
            "DBQ="Dein neuer Pfad";"
                "MaxScanRows=100;"
                 );
    

    [ Dieser Beitrag wurde am 19.02.2003 um 13:13 Uhr von goochie editiert. ]



  • Ja das änder des Pfades funst bei mir !!!

    Wenn ich aber dann die datenbank wieder öffne mit dem neuen Pfad dann öffnet er mir die Alte wieder und nicht die neue !!!!
    Erst wenn ich das Programm schließe und wieder öffne dann öffnet er mir die neue datenbank !!



  • Wie öffnest du die DB ???



  • Also ich habe einen Instanz vom CRecordset bei mir m_pSet und dann schließe ich sie mit m_pSet->Close();

    und öffne sie mit

    m_dSet->m_strSort = "ID";
    m_dSet->Open(CRecordset::snapshot,"Daten");

    Coolsero

    PS: Ich habe ehr das gefühl das sie nicht richtig geschlossen wird, weil wenn ich mit dem Explorer in das verzeichnis schaue wo die DB liegt dann ist da noch die Temporere datei mit der endung .ldb die erst verschwindet wenn ich das ganze programm schließe !!

    [ Dieser Beitrag wurde am 19.02.2003 um 14:52 Uhr von Coolsero editiert. ]



  • Hatt den keiner ne Idee ????



  • Hi,

    die einzige Idee, die mir in den Sinn kommt wäre folgende...

    Hast du schon mal probiert, anstatt der Pfadänderung, einfach ein zweite Datebankverbindung zu registrieren? Dann sollte es doch gehen, oder?

    Grüße, Volle.



  • IMHO öffnest du ein Recordset aber der Handle auf die DB ist noch da.
    Wie hast du die DB eingebunden. Mit ASSI?


Anmelden zum Antworten