Creazione di un database sql tramite c#

lunedì 28 gennaio 2008 - 16.49

davide89v Profilo | Newbie

Salve ragazzi sono nuovo del forum, mi spiegate come effettuare una connessione ad un database sql tramite il linguaggio di programmazione c#??
Il mio problema riguarda l'utilizzo dell'oggetto sqlconnection, non so cosa devo inserire come percorso dato che ci sono altri parametri come integrated security che non so cosa inserire...
ho inserito dei dati non sapendo se sono giusti o meno e non mi la connessione non me la apre nemmeno dandomi una eccezzione che dite il database sql non permette connessioni remote

poi vi volevo fare un altra domanda cosa mi consigliate come DBMS?

alx_81 Profilo | Guru

>Salve ragazzi
Ciao e benvenuto in DotNetHell!

>Il mio problema riguarda l'utilizzo dell'oggetto sqlconnection,
>non so cosa devo inserire come percorso dato che ci sono altri
>parametri come integrated security che non so cosa inserire...
>ho inserito dei dati non sapendo se sono giusti o meno e non
>mi la connessione non me la apre nemmeno dandomi una eccezzione
>che dite il database sql non permette connessioni remote
allora, per le connectionstring ti consiglio di guardare questo sito:

http://www.connectionstrings.com/

contiene tutte le connectionstring che ti servono per collegarti ad ogni db con ogni provider

Per quanto riguarda l'errore che ricevi, il problema è un altro. Le connessioni remote di default su sql server sono disabilitate.
Prova a dare una letta a questo post:

http://www.dotnethell.it/forum/messages.aspx?ThreadID=10971
>
>poi vi volevo fare un altra domanda cosa mi consigliate come DBMS?
Dipende dalle tue esigenze.
Sappi che SQL Server esiste anche free:

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=220549b5-0b07-4448-8848-dcc397514b41

Però, ripeto, dipende da quello che devi fare.

Alx81 =)

http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

davide89v Profilo | Newbie

Ho provato ad sbloccare le varie cose che mi hai scritto però non mi da il solito errore, ho deciso quindi di cambiare DBMS anche perchè ho letto che SQL express edition supporta solo connessioni in locale
Ho scelto MySQL, anche se tuttavia mi da comunque errore, forse sbaglio stringa di connessione nell'oggetto sqlconnection?

SqlConnection connessione = new SqlConnection("Data source=local; Integrated Security=SSPI; Initial Catalog=nomedatabase");

su initial catalog inserisco il nome del database che tuttavia ancora non è stato creato dovrei poi crearlo io una volta stabilita la connessione dopo che si collega al database master quello dove normalmente un oggetto sqlconnection si collega quando non ce alcun database esistente al quale crearsi.

alx_81 Profilo | Guru

>ho letto che SQL express edition supporta solo connessioni in locale
il post era riferito proprio a SQL Server Express e l'utente che ha scritto si è connesso correttamente in remoto.
Di default Express accetta connessioni locali, ma seguendo quei passi riesci a configurarlo per il remoto.
Hai controllato la porta su cui SQL Server si basa? E' fissa o dinamica? Hai configurato il firewall del sistema operativo?

>Ho scelto MySQL, anche se tuttavia mi da comunque errore, forse sbaglio stringa di connessione nell'oggetto sqlconnection?
Hai cambiato DBMS non posso più esserti di aiuto.
>
>SqlConnection connessione = new SqlConnection("Data source=local;
>Integrated Security=SSPI; Initial Catalog=nomedatabase");
Questa connectionstring è per sql server però e ti connette con la Windows authentication, è quello che ti serve?

>su initial catalog inserisco il nome del database che tuttavia
>ancora non è stato creato dovrei poi crearlo io una volta stabilita
>la connessione dopo che si collega al database master quello
>dove normalmente un oggetto sqlconnection si collega quando non
>ce alcun database esistente al quale crearsi.
Un momento.. non funziona proprio così.. la connectionstring ti permette di definire su che db connetterti e con quale autenticazione!!
non è che di default vai su master
Il SQLConnection usa quella connectionstring per connettersi ad un particolare db su di un particolare server (Data Source).
Come puoi pretendere che ti si connetta se il db non esiste ancora?
Alx81 =)

