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

Logon Plesk

Ora dobbiamo selezionare il sito nel quale vogliamo creare il nostro database.

Seleziona sito

Nella schermata successiva selezioniamo "Database" nella sezione "Servizi"

Ora possiamo creare un nuovo database o decidere di operare su uno già presente

Crea db Seleziona DB

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.

Crea utenti, gestisci sito, esegui 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.