Benutzer mit den meisten Antworten
Datenbanken - Vorgehensweise - MDF oder Access Datenbank

Frage
-
Hallo,
was ist der richtige Weg?
Ich habe...
- eine MDF Datei, möchte Daten schreiben, lesen, evtl. das Datenbankmodell erweitern.
- keine Northwind installiert.
- keinen SQL Server 2008 installiert.
- VS2008, C# Prof. installiert
A) Was benötige ich?
B) Was muss ich konkret installieren?
C) Wenn die Applikation fertig ist.
Was benötige ich dann auf Kundenseite, wenn nichts installiert ist.
Gibt es ein prägnante kurze gute Anleitung, gerne mit Beispielen,
ohne dass man ewig sucht und probiert.
Herzlichen Dank.
Grüße Andreasstatic void Main(string[] args)
{
string help2;
help2 = string.Format("Data Source=.\\SQLEXPRESS;AttachDbFilename=\"C:\\Beispiele\\Database\\ImageGallery.mdf\";Integrated Security=True;Connect Timeout=30;User Instance=True");
// SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=Northwind;Integrated Security=SSPI");
SqlConnection con = new SqlConnection(help2);
string strSQL = "SELECT Image_FileName, Image_Title FROM Images";
SqlDataAdapter da = new SqlDataAdapter(strSQL, con);
DataTable tbl = new DataTable();
da.Fill(tbl);
// Anzeige der Daten im lokalen Speicher
for (int i = 0; i < tbl.Rows.Count; i++)
{
DataRow row = tbl.Rows[i];
Console.WriteLine("{0,-35} {1} ", row[0], row[1]);
}
Console.ReadLine();
}
Antworten
-
Hallo Andreas,
um eine SQL Server Datenbank (mdf) nutzen zu können, musst Du SQL Server (ggfs. Express Edition) in der passenden Version installieren. Die Versionen sind nicht aufwärtskompatibel. Wenn Du die MDF also bspw. einmal in einem SQL Server 2008 R2 eingebunden hast, kannst Du diese nicht mehr in einem SQL Server 2008, 2005, 2000 verwenden. Umgekehrt geht das schon, dann aber (aus vorgenanntem Grund) nicht mehr in der vorherigen Version.
Northwind brauchst Du nicht, das ist nur eine Demodatenbank/Anwendung.
Auf dem Kundensystem ist dann ebenfalls ein SQL Server (ggfs. Express) in passender Version notwendig, der muss dann auch installiert werden.
Ansonsten ist auf dem Kundensystem dann nur das passende .NET Framework zu installieren, falls das noch nicht vorhanden ist.
Benutzerinstanzen (AttachDbFilename=...;User Instance=True) solltest Du, wann immer es geht, einfach sein lassen. Binde die mdf als feste Datenbank in die SQL Server Instanz ein (Anfügen), das ist in 99,9% aller Fälle der bessere Weg.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Andreas Bauer2 Samstag, 3. Dezember 2011 17:16
-
Hallo Andreas,
Die aktuelle SQL Server Express Ausgabe in den unterschiedlichen Verpackungen:
Microsoft® SQL Server® 2008 R2 SP1 - Express Edition
wobei man als Entwickler sich die Advanced Services installieren sollte.
Willst Du SQL Server Express an Deine Kunden weiter reichen, registriere Dich:
Register for SQL Server 2008 R2 Express Redistribution Rights
was auf eine Anerkennung der EULA hinausläuft.Es spielt keine Rolle, ob Du Visual Studio 2008 / 2010 - Express oder höher verwendest,
der .NET Provider ist beim Framework dabei.Mehr dazu: SQL Server und ADO.NET
Und ich würde Dich bitten davon auch mal etwas zu lesen -
Gruß Elmar
Deine Fragen sind seit mehreren Jahren fast unverändert.- Als Antwort markiert Andreas Bauer2 Samstag, 3. Dezember 2011 17:16
-
Hallo Andreas,
die Frage "Datenbankserver oder nicht" hängt von vielen Faktoren ab, die wir nicht kennen, da die Punkte je nach Anforderung mal mehr oder weniger wichtig sind.
Wenn Du nur eine sehr kleine Datenmenge hast, nicht viel filtern musst (also eher alle Datensätze laden und dann ggfs. per Code suchen, ...) und die Datenquellen exklusiv für deine Anwendungsinstanz vorhanden sind, reicht in der Regel auch eine Access DB, XML Dateien, ...
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Andreas Bauer2 Samstag, 3. Dezember 2011 20:11
Alle Antworten
-
Hallo Andreas,
um eine SQL Server Datenbank (mdf) nutzen zu können, musst Du SQL Server (ggfs. Express Edition) in der passenden Version installieren. Die Versionen sind nicht aufwärtskompatibel. Wenn Du die MDF also bspw. einmal in einem SQL Server 2008 R2 eingebunden hast, kannst Du diese nicht mehr in einem SQL Server 2008, 2005, 2000 verwenden. Umgekehrt geht das schon, dann aber (aus vorgenanntem Grund) nicht mehr in der vorherigen Version.
Northwind brauchst Du nicht, das ist nur eine Demodatenbank/Anwendung.
Auf dem Kundensystem ist dann ebenfalls ein SQL Server (ggfs. Express) in passender Version notwendig, der muss dann auch installiert werden.
Ansonsten ist auf dem Kundensystem dann nur das passende .NET Framework zu installieren, falls das noch nicht vorhanden ist.
Benutzerinstanzen (AttachDbFilename=...;User Instance=True) solltest Du, wann immer es geht, einfach sein lassen. Binde die mdf als feste Datenbank in die SQL Server Instanz ein (Anfügen), das ist in 99,9% aller Fälle der bessere Weg.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Andreas Bauer2 Samstag, 3. Dezember 2011 17:16
-
Hallo Andreas,
Die aktuelle SQL Server Express Ausgabe in den unterschiedlichen Verpackungen:
Microsoft® SQL Server® 2008 R2 SP1 - Express Edition
wobei man als Entwickler sich die Advanced Services installieren sollte.
Willst Du SQL Server Express an Deine Kunden weiter reichen, registriere Dich:
Register for SQL Server 2008 R2 Express Redistribution Rights
was auf eine Anerkennung der EULA hinausläuft.Es spielt keine Rolle, ob Du Visual Studio 2008 / 2010 - Express oder höher verwendest,
der .NET Provider ist beim Framework dabei.Mehr dazu: SQL Server und ADO.NET
Und ich würde Dich bitten davon auch mal etwas zu lesen -
Gruß Elmar
Deine Fragen sind seit mehreren Jahren fast unverändert.- Als Antwort markiert Andreas Bauer2 Samstag, 3. Dezember 2011 17:16
-
Hallo Elmar,
Danke. Mal habe ich eine Anfrage, dann kommt was dazwischen, dann kommt es mal wieder.
Deshalb kann schon sein, dass ich eine ähnliche Frage mal gestellt habe.
Ich will dann nur up to date sein.
Für mich stellt sich die Frage, wann mann es Sinn einen Overhead wie den SQL Server zu
installieren oder reicht nicht doch nur ein Dataset, XML Datei.
So ganz kann mir die Frage niemand beantworten.
Der Vorteil liegt auf der Hand, man braucht nichts installieren, nichts registrieren.
Grüße Andreas
-
Hallo Andreas,
die Frage "Datenbankserver oder nicht" hängt von vielen Faktoren ab, die wir nicht kennen, da die Punkte je nach Anforderung mal mehr oder weniger wichtig sind.
Wenn Du nur eine sehr kleine Datenmenge hast, nicht viel filtern musst (also eher alle Datensätze laden und dann ggfs. per Code suchen, ...) und die Datenquellen exklusiv für deine Anwendungsinstanz vorhanden sind, reicht in der Regel auch eine Access DB, XML Dateien, ...
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Andreas Bauer2 Samstag, 3. Dezember 2011 20:11