verwendetes Datenbanksystem: SQL Express 2008
Hi.
Ich versuche gerade "Datenbbank-Programmierung mit Visual C# 2008" zu lernen.
Nun habe ich ein Anfangs-Problem und weis nicht, wo ich nach einer Lösung suchen soll ...
(Mit der 1.Übung mit Acess hat alle geklappt)
Ich möchte über den Datenbank-Explorer eine Verbindung mit der (berühmten) Northwind.mdf herstellen. Bekomme aber immer die (riesen) Fehlermeldung
---------------------------
Microsoft Visual C# 2008 Express Edition
---------------------------
Bei CREATE FILE wurde beim Versuch, die physische Datei 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\northwnd_log.ldf' zu öffnen oder zu erstellen, der Betriebssystemfehler 5(Zugriff verweigert) erkannt.
Die neue 'C:\PROGRAM FILES\MICROSOFT SQL SERVER\MSSQL10.MSSQLSERVER\MSSQL\DATA\NORTHWND.MDF'-Datenbank konnte nicht geöffnet werden. CREATE DATABASE wird abgebrochen.
Fehler beim Anfügen einer automatisch benannten Datenbank für die Datei C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\northwnd.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.
Dateiaktivierungsfehler. Der physische Dateiname 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\northwnd_log.ldf' ist möglicherweise falsch.
---------------------------
OK
---------------------------
Habe es schon mit der "Holzhammer-Methode" probiert und für den ganzen SQL-Ordner in C:\Programme für "jeder" den Vollzugriff frei gegeben X( .
Außerdem habe ich alle Protokolle im "SQL-Server Configurations Manager" aktiviert.
Das dies nur mein privates Notebook ist, sind mir die Rechne nicht so wichtig, sondern nur dass es geht.
An welcher Schraube kann ich noch drehen oder was ist der richtige Ansatzpunkt, diese Zugriffsprobleme aus der Welt zu schaffen?
Ich habe leider noch kein passendes Stichwort gefunden 🙁
mfg Hajoseb
P.S. Bisher habe ich nur etwas gefunden, mit "Neu installieren" ... Ist das die Lösung?
**"Zufall ist das Pseudonym Gottes, wenn er nicht selbst unterschreiben will.” **
Anatole France
Hallo Hajoseb,
ist der Ordner vielleicht auch nur Schreibgeschützt?
Denn in dem Fall ist es egal ob du alle Rechte drauf hast oder nicht.
MfG
billy
Fehler beim Anfügen einer automatisch benannten Datenbank für die Datei C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\northwnd.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.
Kann es sein, dass du bereits eine Northwind Datenbank auf dem Server hast? Bitte auch mal prüfen ob die oben genannte Datei existiert.
Wie versuchst du die Datenbank anzulegen?
Unter welchem User-Account läuft dein SQL Server?
Grüße
Flo
Blog: Things about Software Architecture, .NET development and SQL Server
Twitter
Google+
Je mehr ich weiß, desto mehr weiß ich was ich noch nicht weiß.
Hallo, billy_the_kid.
Du hast recht. Der Schreibschutz ist gesetzt, aber es gelingt mir nicht diesen zu entfernen.
Der Rechner fragt dafür nach Admin-Rechten, läuft danach auch durch alle Dateien, aber nach der Aktion ist der Schreibschutz trotzdem noch/wieder drin.
Hallo, Florian.
Ich habe die Windows-Anmeldung.
Die Datenbank ist ja vorhanden. Merkwürdigerweise habe ich 2 Ordner, satt nur einen wie im Handbuch. (Siehe Bild).
habe erst SQL_Express installiert. Dann aber das ganze (wie im Buch beschrieben) nochmal über die Visual-Studio Express Installation
Jetzt gibt es
MSSQL10.MSSQLSERVER und
MSSQL10.SQLEXPRESS
in MSSQL10.MSSQLSERVE liegt die
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\northwnd.mdf
Ich möchte ja keine neue Datenbank anlegen, sondern die vorhandene nur über den Dantenbank-Explorer in ein neues Projekt erzeugen.
Im Buch steht man könnte die .mdf in den Projektmappen-Explorer ziehern, aber das klappt eben auch nicht ...
mfg Hajoseb
**"Zufall ist das Pseudonym Gottes, wenn er nicht selbst unterschreiben will.” **
Anatole France
Ach, jetzt verstehe ich (glaube ich 😁 ).
Erstmal zu deiner Installation. Du hast jetzt wohl SQL Server zweimal installiert, einmal als Named-Instanz mit dem Namen "SQLEXPRESS" und einmal als Standard-Installation ohne Instanz-Namen 😉.
Zum eigentlichen Problem...
Verwendest du Visual Studio Express Edition? Wenn ja, musst du leider die Datenbank am Server entfernen und sie dann über's Studio einbinden. Die VS-Express kann im Designer nicht direkt auf normale SQL Server Datenbanken zugreifen, sondern erwartet diese File-Schnittstelle...
Wenn du nicht mit VS-Express arbeitest kannst du die Datenbank-Files vergessen sobald die Datenbank mal am SQL Server angebunden ist. Hier wählst du einfach den Servernamen aus, gibst als Authentifizierung "Windows Authentication" an und sagst welche Datenbank. Wo die liegt ist da egal.
Grüße
Flo
Blog: Things about Software Architecture, .NET development and SQL Server
Twitter
Google+
Je mehr ich weiß, desto mehr weiß ich was ich noch nicht weiß.
Hallo Hajoseb,
dein Programm versucht eine neue Datenbank anzulegen. Eine Datenbank mit diesem Namen gibt es aber schon.
Gibt es einen Connectionstring in deinem Programm ? Lass in diesem mal den Eintrag weg, der die Datenbank anlegt.
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Ach, jetzt verstehe ich (glaube ich 😄 ).
Erstmal zu deiner Installation. Du hast jetzt wohl SQL Server zweimal installiert, einmal als Named-Instanz mit dem Namen "SQLEXPRESS" und einmal als Standard-Installation ohne Instanz-Namen 😉.
Zum eigentlichen Problem...
Verwendest du Visual Studio Express Edition? Wenn ja, musst du leider die Datenbank am Server entfernen und sie dann über's Studio einbinden. Die VS-Express kann im Designer nicht direkt auf normale SQL Server Datenbanken zugreifen, sondern erwartet diese File-Schnittstelle...Wenn du nicht mit VS-Express arbeitest kannst du die Datenbank-Files vergessen sobald die Datenbank mal am SQL Server angebunden ist. Hier wählst du einfach den Servernamen aus, gibst als Authentifizierung "Windows Authentication" an und sagst welche Datenbank. Wo die liegt ist da egal.
Grüße
Flo
Hm ...
ich werde also alle SQL-Programme deinstallieren und dann diese neu über die Installation des VS 2008 neu installieren.
thx.
Werde den Erfolg mal hier melden.
mfg Hajoseb
@ BerndFfm: Ich komme gar nicht dazu etwas im Studio zu machen, da die Verbindung an sich schon nicht klappt.
**"Zufall ist das Pseudonym Gottes, wenn er nicht selbst unterschreiben will.” **
Anatole France
Alsooo ....
Deinstallieren und (über Visual Studio Express C# 2008) neu installieren hat nichts gebracht. Die Fehlermeldung kommt weiterhin, wenn ich die northwind.mdf aus dem Microsoft-SQL-Verzeichnis verwenden möchte.
aber:
Als ich die northwind.mdf in das C:\Temp Verzeichnis kopiert habe (zum Test), klappt es auf einmal.
Ist das so richtig, die *mdf z.B. in das Projekt-Verzeichnis anzulegen/kopieren oder hab ich noch immer ein ungeklärtes Problem?
mfg Hajoseb
**"Zufall ist das Pseudonym Gottes, wenn er nicht selbst unterschreiben will.” **
Anatole France
Hast du mal versucht die Northwind "Dateien" unter "...\MSSQL\DATA" zu löschen?
Edit: Typo
Blog: Things about Software Architecture, .NET development and SQL Server
Twitter
Google+
Je mehr ich weiß, desto mehr weiß ich was ich noch nicht weiß.
Hast du mal versucht die Northwind "Dateien" unter "...\MSSQL\DATA" zu löschen?
Edit: Typo
Und dann?
**"Zufall ist das Pseudonym Gottes, wenn er nicht selbst unterschreiben will.” **
Anatole France
Ist nur ein Versuch (kannst sie natürlich auch umbenennen/verschieben), ich bin kein Pro wenn's um die Express Editions geht.
Du hast deine Northwind Datenbank ja in deinem Projekt-Ordner. Vielleicht hat der Server ein Problem damit, dass die Datei bereist vorhanden ist.
Blog: Things about Software Architecture, .NET development and SQL Server
Twitter
Google+
Je mehr ich weiß, desto mehr weiß ich was ich noch nicht weiß.