Creare un DB SQL da codice, è possibile?

mercoledì 12 ottobre 2005 - 17.18

Mauro01971 Profilo | Newbie

Ricaio, volevo sapere se potevo creare un DB SQL da cosice passando tutte le istruzioni dal "create database" alla fine.
Se sì, come posso fare?

Mauro01971 Profilo | Newbie

Ehm Ricao=Riciao :-)))

Brainkiller Profilo | Guru

Ciao,
puoi utilizzare la classe SqlCommand e passare man mano gli statement. Esempio in C# per creare un Database:

SqlConnection sqlconn=new SqlConnection("serveR=localhost;UID=user;PWD=pass");
sqlconn.Open();
string strsql="CREATE DATABASE Products ON ( NAME = prods_dat, FILENAME = 'c:\\tempprods.mdf', SIZE = 4, MAXSIZE = 10, FILEGROWTH = 1 )";
SqlCommand cmd=new SqlCommand(strsql,sqlconn);
cmd.CommandType=CommandType.Text;
cmd.ExecuteNonQuery();
sqlconn.Close();

Io però ti consiglio di creare uno script .sql di creazione database e lanciarlo con isql.exe o osql.exe come comando batch esterno.

Ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

Mauro01971 Profilo | Newbie

O.o io non conosco c# ma qualcosina di VB.net.... potresti tradurmelo?
Grazie.

Cteniza Profilo | Guru

Non credo che ci sia tanto da tradurre.
Il comando che devi dare è la stringa che ti è stata indicata (ho tolto il doppio \\ ma la sostanza non cambia)
"CREATE DATABASE Products ON ( NAME = prods_dat, FILENAME = 'c:\tempprods.mdf', SIZE = 4, MAXSIZE = 10, FILEGROWTH = 1 )"

Poi devi eseguirlo come un "normale" comando sql




Mauro01971 Profilo | Newbie

mmm ok ho capito, stesso discorso se devo creare le tabelle SQL?
Per esempio:

string strCreaTabella="CREATE TABLE miaTabella
(
campo1 [numeric](18, 0) IDENTITY (1, 1) NOT FOR REPLICATION NOT NULL primary key,
campo2 [varchar] (50)
Campo3 [varchar] (50)
)
ON PRIMARY



Cteniza Profilo | Guru

Si, se vuoi vedere un esempio (che hai già in casa) di come si fa
Sfoglia il TUO disco locale:
C:\Programmi\Microsoft Visual Studio .NET 2003\SDK\v1.1\Samples\Setup
Dentro ci trovi alcuni script sql che fanno tutto quello che ti serve.
Modificati opportunamente e salvati con un'altro nome li puoi aggiungere al tuo script di installazione ed eseguire da linea comandi oppure "a pezzi" inviare come commandtext su un tuo comando.


Mauro01971 Profilo | Newbie

ok grazzie !!!

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5