verwendetes Datenbanksystem: <sql2010>
Hallo, ich bräuchte einen Rat
Ich weiss, dass man in Visual Studio 2010 eine DB-Verbindung über ADO.NET Datamodell herstellen kann
in dem man als Datenquelle: SQL-Server auwählt und dann die gesuchte Datenbank.
Nun muss ich aber mit C# EXPRESS arbeiten, und da gibts so eine Auswahlt: SQL-SERVER nicht
Hab gelesen, da muss man irgendwas mit eine sql-instanz machen, habs aber nicht so recht verstanden
Wie muss ich das bei C# Express machen??
Danke im Voraus
Wenn du einen SqlServer ansprechen willst musst Du immer die Adress\Instanzname benutzen.
Der SqlServer kann mit und ohne Instanznamen installiert werden.
Der grosse wird std mässig ohne installiert, der express als "sqlexpress".
hhmm....wie mache ich das genau mit "Adress\Instanzname"??
Ich habe eine Lösung gefunden, die bei mir aber nicht funktioniert:
und mein String:
Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Programme\Microsoft SQL Server\MSSQL.1\MSSQL\Data\northwnd.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True
Fehler:
Die Expressversion für C# kann das einfach nicht.
Die einzige Expressverion, die den SQL Server ansprechen kann, ist der Web Developer.
@blr:
Dir fehlen leider so ziemlich alles an Grundlagen zum Sql Server, das es schwer wird das alles hier nachzuholen.
SqlServer ist eigentlich ein echter DB-Server was bedeutet das er nicht für den Zugriff per Dateinamen konzipiert worden ist, sondern er verwaltet die Datenbanken anhand der namen selber.
MS hat ( weil sie dachten dadurch einiges zu vereinfachen ) nur für den Express die Möglichkeit des AttachDBFilename geschaffen, was zur Laufzeit deiner SW eine DB an den Server hängt.
Wenn du dich also zur Northwind verbinden willst, die schon vom SQL Server verwaltet wird, musst du das ohne AttachDBFilename machen und stattdessen "Initial Catalog=Northwind" setzen.
Dann kommt allerdings das was Mabo sagte ins spiel, VS.NET Express kann das nicht in seinen Designern verarbeiten.
Hallo blr,
mit der Express-Version kannst Du nur einen lokal installierten SQL Server als Datenquelle verwenden. Dabei können die Datenbanken nur dynamisch über die Adressierung der Datenbankdatei angesprochen werden.
Bei Dir handelt es sich um eine sog. Benutzerinstanz (Angabe von "User Instance=True" in der Verbindungszeichenfolge).
Benutzerinstanz heißt, dass die Datenbank für einen einzelnen Benutzer isoliert läuft. Meistens möchte man eine zentrale SQL Server-Datenbank aber gemeinsam im Netzwerk verwenden. Das geht mit Benutzerinstanzen so nicht. Außerdem haben Benutzerinstanzen viele weitere Einschränkungen (Siehe dazu: http://msdn.microsoft.com/de-de/library/ms143684.aspx).
Du solltest prüfen, ob eine dienstbasierte (normale) SQL Server Datenbank für Dein Projekt nicht besser geeignet ist.
Die kannst Du zwar in Visual C# Express nicht als Datenquelle anlegen, da die Express-version das eben nicht unterstützt, aber Du kannst die Verbindung einfach per Code herstellen. Das geht immer. Infos dazu findest Du hier: http://msdn.microsoft.com/de-de/library/bb979090.aspx
danke schön an alle für die Aufklärung....
Stimmt, "Initial Catalog" wird bei der Angabe von Datenbank in manchen Connectionstrings verwendet.....
Ja, im Laufe diesen Tages hab ich schon festgestellt, dass das mit Express so nicht umsetzbar ist, deswegen liegt das auf der Hand, dass man das mit nem selbsterzeugtem code machen muss,
von daher ein besonderes an Reinbird, für den Link,
ich werde es mir anschaun und da werden mir bestimmt einige Fragen einfallen^^
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Hier auch noch Beispiele wie man eine Datenbank mit selbst geschriebenem Code anspricht :
http://www.seven-c.de/files/datenbankenhowto.htm
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3