none
Datenzugriffsfehler VB.NET Express 2010 auf SQL Server 2008 Express; Keine Verbindung zur DB möglich - Herabstufungspfad wird nicht unterstützt RRS feed

  • Frage

  • Ich habe auf einem 64Bit Windows-7 professional eine SQL Server Express 2008 DB installiert und das VB.NET 2010.

    Weiter habe ich mit SQL2008R2.All_Product_Samples_Without_DBs.x64 die Adventurworks-Sample DB's installiert.

    Im Microsoft Server Management Studio kann ich die Datenbanken verbinden und sehe die Tabellen und Inhalte.

    Entsprechend will ich nun DB von VB.net aus ansprechen.

    Nachdem alle Samples nicht korrekt funktionieren - es gibt ungelöste Probleme mit der Securenamedatei versuche ich folgendes Vorgehen gemäss Anleitung 

    Walkthrough: Connecting to Data in a SQL Server Express Database (Windows Forms)

    http://msdn.microsoft.com/en-us/library/ms171890.aspx

     

    Die Datenabank G:\LPNO.MSSQL\MSSQL10_50.LPNO_MSSQL\MSSQL\DATA\ADVENTUREWORKS_DATA:MDF-Datenbank kann nicht geöffnet werden, weil sie die Version 661 aufweist. Dieser Server unterstützt Version 655 und früher. Ein Herabstufungspfad wird nicht unterstützt- Die neue G:\LPNO.MSSQL\MSSQL10_50.LPNO_MSSQL\MSSQL\DATA\ADVENTUREWORKS_DATA:MDF-Datenbank konnte nicht geöffnet werden.

    CREATE DATABASE wird abgebrochen.

    Fehler beim Anfügen einer automatisch benannten Datenbank für die Datei

    G:\LPNO.MSSQL\MSSQL10_50.LPNO_MSSQL\MSSQL\DATA\AdventureWorks_Data.mdf. Eine Datenbank mit diesem Namen ist bereits vorhanden, die angegebene Datei kann nicht geöffnet werden, oder sie befindet sich in der UNC-Freigabe.

    Die Anmeldung erfolgt mit Windowsauthentifizierung, genau gleich wie auch beim 

    Microsoft Server Management Studio.

    Was ist zu tun damit der Datenbankzugriff korrekt erfolgt?

    Mfg Olippuner

    • Typ geändert olippuner Mittwoch, 1. Juni 2011 11:19 Laufzeitfehler VB.Net Datenzugriffsassistent
    Mittwoch, 1. Juni 2011 11:13

Antworten

  • Hallo Olippuner,

    kann es sein, das Du 2 SQL Server Express Instanzen am laufen hast; einmal 2008 und eine 2008R2?

    Also, Datenbank-Version 661 ist 2008R2, 665 ist 2008. Dem Verzeichnis MSQL10_50 & Versionsnummer nach ist die Datenbank mit 2008R2 erstellt worden. Der Fehlermeldung nach zu urteilen, soll die Datenbankdatei von VB.NET als User Instance (Benutzerinstanz) in einem SQL Server 2008 geladen werden; was beide Fehler auslöst, einmal wegen Version und einmal weil die Datenbankdateien in Benutzung sind (weil DB eingehängt ist).

    Poste doch mal den ConnectionString, da steht mit Sicherheit ein falscher Instanzenname und so was wie "User Instance=TRUE" und "AttachDBFile" drin.

     


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing
    • Als Antwort markiert olippuner Freitag, 10. Juni 2011 15:33
    Mittwoch, 1. Juni 2011 14:57

Alle Antworten

  • Hallo Olippuner,

    kann es sein, das Du 2 SQL Server Express Instanzen am laufen hast; einmal 2008 und eine 2008R2?

    Also, Datenbank-Version 661 ist 2008R2, 665 ist 2008. Dem Verzeichnis MSQL10_50 & Versionsnummer nach ist die Datenbank mit 2008R2 erstellt worden. Der Fehlermeldung nach zu urteilen, soll die Datenbankdatei von VB.NET als User Instance (Benutzerinstanz) in einem SQL Server 2008 geladen werden; was beide Fehler auslöst, einmal wegen Version und einmal weil die Datenbankdateien in Benutzung sind (weil DB eingehängt ist).

    Poste doch mal den ConnectionString, da steht mit Sicherheit ein falscher Instanzenname und so was wie "User Instance=TRUE" und "AttachDBFile" drin.

     


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing
    • Als Antwort markiert olippuner Freitag, 10. Juni 2011 15:33
    Mittwoch, 1. Juni 2011 14:57
  • Hallo Olaf

    Deine Frage hat ins schwarze getroffen. Im SQL-Serverkonfigurator sind tatsächlich zwei SQL-Server eingetragen. Der Server SQL-Express wurde offenbar bei der Installation von VB-Net Express 2010 gleich mitinstalliert. Diese Instanz wird auch gleich mit dem Rechnerstart gestartet.

    Gemäss Anleitung 

     

    Microsoft SQL Server 2008 CTP and Microsoft SQL Server 2005 Databases and Samples Overview

     

    http://sqlserversamples.codeplex.com/wikipage?title=SQLServerDatabasesandSamplesOverview&referringTitle=Home&ProjectName=sqlserversamples

    hatte ich dann die vermeintlich erste, effektiv aber zweite Instanz darüberinstalliert. Ich habe nun die erste Instanz gestoppt. Danach unter Verbindung hinzufügen unter Erweitert die Verbindungseigenschaften überprüft, woraus dann wohl u.a der Connectionstring gebaut wird.(Printscreen kann ich hier offenbar nicht einfügen). Nachdem ich dort dann auch die Datasource von  von .\SQLEXPRESS auf .\LPNOSQL geändert hatte funktionierte dann auch der Datenquellenwizard von VS2010 korrekt.

    Vielen Dank für die zielführende Frage. Nachdem somit die Lösung gefunden und das Problem gelöst ist, erscheint mir auch die kryptischen Fehlermeldungen irgendwie verständlicher.

    mfg, Othmar Lippuner

     

     

     


    mfg Othmar Lippuner
    Mittwoch, 1. Juni 2011 23:47