Benutzer mit den meisten Antworten
Einbindung einer MS SQL Server 2008 Express Datenbankdatei schlägt fehl!

Frage
-
Hallo!
Ich habe mit MS SQL Server 2008 Express eine Datenbank eingerichtet. In den Optionen ist "Remotezugriff" aktiviert. Im Server Manager ist für den SQL Native Client 10.0 "Shared Memory" aktiviert, alles andere deaktiviert. Für die SQL Server-Netzwerkkonfiguration ist "VIA" deaktiviert, alles andere aktiviert.
Ich verwende die Windows-Authentifizierung bei meiner SQL Datenbank. Die Datenbank liegt auf diesem PC (also auf jenem PC, von dem aus ich auch auf die Datenbank mittels C# zugreifen will.
Ich starte also den Assistenten in MS Visual C# 2008 Express, wähle "Neue Datenquelle hinzufügen" --> "Datebank" --> "Neue Verbindung" --> "Datenquelle: Microsoft SQL Server-Datenbankdatei" --> "Datenbanbieter: .NET Framework-Datenanbieter für SQL Server" --> "Name der Datenbankdatei" --> "Durchsuchen" --> Wähle die Datenbank.mdf aus --> "Windows-Authentifizierung verwenden" und klicke dann auf "Testverbindung".
Ergebnis:
So, welche Einstellungen stimmen nicht? Ich selbst gebe ja keinen Instanznamen an, ich wähle ja nur die DB-Datei aus. Das heisst, verschrieben kann ich mich nirgendwo haben. Remotezugriff ist wie gesagt aktiviert.
Wäre wirklich dankbar für eure Hilfe!
Lg,
Tommy!
P.S.: Firewall habe ich zu Testzwecken komplett abgeschalten gehabt. Installiertes OS ist Vista x64.- Verschoben Mathias Schiffer Donnerstag, 2. April 2009 12:32
Antworten
-
Also, ich habe das Problem jetzt gelöst. Es war tatsächlich der falsche Connectionstring, der durch den Wizard erzeugt wurde. Da man das ./SQLEXPRESS nicht ändern kann, geh ich davon aus, dass man sich mit dem Wizard auch nur zur Standardinstanz verbinden kann.
Der String, der funktioniert lautet jetzt:
Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\Finanzen.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True
Der String, der nicht funktioniert hat war:
Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Program Files\Microsoft SQL Server\MSSQL10.UNTERNEHMEN\MSSQL\DATA\Finanzen.mdf";Integrated Security=True;Connect Timeout=10;Network Library=dbmslpcn;User Instance=True;Context Connection=False
Hier war also eine benannte Instanz namens "Unternehmen" im Spiel. Leider funktioniert nur die Standardinstanz SQLEXPRESS.
Lg,
Tommy!- Als Antwort markiert Mathias Schiffer Montag, 6. April 2009 06:52
Alle Antworten
-
Hilft Dir Punkt 4 des folgenden Dokuments?
http://download.microsoft.com/download/8/d/f/8df11b40-96c3-4c91-a8f7-d18cc3b4eb61/ReadmeSSMSE2005.htm#configure_remote -
Nicht so wirklich. Ich hatte Named Pipes und TCP/IP schon für den SQL Server aktiviert, aber das hat nicht geholfen.
Eine andere Frage:
Beim auswählen der Datenbank-Datei gibt es noch zusätzlich folgendes Konfigurtionsfenster:
http://img264.imageshack.us/img264/9879/instanz.jpg
Was genau ist mit Data Source gemeint? Das "Programm" SQL Server 2008 Express oder die Instanz? Ich habe nämlich NICHT die Standardinstanz bei der Installation genommen, sondern eine Benannte Instanz! Kann es sein, dass C# 2008 und SQL Server 2008 (beide Express) nur mit Standardinstanzen hantieren können? Muss ich vielleicht dort, wo jetzt ./SQLEXPRESS steht ./<COMPUTERNAME>/<NAME DER INSTANZ> angeben?
Das Problem ist, dass ich dort leider nichts reinschreiben kann. Die DropDown-Liste ist auch leer, wie man sieht. Mir sind also die Hände gebunden...
Den Connection String, den man im Wizard auch sieht, kann ich auch nicht bearbeiten...
Da würde das rauskommen:
Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Program Files\Microsoft SQL Server\MSSQL10.UNTERNEHMEN\MSSQL\DATA\Finanzen.mdf";Integrated Security=True;Connect Timeout=10;Network Library=dbmslpcn;User Instance=True;Context Connection=False
Ist da vielleicht schon irgendwo ein Fehler drin?
Kanns an x64 liegen? Habe aber extra die SQL Server 2008 Express With Advanced Services x64 runtergeladen und alle Komponenten installiert...
(Wie im Webcast beschrieben: http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032405658)
Vielleicht sollt ich den Hrn. Dröge mal anschreiben... -
Also, ich habe das Problem jetzt gelöst. Es war tatsächlich der falsche Connectionstring, der durch den Wizard erzeugt wurde. Da man das ./SQLEXPRESS nicht ändern kann, geh ich davon aus, dass man sich mit dem Wizard auch nur zur Standardinstanz verbinden kann.
Der String, der funktioniert lautet jetzt:
Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\Finanzen.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True
Der String, der nicht funktioniert hat war:
Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Program Files\Microsoft SQL Server\MSSQL10.UNTERNEHMEN\MSSQL\DATA\Finanzen.mdf";Integrated Security=True;Connect Timeout=10;Network Library=dbmslpcn;User Instance=True;Context Connection=False
Hier war also eine benannte Instanz namens "Unternehmen" im Spiel. Leider funktioniert nur die Standardinstanz SQLEXPRESS.
Lg,
Tommy!- Als Antwort markiert Mathias Schiffer Montag, 6. April 2009 06:52