Benutzer mit den meisten Antworten
Datenzugriffsfehler VB.NET Express 2010 auf SQL Server 2008 Express; Keine Verbindung zur DB möglich - Herabstufungspfad wird nicht unterstützt

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
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
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
-
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
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