http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

davide89v Profilo | Newbie

Ho molte confusioni in ambito database, ho iniziato quest'anno a studiarlo

Allora, riepiloghiamo, io non ho alcun database creato
devo far si che sia il programma a crearmelo
e deve far si di poterlo creare sia in remoto che su un altro server
ora se microsoft sql server express edition (distribuito gratuittamente) permette di farlo me lo rimetto non ci sono problemi, me lo ero levato perchè pensavo che era quello che proprio non si poteva connettere...

Ora non avendo alcun database al quale collegarsi vorrei che si colleghi al master e poi crei il database in un percorso che decido io.

Faccio molte confusioni con le stringhe, ho iniziato da poco


Inoltre sono molto confuso ho disinstallato il dbms sql server per installare mysql ma quando da visual c# eseguo il debug del codice mi dice che SQL SERVER non accetta connessioni remote, MA COME?!! IO NON L'AVEVO DISISTALLATO?!!

alx_81 Profilo | Guru

>Allora, riepiloghiamo, io non ho alcun database creato
>devo far si che sia il programma a crearmelo
>e deve far si di poterlo creare sia in remoto che su un altro
>server
>ora se microsoft sql server express edition (distribuito gratuittamente)
>permette di farlo me lo rimetto non ci sono problemi, me lo ero
>levato perchè pensavo che era quello che proprio non si poteva
>connettere...
non è una funzionalità di Sql Server, è tua . Tu devi fare la connectionstring che ti fa connettere ad un database esistente (ad esempio master) e da lì, in base ai permessi che possiedi, puoi lanciare le istruzioni di CREATE DATABASE per costruirne uno nuovo.
Ma fammi capire bene, è proprio necessario che sia il programma a creartelo? non puoi utilizzare gli strumenti client di SQL Server (Management Studio) per creare il database?

>Inoltre sono molto confuso ho disinstallato il dbms sql server
>per installare mysql ma quando da visual c# eseguo il debug del
>codice mi dice che SQL SERVER non accetta connessioni remote,
>MA COME?!! IO NON L'AVEVO DISISTALLATO?!!
mi sa che c'è un po' di confusione ..
Fai così, partiamo piano piano e rispondi alle prime domande..

- è necessario crearlo dal programma? non puoi usare il client di sql server (management studio)?

ciao!

Alx81 =)

http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

davide89v Profilo | Newbie

E' necessario che lo crei il programma, perchè poi l'utente che lo userà non credo sia in grado di crearselo da se tramite un DBMS! E poi riuscire a stabilire anche una connessione...

alx_81 Profilo | Guru

>E' necessario che lo crei il programma, perchè poi l'utente che
>lo userà non credo sia in grado di crearselo da se tramite un
>DBMS! E poi riuscire a stabilire anche una connessione...
Ricordati che puoi pensare di crearlo da te e poi di eseguire un backup o uno script della struttura del database per poi eseguirlo sulla macchina del cliente.
Se però la necessità è quella di creare un db lato applicazione (scusami ma ancora non ho capito bene la situazione reale) devi utilizzare una connection string simile a questa (presa da www.connectionstrings.com):

Winauth
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

SQL Auth
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

una volta impostata la connection con questa stringa di connessione (myDataBase sarà "master") puoi eseguire il comando CREATE DATABASE:
http://technet.microsoft.com/it-it/library/ms176061.aspx

Se hai seguito i passi del post che ti ho passato nella prima risposta e quindi SQL Express è pronto a ricevere connessioni remote, puoi scrivere il codice ADO.net che ti serve facendo uso del namespace System.Data e System.Data.SQLClient:

System.Data Namespace
http://msdn2.microsoft.com/en-us/library/system.data.aspx

System.Data.SQLClient Namespace
http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.aspx

Con questi link ne hai da divertirti


Alx81 =)

http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

davide89v Profilo | Newbie

Grazie problema risolto
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