none
Access 2003 SQL Server: Kann Datenbank nicht öffnen

    Frage

  • Salü alle zusammen

    Ich habe eine MDB Datei und eine SQL Server Backup Datei bekommen. Mit der Backupdatei habe ich ein Restore in meinem SQL Server 2008 Express Edition gemacht. In der MDB Datei habe ich folgendes Codefragment gefunden:

        With DataConn
            .Provider = "Microsoft.Access.OLEDB.10.0"
            .Properties("Persist Security Info").Value = "False"
            .Properties("Data Source").Value = UEB_Path               ' 127.0.0.1\SQLEXPRESS
            .Properties("Initial Catalog").Value = UEB_Datei           ' Datenbankname myDB
            .Properties("Data Provider").Value = "SQLOLEDB"
            .Properties("User Id").Value = UEB_Benutzer
            .Properties("Password").Value = UEB_Kennwort
       
            .Open
        End With

    Beim öffnen der MDB wird nach Benutzer und Passwort gefragt, welcher gegenüber der Datenbank geprüft werden sollte, ich bekomme jedoch eine Fehlermledung "Allgemeiner Fehler" welcher vom einstigen Programmierer geschrieben wurde.

    Ich habe herausgefunden, dass bei .Open ein Error ausgelöst wird. [DBNETLIB][ConnectionOpen (Connect()).]SQL Server existiert nicht oder Zugriff verweigert.

    Meine Frage: Deutet das obige Code-Fragment darauf hin, dass die Datenbank auf den SQL Server zugreift oder ist das eher ein Zugriff auf eine Access Datenbank-Datei? Die DB war einst ohne SQL Server lauffähig und ich bin nicht sicher, ob ich die richtigen Dateien bekommen habe.

    Wenn dieser Code wirklich auf den SQL Server abzielt und die Fehlermeldung sagt, dass der Zugriff verweigert ist, was muss ich am SQL Server einstellen?

    Vielen Dank für Informationen
    Gruss Sabrina

    Dienstag, 13. Juli 2010 13:02

Antworten

Alle Antworten

  • Hallo Sabrina,

    Ich habe eine MDB Datei und eine SQL Server Backup Datei bekommen. Mit der Backupdatei habe ich ein Restore in meinem SQL Server 2008 Express Edition gemacht. In der MDB Datei habe ich folgendes Codefragment gefunden:

        With DataConn
            .Provider = "Microsoft.Access.OLEDB.10.0"
            .Properties("Persist Security Info").Value = "False"
            .Properties("Data Source").Value = UEB_Path               ' 127.0.0.1\SQLEXPRESS
            .Properties("Initial Catalog").Value = UEB_Datei           ' Datenbankname myDB
            .Properties("Data Provider").Value = "SQLOLEDB"
            .Properties("User Id").Value = UEB_Benutzer
            .Properties("Password").Value = UEB_Kennwort
       
            .Open
        End With

    Beim öffnen der MDB wird nach Benutzer und Passwort gefragt, welcher gegenüber der Datenbank geprüft werden sollte, ich bekomme jedoch eine Fehlermledung "Allgemeiner Fehler" welcher vom einstigen Programmierer geschrieben wurde.

    Ich habe herausgefunden, dass bei .Open ein Error ausgelöst wird. [DBNETLIB][ConnectionOpen (Connect()).]SQL Server existiert nicht oder Zugriff verweigert.

    Meine Frage: Deutet das obige Code-Fragment darauf hin, dass die Datenbank auf den SQL Server zugreift oder ist das eher ein Zugriff auf eine Access Datenbank-Datei?

    Nein, das ist ein Zugriff auf den SQL Server.

    Wenn dieser Code wirklich auf den SQL Server abzielt und die Fehlermeldung sagt, dass der Zugriff verweigert ist, was muss ich am SQL Server einstellen?

    Wenn hier ein spezieller Benutzer gefragt ist, musst Du nach Einspielen des Backups, im SQL Server noch den Benutzer anlegen, der sich dort anmeldet. Beim Backup einer Datenbank werden i.d.R. nur die Benutzer auf Datenbankebene wiederhergestellt, es fehlen allerdings die SQL Server Benutzer, die Du im Management Studio unter Server => Sicherheit anlegen kannst:

    Vorgehensweise: Erstellen einer SQL Server-Anmeldung
    http://technet.microsoft.com/de-de/library/aa337562.aspx


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    Dienstag, 13. Juli 2010 13:14
  • Lieber Thorsten

    Vielen lieben Dank für Deine Antwort.

    Ich habe im SQL Server ein Benutzer angelegt diesen der Datenbank zugeordnet und die Datenbankrollen AccessAdmin und Owner zugeteilt.

    Den Dienst SQL Server (SQLEXPRESS) habe ich neu gestartet.

    Leider bekomme ich noch immer die Fehlermeldung
    [DBNETLIB][ConnectionOpen (Connect()).]SQL Server existiert nicht oder Zugriff verweigert.

    Wenn ich vor .Open den ConnectionString abfrage, dann schaut der so aus:
    ConnectionString : "Provider=Microsoft.Access.OLEDB.10.0;Persist Security Info=False;Data Source=127.0.0.1\SQLEXPRESS;User ID=Meier;Initial Catalog=myDB;Data Provider=SQLOLEDB" : String : Md

    Müsste da nicht auch das Passwort noch irgendwo drinn stehen? Die beiden Werte wurden wie folgt übergeben, ist das richtig?

    With DataConn
    ...
            .Properties("User Id").Value = UEB_Benutzer
            .Properties("Password").Value = UEB_Kennwort

    Vielen lieben Dank für Hilfe...

    Gruss Sabrina

    Dienstag, 13. Juli 2010 13:43
  • Sabrina Sanders wrote:

    [DBNETLIB][ConnectionOpen (Connect()).]SQL Server existiert nicht oder
    Zugriff verweigert.

    Schau mal, ob der SQL Server Browser Service gestartet ist. Falls nicht,
    starte ihn und probier nochmal.

    Gruss - Peter


    Mitglied im http://www.dbdev.org
    FAQ: http://www.donkarl.com

    Dienstag, 13. Juli 2010 16:07
    Moderator
  • Lieber Peter, super vielen lieben Dank Dir (und auch allen Anderen), Ihr habt mir geholfen. Ich bin drinn. Meine DB startet. Ihr könnt Euch nicht vorstellen, wie glücklich ich bin.

    Ich wünsche Euch den schönsten Sommerabend dieser Woch.

    Viele liebe Grüsse

    Sabrina

    Dienstag, 13. Juli 2010 16:21