Come connettersi a Microsoft SQL Server
In questo articolo mostreremo tutti i passi necessari per poter operare con Microsoft Sql Server sempre, ovviamente, dal
punto di vista di coloro che usufruiscono dei servizi di hosting Windows di Serverweb.net
Prima di operare dobbiamo creare un nuovo database utilizzando Plesk, il pannello che ci permette di gestire i nostri siti Windows.
Colleghiamoci al pannello Plesk ricordando che lo troviamo alla porta 8443 del nostro sito (SSL). Esempio:
https://www.webvadis.com:8443
Una volta inseriti nome e password possiamo proseguire
Ora dobbiamo selezionare il sito nel quale vogliamo creare il nostro database.
Nella schermata successiva selezioniamo "Database" nella sezione "Servizi"
Ora possiamo creare un nuovo database o decidere di operare su uno già presente
A questo punto ci viene presentato un pannello con il quale possiamo creare nuovi utenti (definite qui almeno un utente),
amministrare il sito via Web per creare per esempio le tabelle ed eseguire i nostri Backup e Restore.
Una volta definito il database possiamo utilizzarlo nelle nostre pagine. Nel nostro esempio utilizziamo una connessione diretta e una
tramite SqlDataSource. Quest'ultimo viene utilizzato per visualizzare i dati all'interno di una GridView.
Per prima cosa abbiamo inserito un paio di righe nel nostro web.config per definire le stringhe di connessione al database.
Le stringhe sono due visto che una verrà utilizzata per i test in locale durante lo sviluppo e un'altra nell'ambiente di
produzione ServerWeb.net
1: <connectionStrings>
2: <add name="MsSqlLive" connectionString="Server=(local);Database=webvadis_ms;uid=webvadis_sa;pwd=thisisnottherealpsw;"
3: providerName="System.Data.SqlClient" />
4: <add name="MsSqlTest" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\demodb.mdf;Integrated Security=True;User Instance=True"
5: providerName="System.Data.SqlClient" />
6: </connectionStrings>
La prima, MsSqlLive, è quella che deve essere utilizzata per questo tipo di connessione. Ovviamente devono essere sostituiti i valori
relativi a nome del database (Database=), user (uid) e password (psw).
Database=webvadis_ms;uid=webvadis_sa;pwd=thisisnottherealpsw
Nel file .ASPX abbiamo inserito invece una gridview e un datasource che fa riferimento alla stringa di connessione appena definita.
1: <asp:Button runat="server" text="Esegui Query di Esempio" ID="ButtonRunQuery" />
2: <asp:GridView CssClass="gridview" runat="server" ID="MyGridView" />
3: <asp:SqlDataSource ID="MySqlDataSource" runat="server"
4: ConnectionString="<%$ ConnectionStrings:MsSqlLive %>"
5: SelectCommand="SELECT * FROM [tb_test] ORDER BY NAME" />
Al bottone che trovate in fondo a questa pagina abbiamo legato il codice mostrato di seguito.
1: Protected Sub ButtonRunQuery_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonRunQuery.Click
2: ' Stringhe di connessione
3: Dim cs As String = WebConfigurationManager.ConnectionStrings("MsSqlLive").ConnectionString
4:
5: Using Connection As New SqlConnection(cs)
6: ' Apro la connessione al DB
7: Connection.Open()
8: Dim Command As New SqlCommand()
9: Command.Connection = Connection
10:
11: ' Elimina tutti i dati nella tabella
12: Command.CommandText = "DELETE FROM TB_TEST"
13: Command.ExecuteNonQuery()
14:
15: ' Inserisci dati di esempio nella tabella
16: Command.CommandText = "INSERT INTO TB_TEST (NAME) VALUES(@name)"
17: Dim Param As New SqlParameter("@name", Data.SqlDbType.VarChar)
18: Command.Parameters.Add(Param)
19:
20: ' Definisco alcuni dati di esempio
21: Dim Names() As String = {"Grazia", "Barbara", "Rita", "Adele", "Roberta"}
22:
23: ' Inserisco i dati
24: For Each n As String In Names
25: Command.Parameters("@name").Value = n
26: Command.ExecuteNonQuery()
27: Next
28:
29: ' Ora possiamo legare la gridview alla connessione
30: Me.MyGridView.DataSourceID = Me.MySqlDataSource.ID
31: Me.MyGridView.DataBind()
32:
33: End Using
34: End Sub
Come vedete niente di particolare, a patto di conoscere VB.NET ovviamente.
Ora non rimane che cliccare per verificare che tutto stia funzionando correttamente.