Benutzer mit den meisten Antworten
SQL-Datenbank erstellen

Frage
-
Hallo,
ich würde gerne folgendes machen: bei einer Anwendung, die ich schreiben möchte, soll der Nutzer nach der Installation der Software alle benötigten Parameter angeben und dann soll auf dem angegebenen SQL-Server eine Datenbank erstellt und der ConnectionString gespeichert werden. Ich habe noch keine genaue Idee, wie das Erstellen einer SQL-Datenbank funktioniert, aber ich könnte mir vorstellen, dass ich ein vorliegendes SQL-Skript zur Erstellung einer Datenbank dabei nutzen kann.Die für mich coolste Lösung wäre natürlich, dass der Nutzer einen Server angibt, dann wird der SQL-Server installiert und anschließend die Datenbank erstellt. Am besten noch während der Installation der Software.
Könntet Ihr mir ein paar Tipps/eine Guideline geben, wie ich so etwas anfangen kann? Tausend Dank im Voraus für Eure Hilfe!
Gruß
Marcus
Der erste Tag, an dem ich nichts Neues lerne, wird der Tag sein, an dem sich der Deckel über mir schließt...
Antworten
-
Hallo Marcus,
Zum Installieen des SQL Servers mit einer .NET Anwendung (und für ClickOnce) siehe u. a.
How to deploy SQL Server 2008 Express as a prerequisite with ClickOnce
Das Erstellen einer SQL Server Datenbank kann komplett über TRANSACT-SQL Befehle erfolgen -
denn für alles gibt es einen passenden Befehl in SQL (im Gegensatz z. B. zu Access / Jet).
Das Erstellungsskript kannst Du Dir z. B. über das SQL Server Management Studio erzeugen.Bei späteren Änderungen musst Du die Skripte selbst erstellen/anpassen, da man ja
seine Daten behaletn möchte, es geht aber ebenfalls alles in T-SQL.
Es gibt diverse (kostenpflichtige) Tools, die solche Skripte erstellen können,
neben anderen: http://www.red-gate.com/products/sql-development/sql-compare/Alternativ kannst Du die MDF selbst über AttachDBFilename anfügen, beschrieben unter:
Herstellen einer Verbindung mit SQL Server Express-Benutzerinstanzen (ADO.NET)Willst Du dem Benutzer die Möglichkeit geben einen bereits vorhandenen SQL Server zu verwenden,
so kannst Du die verfügbaren Instanzen über den SqlDataSourceEnumerator ermitteln, siehe
Aufzählen von SQL Server-Instanzen (ADO.NET)
Wobei die zu verwendende Instanz bei Skripten mindestens die von Dir verwendete haben sollte,
und bei AttachDbFileName haben muss.Die sich daraus ergebene Verbindungszeichenfolge solltest Du über die SqlConnectionStringBuilder-Klasse erstellen,
das vermeidet fehlerhafte Zeichenfolgen.Gruß Elmar
- Als Antwort vorgeschlagen Thorsten Dörfler Sonntag, 1. Mai 2011 13:11
- Als Antwort markiert Thorsten Dörfler Montag, 2. Mai 2011 08:34
Alle Antworten
-
Hallo Marcus,
Zum Installieen des SQL Servers mit einer .NET Anwendung (und für ClickOnce) siehe u. a.
How to deploy SQL Server 2008 Express as a prerequisite with ClickOnce
Das Erstellen einer SQL Server Datenbank kann komplett über TRANSACT-SQL Befehle erfolgen -
denn für alles gibt es einen passenden Befehl in SQL (im Gegensatz z. B. zu Access / Jet).
Das Erstellungsskript kannst Du Dir z. B. über das SQL Server Management Studio erzeugen.Bei späteren Änderungen musst Du die Skripte selbst erstellen/anpassen, da man ja
seine Daten behaletn möchte, es geht aber ebenfalls alles in T-SQL.
Es gibt diverse (kostenpflichtige) Tools, die solche Skripte erstellen können,
neben anderen: http://www.red-gate.com/products/sql-development/sql-compare/Alternativ kannst Du die MDF selbst über AttachDBFilename anfügen, beschrieben unter:
Herstellen einer Verbindung mit SQL Server Express-Benutzerinstanzen (ADO.NET)Willst Du dem Benutzer die Möglichkeit geben einen bereits vorhandenen SQL Server zu verwenden,
so kannst Du die verfügbaren Instanzen über den SqlDataSourceEnumerator ermitteln, siehe
Aufzählen von SQL Server-Instanzen (ADO.NET)
Wobei die zu verwendende Instanz bei Skripten mindestens die von Dir verwendete haben sollte,
und bei AttachDbFileName haben muss.Die sich daraus ergebene Verbindungszeichenfolge solltest Du über die SqlConnectionStringBuilder-Klasse erstellen,
das vermeidet fehlerhafte Zeichenfolgen.Gruß Elmar
- Als Antwort vorgeschlagen Thorsten Dörfler Sonntag, 1. Mai 2011 13:11
- Als Antwort markiert Thorsten Dörfler Montag, 2. Mai 2011 08:34
-