3. Appendici
3.1. Creazione di un progetto Web con Visual Studio.NET su Windows XP Home Edition
Visual Studio.NET consente di creare diversi tipi di progetti:

Per creare un progetto di applicazione Web, di norma si seleziona il tipo [Applicazione Web ASP.NET]. Questo tipo di progetto richiede un server Web IIS locale o remoto. Se si lavora su un computer con Windows XP, questo server non esiste e non può essere installato. Pertanto, non è possibile creare un progetto [Applicazione Web ASP.NET].
È possibile ovviare a questo problema accettando alcuni piccoli inconvenienti. È sufficiente:
- utilizzare il server Web Cassini al posto del server IIS. È disponibile gratuitamente sul sito Web di Microsoft.
- utilizzare un progetto [Libreria di classi] invece del progetto [Applicazione Web ASP.NET]
Creiamo un progetto semplice per mostrare come farlo.
- Creare un progetto [Libreria di classi]
![]() | ![]() |
- Elimina [Class1.vb]

- Aggiungi un nuovo elemento al progetto, di tipo [File di testo], e chiamalo [demo.aspx]:
![]() | ![]() |
- Il file [demo.aspx] viene riconosciuto come pagina web e ad esso viene associato un editor di pagine. Questo editor presenta due pannelli:
- [Design] per la creazione grafica della pagina
- [HTML] per accedere al codice HTML della pagina

- Selezionare [Visualizza/Codice] per visualizzare la sezione del codice VB della pagina. Non accade nulla. Non è possibile accedere al codice VB della pagina.
- Vai al riquadro [HTML] e inserisci il codice che collegherà la pagina [demo.aspx] al codice [demo.aspx.vb]:

- Richiedi la visualizzazione del codice di controllo associato alla pagina tramite [Visualizza codice - F7]. Verrà visualizzato il file [demo.aspx.vb]:

- La pagina [demo.aspx] viene ora riconosciuta come una pagina web [.aspx] con un file [.aspx.vb] associato.
- Torna al riquadro [Progettazione] di [demo.aspx] e progetta la pagina seguente:

La pagina contiene del testo e un componente server di tipo [Label] con l'identificatore [lblHeure].
- Passa al riquadro [HTML]. Lì troverai il seguente codice:
<%@ Page codebehind="demo.aspx.vb" inherits="demo.demo" autoeventwireup="false" Language="vb" %>
Démo ASPX, il est
<asp:Label id="lblHeure" runat="server"></asp:Label>
Questo codice è incompleto dal punto di vista della sintassi HTML. Completiamolo:
<%@ Page codebehind="demo.aspx.vb" inherits="demo.demo" autoeventwireup="false" Language="vb" %>
<html>
<head>
<title>démo ASPX</title></head>
<body>
Démo ASPX, il est
<asp:Label id="lblHeure" runat="server"></asp:Label>
</body>
</html>
- Passiamo al file [demo.aspx.vb] per scrivere il codice di controllo che imposterà l'ora nel componente [lblHeure]. Notiamo che questo non viene riconosciuto da IntelliSense, lo strumento di completamento del codice.
- Chiudiamo [demo.aspx] e [demo.aspx.vb] dopo averli salvati, quindi riapriamoli. Passiamo al codice in [demo.aspx.vb]. Questa volta, il componente [lblHeure] di [demo.aspx] viene riconosciuto da IntelliSense nel codice [demo.aspx.vb]. Completiamo il codice:

- Compilare il progetto selezionando [Build/Build demo]. Se la compilazione ha esito positivo, la DLL viene generata nella cartella [bin] del progetto:

- Siamo pronti per il test. Configuriamo il server Cassini (vedere il paragrafo successivo) come segue:

La destinazione del collegamento a Cassini è impostata come segue:
"E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812\WebServer.exe" /path:"D:\temp\07-04-05\demo" /vpath:"/demo"
il percorso dell'eseguibile | |
il percorso della cartella del progetto web di Visual Studio | |
il percorso virtuale associato |
- Avvia Cassini. L'icona appare nella barra delle applicazioni. Fai clic con il tasto destro del mouse su di essa e seleziona l'opzione [Mostra dettagli] per verificare che il server web sia configurato correttamente:

- Utilizzando un browser, richiedi la pagina che abbiamo creato inserendo l'URL [http://localhost/demo/demo.aspx]. Otteniamo il seguente risultato:

Abbiamo creato con successo un'applicazione web in Visual Studio utilizzando:
- un progetto [libreria di classi]
- il server web Cassini
Ora sappiamo come creare applicazioni web su computer che non dispongono del server IIS, come i computer con Windows XP Home Edition.
3.2. Dove si trova il server web Cassini?
Per lavorare con la piattaforma .NET di Microsoft, è possibile utilizzare il server Web Cassini. È disponibile tramite un prodotto chiamato [WebMatrix], un ambiente di sviluppo Web gratuito per piattaforme .NET disponibile all'indirizzo:

Seguire attentamente i passaggi di installazione del prodotto:
- scaricare e installare la piattaforma .NET (versione 1.1 a marzo 2004)
- scaricare e installare WebMatrix
- Scaricare e installare MSDE (Microsoft Data Engine), che è una versione limitata di SQL Server.
Una volta completata l'installazione, il prodotto [WebMatrix] è disponibile nell'elenco dei programmi installati:

Il collegamento [ASP.NET] Web Matrix avvia l'IDE di sviluppo ASP.NET:

Il collegamento [Class Browser] avvia uno strumento per esplorare le classi .NET:

Per verificare l'installazione, avviamo [WebMatrix]:
![]() |
All'avvio iniziale, [WebMatrix] richiede le specifiche del nuovo progetto. Questa è la sua configurazione predefinita. È possibile configurarlo in modo che questa finestra di dialogo non appaia all'avvio. È quindi possibile accedervi tramite l'opzione [File/Nuovo file]. [WebMatrix] consente di creare modelli per varie applicazioni web. In precedenza, al punto (1), abbiamo specificato che volevamo creare un'applicazione [Pagina ASP.NET], ovvero una pagina web. Al punto (2), specifichiamo la cartella in cui verrà inserita questa pagina web. Al punto (3), inseriamo il nome della pagina. Deve avere l'estensione .aspx. Infine, al punto (4), specifichiamo che vogliamo lavorare con il linguaggio VB.NET; [WebMatrix] supporta anche i linguaggi C# e J#. Una volta fatto questo, [WebMatrix] visualizza una pagina di modifica per il file [demo1.aspx]. Inseriamo lì il seguente codice:

- La scheda [Design] consente di "progettare" la pagina web che si desidera creare. Il funzionamento è simile a quello di un IDE per lo sviluppo di applicazioni Windows.
- La progettazione grafica della pagina web in [Design] genererà codice HTML nella scheda [HTML]
- La pagina web può contenere controlli che generano eventi che richiedono una risposta, come un pulsante. Questi eventi saranno gestiti dal codice VB.NET inserito nella scheda [Codice]
- In definitiva, il file demo1.aspx è un file di testo che combina codice HTML e codice VB.NET, risultante dalla progettazione grafica creata in [Design], dal codice HTML aggiunto manualmente in [HTML] e dal codice VB.NET inserito in [Code]. L'intero file è disponibile nella scheda [All].
- Uno sviluppatore ASP.NET esperto può creare il file demo1.aspx direttamente utilizzando un editor di testo senza l'ausilio di alcun IDE.
Selezioniamo l'opzione [All]. Possiamo vedere che [WebMatrix] ha già generato del codice:
<%@ Page Language="VB" %>
<script runat="server">
' Insert page code here
'
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<!-- Insert content here -->
</form>
</body>
</html>
Non tenteremo di spiegare questo codice in questa sede. Lo trasformeremo come segue:
<html>
<head>
<title>Démo asp.net </title>
</head>
<body>
Il est <% =Date.Now.ToString("hh:mm:ss") %>
</body>
</html>
Il codice sopra riportato è un mix di codice HTML e VB.NET. È stato inserito all'interno dei tag <% ... %>. Per eseguire questo codice, utilizziamo l'opzione [View/Start]. [WebMatrix] avvia quindi il server web Cassini se non è già in esecuzione

È possibile accettare i valori predefiniti proposti in questa finestra di dialogo e selezionare l'opzione [Avvia]. Il server web sarà quindi attivo. [WebMatrix] avvierà quindi il browser predefinito sul computer su cui è in esecuzione e richiederà l'URL http://localhost:8080/demo1.aspx:

È possibile utilizzare il server Cassini al di fuori di [WebMatrix]. L'eseguibile del server si trova in <WebMatrix>\<versione>\WebServer.exe, dove <WebMatrix> è la directory di installazione di [WebMatrix] e <versione> è il numero di versione:

Aprire una finestra del Prompt dei comandi e accedere alla cartella del server Cassini:
E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>dir
...
29/05/2003 11:00 53 248 WebServer.exe
...
Eseguiamo [WebServer.exe] senza alcun parametro:
Viene visualizzata una finestra di aiuto:

L'applicazione [WebServer], nota anche come server web Cassini, accetta tre parametri:
- /port: numero di porta del servizio web. Può essere un numero qualsiasi. Il valore predefinito è 80
- /path: il percorso fisico di una cartella sul disco
- /vpath: la cartella virtuale associata alla cartella fisica precedente. Si noti che la sintassi non è /path=path ma /vpath:path, contrariamente a quanto indicato nell'[Esempio] nel pannello di aiuto sopra.
Mettiamo il file [demo1.aspx] nella seguente cartella:

Associamo la cartella virtuale [/webmatrix] alla cartella fisica [d:\data\devel\webmatrix]. Il server web potrebbe essere avviato come segue:
E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>webserver /port:100 /path:"d:\data\devel\webmatrix" /vpath:"/webmatrix"
Il server Cassini è ora attivo e la sua icona appare nella barra delle applicazioni. Se si fa doppio clic su di essa:

Verranno visualizzate le impostazioni di avvio del server. È inoltre possibile arrestare [Stop] o riavviare [Restart] il server web. Se si fa clic sul link [Root URL], la radice dell'albero delle directory web del server verrà aperta in un browser:

Segui il link [demos]:

poi il link [demo1.aspx]:

Possiamo vedere che se la cartella fisica P=[d:\data\devel\webmatrix] è stata mappata alla cartella virtuale V=[/webmatrix] e il server è in esecuzione sulla porta 100, la pagina web [demo1.aspx], che si trova fisicamente in [P\demos], sarà accessibile localmente tramite l'URL [http://localhost:100/V/demos/demo1.aspx].
Per evitare di dover utilizzare una finestra DOS per avviare il server Cassini, è possibile creare un collegamento all'eseguibile del server con proprietà simili alle seguenti:

"C:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812\WebServer.exe" /port:80 /path:"D:\data\serge\work\2004-2005\aspnet\webarticles-010405\version3\web" /vpath:"/webarticles" | |
"C:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812" |
3.3. Dove posso trovare Spring?
Il sito web principale di Spring è [http://www.springframework.org/]. Questo è il sito per la versione Java. La versione .NET attualmente in fase di sviluppo (aprile 2005) è disponibile all'indirizzo [http://www.springframework.net/].

Il sito per il download si trova su [SourceForge]:

Una volta scaricato il file zip sopra indicato, decomprimilo:

In questo documento abbiamo utilizzato solo il contenuto della cartella [bin]:

In un progetto Visual Studio che utilizza Spring, è necessario eseguire sempre due operazioni:
- inserire i file sopra indicati nella cartella [bin] del progetto
- aggiungere un riferimento all'assembly [Spring.Core.dll] al progetto
3.4. Dove si trova NUnit?
Il sito web principale di NUnit è [http://www.nunit.org/]. La versione disponibile ad aprile 2005 è la 2.2.0:

Scarica questa versione e installala. L'installazione crea una cartella contenente l'interfaccia grafica di test:
La parte interessante si trova nella cartella [bin]:


La freccia sopra indica l'utilità di test grafica. L'installazione ha anche aggiunto nuovi elementi al repository degli assembly di Visual Studio, che esploreremo ora.
Creiamo il seguente progetto Visual Studio:

La classe sottoposta a test si trova in [Person.vb]:
Public Class Personne
' private fields
Private _nom As String
Private _age As Integer
' default builder
Public Sub New()
End Sub
' properties associated with private fields
Public Property nom() As String
Get
Return _nom
End Get
Set(ByVal Value As String)
_nom = Value
End Set
End Property
Public Property age() As Integer
Get
Return _age
End Get
Set(ByVal Value As Integer)
_age = Value
End Set
End Property
' identity chain
Public Overrides Function tostring() As String
Return String.Format("[{0},{1}]", nom, age)
End Function
' init method
Public Sub init()
Console.WriteLine("init personne {0}", Me.ToString)
End Sub
' close method
Public Sub close()
Console.WriteLine("destroy personne {0}", Me.ToString)
End Sub
End Class
La classe di test si trova in [NunitTestPersonne-1.vb]:
Imports System
Imports NUnit.Framework
<TestFixture()> _
Public Class NunitTestPersonne
' object tested
Private personne1 As Personne
<SetUp()> _
Public Sub init()
' create an instance of Person
personne1 = New Personne
' log
Console.WriteLine("setup test")
End Sub
<Test()> _
Public Sub demo()
' log screen
Console.WriteLine("début test")
' init person1
With personne1
.nom = "paul"
.age = 10
End With
' tests
Assert.AreEqual("paul", personne1.nom)
Assert.AreEqual(10, personne1.age)
' log screen
Console.WriteLine("fin test")
End Sub
<TearDown()> _
Public Sub destroy()
' follow-up
Console.WriteLine("teardown test")
End Sub
End Class
Alcune cose da notare:
- ai metodi vengono assegnati attributi quali <Setup()>, <TearDown()>, ...
- affinché questi attributi vengano riconosciuti, devono sussistere le seguenti condizioni:
- il progetto fa riferimento all'assembly [nunit.framework.dll]
- la classe di test importa lo spazio dei nomi [NUnit.Framework]
Il riferimento viene aggiunto facendo clic con il tasto destro del mouse su [Riferimenti] in Esplora soluzioni:
![]() | ![]() |

L'assembly [nunit.framework.dll] dovrebbe essere presente nell'elenco se l'installazione di [NUnit] è andata a buon fine. È sufficiente fare doppio clic sull'assembly per aggiungerlo al progetto:

Una volta fatto ciò, la classe di test [NunitTestPersonne] deve importare lo spazio dei nomi [NUnit.Framework]:
Gli attributi della classe di test [NunitTestPersonne] dovrebbero quindi essere riconosciuti.
- L'attributo <Test()> indica un metodo da testare
- L'attributo <Setup()> indica il metodo da eseguire prima di ogni metodo sottoposto a test
- L'attributo <TearDown()> indica il metodo da eseguire dopo ogni metodo sottoposto a test
- Il metodo Assert.AreEqual consente di verificare l'uguaglianza di due entità. Esistono molti altri metodi del tipo Assert.xx.
- L'utilità NUnit interrompe l'esecuzione di un metodo testato non appena un metodo [Assert] fallisce e visualizza un messaggio di errore. In caso contrario, visualizza un messaggio di successo.
Configuriamo il nostro progetto per generare una DLL:

La DLL generata si chiamerà [nunit-demos-1.dll] e verrà collocata per impostazione predefinita nella cartella [bin] del progetto. Compiliamo il nostro progetto. Nella cartella [bin] otteniamo quanto segue:

Ora avviamo l'utilità di test grafica di NUnit. Ricordiamo che si trova in <Nunit>\bin e si chiama [nunit-gui.exe]. <Nunit> si riferisce alla cartella di installazione [Nunit]. Viene visualizzata la seguente interfaccia:

Utilizziamo l'opzione di menu [File/Open] per caricare la DLL [nunit-demos-1.dll] dal nostro progetto:

[Nunit] è in grado di rilevare automaticamente le classi di test contenute nella DLL caricata. In questo caso, individua la classe [NunitTestPersonne]. Visualizza quindi tutti i metodi della classe che presentano l'attributo <Test()>. Il pulsante [Esegui] consente di eseguire i test sull'oggetto selezionato. Se si tratta della classe [NunitTestPersonne], vengono testati tutti i metodi visualizzati. È possibile testare un metodo specifico selezionandolo e facendo clic su [Run]. Eseguiamo la classe:

Un test riuscito su un metodo è indicato da un punto verde accanto al metodo nella finestra di sinistra. Un test fallito è indicato da un punto rosso.
La finestra [Console.Out] sulla destra mostra l'output sullo schermo prodotto dai metodi testati. In questo caso, volevamo seguire l'andamento di un test:
- La riga 1 mostra che il metodo dell'attributo <Setup()> viene eseguito prima del test
- Le righe 2–3 sono generate dal metodo [demo] sottoposto a test (vedi il codice sopra)
- La riga 4 mostra che il metodo dell'attributo <TearDown()> viene eseguito dopo il test
3.5. Dove posso trovare il DBMS Firebird ?
Il sito web principale di Firebird è [http://firebird.sourceforge.net/]. La pagina dei download offre i seguenti link (aprile 2005):

Scaricherai i seguenti elementi:
il DBMS per Windows | |
una libreria di classi per applicazioni .NET che consente l'accesso al DBMS senza utilizzare un driver ODBC. | |
il driver ODBC di Firebird |
Installare questi componenti. Il DBMS viene installato in una cartella con contenuti simili ai seguenti:

I file binari si trovano nella cartella [bin]:

consente di avviare/arrestare il DBMS | |
client a riga di comando per la gestione dei database |
Si noti che, per impostazione predefinita, l'amministratore del DBMS si chiama [SYSDBA] e la password è [masterkey]. Sono stati aggiunti dei menu a [Start]:

L'opzione [Firebird Guardian] consente di avviare/arrestare il DBMS. Dopo l'avvio, l'icona del DBMS rimane nella barra delle applicazioni di Windows:
![]() |
Per creare e gestire i database Firebird utilizzando il client da riga di comando [isql.exe], è necessario leggere la documentazione inclusa con il prodotto nella cartella [doc]. Un modo più veloce per lavorare con Firebird è utilizzare un client grafico. Uno di questi client è IB-Expert, descritto nella sezione seguente.
3.6. Dove posso trovare IB- Expert?
Il sito web principale di Firebird è [http://www.ibexpert.com/]. La pagina dei download offre i seguenti link:

Selezionare la versione gratuita [Personal Edition]. Una volta scaricata e installata, si avrà a disposizione una cartella simile alla seguente:

Il file eseguibile è [ibexpert.exe]. Di solito nel menu [Start] è disponibile un collegamento:

Una volta avviato, IBExpert visualizza la seguente finestra:

Utilizzare l'opzione [Database/Crea database] per creare un database:

può essere [locale] o [remoto]. In questo caso, il nostro server si trova sulla stessa macchina di [IBExpert]. Quindi scegliamo [locale] | |
Utilizza il pulsante [cartella] nel menu a tendina per selezionare il file del database. Firebird memorizza l’intero database in un unico file. Questo è uno dei suoi vantaggi. Puoi trasferire il database da un computer all’altro semplicemente copiando il file. Il suffisso [.gdb] viene aggiunto automaticamente. | |
SYSDBA è l'amministratore predefinito per le attuali distribuzioni di Firebird | |
masterkey è la password dell'amministratore SYSDBA nelle attuali distribuzioni di Firebird | |
il dialetto SQL da utilizzare | |
Se questa casella è selezionata, IBExpert visualizzerà un collegamento al database dopo che è stato creato |
Se, quando si fa clic sul pulsante [OK] per creare il database, viene visualizzato il seguente avviso:

significa che non hai avviato Firebird. Avvialo. Apparirà una nuova finestra:

[IBExpert] è in grado di gestire vari DBMS derivati da Interbase. Seleziona la versione di Firebird che hai installato |
![]()
Una volta confermata questa nuova finestra cliccando su [Registra], vedrai il seguente risultato:

Per accedere al database creato, è sufficiente fare doppio clic sul relativo collegamento. IBExpert visualizzerà quindi una struttura ad albero che consente di accedere alle proprietà del database:

Creiamo una tabella. Fare clic con il tasto destro del mouse su [Tabelle] e selezionare l'opzione [Nuova tabella]. Apparirà la finestra di definizione delle proprietà della tabella:
![]() |
Iniziamo assegnando alla tabella il nome [ARTICLES] utilizzando il campo di immissione [1]:
![]() |
Utilizza il campo di immissione [2] per definire una chiave primaria [ID]:
![]() |
Per impostare un campo come chiave primaria, fare doppio clic sul campo [PK] (Chiave primaria). Aggiungiamo dei campi utilizzando il pulsante [3]:

Finché non avremo "compilato" la nostra definizione, la tabella non verrà creata. Utilizza il pulsante [Compila] in alto per finalizzare la definizione della tabella. IBExpert prepara le query SQL per generare la tabella e richiede una conferma:

È interessante notare che IBExpert visualizza le query SQL che ha eseguito. Ciò consente di apprendere sia il linguaggio SQL che qualsiasi dialetto SQL proprietario che possa essere utilizzato. Il pulsante [Commit] convalida la transazione corrente, mentre [Rollback] la annulla. In questo caso, la accettiamo cliccando su [Commit]. Una volta fatto ciò, IBExpert aggiunge la tabella creata alla nostra struttura ad albero del database:

Facendo doppio clic sulla tabella, possiamo accedere alle sue proprietà:

Il pannello [Constraints] ci permette di aggiungere nuovi vincoli di integrità alla tabella. Apriamolo:

Vediamo il vincolo di chiave primaria che abbiamo creato. Possiamo aggiungere altri vincoli:
- chiavi esterne [Foreign Keys]
- vincoli di integrità dei campi [Controlli]
- vincoli di unicità dei campi [Uniques]
Nota:
- i campi [ID, PRICE, CURRENTSTOCK, MINIMUMSTOCK] devono essere >0
- il campo [NAME] deve essere non vuoto e univoco
Aprire il pannello [Controlli] e fare clic con il tasto destro del mouse nell'area di definizione dei vincoli per aggiungere un nuovo vincolo:

Definiamo i vincoli desiderati:

Si noti che il vincolo [NAME<>''] utilizza due virgolette singole, non doppie. Compilare questi vincoli utilizzando il pulsante [Compila] in alto:

Ancora una volta, IBExpert dimostra la sua facilità d'uso visualizzando le query SQL che ha eseguito. Passiamo ora al pannello [Constraints/Unique] per specificare che il nome deve essere univoco:

Definiamo il vincolo:

Compiliamolo. Una volta fatto ciò, apriamo il pannello [DDL] per la tabella [ARTICLES]:

Questo pannello mostra il codice SQL per generare la tabella con tutti i suoi vincoli. Puoi salvare questo codice in uno script per eseguirlo in un secondo momento:
SET SQL DIALECT 3;
SET NAMES NONE;
CREATE TABLE ARTICLES (
ID INTEGER NOT NULL,
NOM VARCHAR(20) NOT NULL,
PRIX DOUBLE PRECISION NOT NULL,
STOCKACTUEL INTEGER NOT NULL,
STOCKMINIMUM INTEGER NOT NULL
);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_ID check (ID>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_PRIX check (PRIX>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_STOCKACTUEL check (STOCKACTUEL>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_STOCKMINIMUM check (STOCKMINIMUM>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_NOM check (NOM<>'');
ALTER TABLE ARTICLES ADD CONSTRAINT UNQ_NOM UNIQUE (NOM);
ALTER TABLE ARTICLES ADD CONSTRAINT PK_ARTICLES PRIMARY KEY (ID);
È ora il momento di inserire i dati nella tabella [ARTICLES]. Per farlo, utilizzare il pannello [Dati]:

I dati vengono inseriti facendo doppio clic sui campi di immissione di ciascuna riga della tabella. Una nuova riga viene aggiunta utilizzando il pulsante [+], mentre una riga viene eliminata utilizzando il pulsante [-]. Queste operazioni vengono eseguite all'interno di una transazione che viene confermata utilizzando il pulsante [Conferma transazione]. Senza questa conferma, i dati andranno persi.
IBExpert consente di eseguire query SQL tramite l'opzione [Strumenti/Editor SQL] o [F12]. Ciò consente di accedere a un editor avanzato di query SQL dove è possibile eseguire le query. Queste vengono salvate, quindi è possibile rivedere una query già eseguita. Ecco un esempio:

Eseguiamo la query SQL utilizzando il pulsante [Execute] in alto. Otteniamo il seguente risultato:

Concludiamo qui la nostra dimostrazione. La combinazione IBExpert-Firebird si rivela eccellente per l'apprendimento dei database.
3.7. Installazione e utilizzo di un driver ODBC per [Firebird]
3.8. Installazione del driver
Il link [firebird-odbc-provider] nella pagina dei download di [Firebird] (sezione 3.5) consente di scaricare un driver ODBC. Una volta installato, questo compare nell'elenco dei driver ODBC installati.
3.9. Creare un'origine dati ODBC
- Avviare lo strumento [Start -> Impostazioni -> Strumento di configurazione -> Strumenti di amministrazione -> Origini dati ODBC]:

- Viene visualizzata la seguente finestra:

- Fare clic su [Aggiungi] per aggiungere una nuova origine dati di sistema (nel riquadro [DSN di sistema]) che assoceremo al database Firebird creato nella sezione precedente:

- Per prima cosa, dobbiamo specificare il driver ODBC da utilizzare. Sopra, selezioniamo il driver per Firebird e poi clicchiamo su [Fine]. A questo punto subentra la procedura guidata del driver ODBC di Firebird:

- Compiliamo i vari campi:

il nome DSN della sorgente ODBC — può essere qualsiasi cosa | |
il nome del database Firebird da utilizzare — utilizzare [Sfoglia] per selezionare il file .gbd corrispondente | |
il nome utente da utilizzare per connettersi al database | |
la password associata a questo nome utente |
Il pulsante [Verifica connessione] consente di verificare la validità delle informazioni inserite. Prima di utilizzarlo, avviare il DBMS [Firebird]:

- Confermare la procedura guidata ODBC facendo clic su [OK] tutte le volte necessarie
3.10. Verifica la sorgente ODBC
Esistono vari modi per verificare che una sorgente ODBC funzioni correttamente. In questo caso, useremo Excel:

- Utilizza l'opzione [Dati -> Dati esterni -> Crea query] sopra. Si aprirà la prima finestra della procedura guidata di definizione dell'origine dati. Il riquadro [Database] elenca le origini ODBC attualmente definite sul computer:

- Seleziona l'origine ODBC [odbc-firebird-articles] che abbiamo appena creato e passa al passaggio successivo facendo clic su [OK]:

- Questa finestra elenca le tabelle e le colonne disponibili nella sorgente ODBC. Selezioneremo l'intera tabella:

- Passare al passaggio successivo facendo clic su [Avanti]:

- Questo passaggio ci permette di filtrare i dati. In questo caso, non filtreremo nulla e passeremo al passaggio successivo:

- Questo passaggio ci permette di ordinare i dati. Non lo faremo e passeremo al passaggio successivo:

- L'ultimo passaggio ci chiede cosa vogliamo fare con i dati. Qui, li esportiamo in Excel:

- Qui, Excel ci chiede dove vogliamo inserire i dati recuperati. Li inseriamo nel foglio attivo a partire dalla cella A1. I dati vengono quindi recuperati nel foglio Excel:

Esistono altri modi per verificare la validità di una sorgente ODBC. Ad esempio, è possibile utilizzare la suite gratuita OpenOffice disponibile all'indirizzo [http://www.openoffice.org]. Ecco un esempio che utilizza OpenOffice:
![]() | ![]() |
- Un'icona sul lato sinistro della finestra di OpenOffice consente di accedere alle origini dati. L'interfaccia cambia quindi per visualizzare un'area di gestione delle origini dati:

- È predefinita una fonte di dati: la fonte [Bibliografia]. Facendo clic con il tasto destro del mouse sull'area delle fonti di dati è possibile crearne una nuova utilizzando l'opzione [Gestisci fonti di dati]:

- Una procedura guidata [Gestione delle origini dati] consente di creare origini dati. Facendo clic con il tasto destro del mouse sull'area delle origini dati è possibile crearne una nuova utilizzando l'opzione [Nuova origine dati]:

Qualsiasi nome. Qui abbiamo utilizzato il nome della sorgente ODBC | |
OpenOffice supporta vari tipi di database tramite JDBC, ODBC o direttamente (MySQL, Dbase, ecc.). Per il nostro esempio, selezionare ODBC | |
Il pulsante a destra del campo di immissione consente di accedere all'elenco delle origini ODBC presenti sul computer. Selezioniamo l'origine [odbc-firebird-articles] |
- Passiamo al pannello [ODBC] per definire l'utente con le cui credenziali verrà effettuata la connessione:

Il proprietario della sorgente ODBC |
- Vai al pannello [Tabelle]. Ti verrà richiesta la password. In questo caso è [masterkey]:

- Fare clic su [OK]. Verrà quindi visualizzato l'elenco delle tabelle presenti nell'origine ODBC:

- È possibile selezionare le tabelle da visualizzare nel documento [OpenOffice]. In questo caso, selezioniamo la tabella [ARTICLES] e facciamo clic su [OK]. La definizione dell'origine dati è completa. Appare quindi nell'elenco delle origini dati per il documento attivo:

- È possibile trascinare la tabella [ARTICLES] dall'alto nel documento [OpenOffice] utilizzando il mouse:

3.11. Stringa di connessione per una fonte ODBC Firebird
- Avviare Visual Studio e aprire Server Explorer [Visualizza/Server Explorer]:
![]() |
- Fare clic con il pulsante destro del mouse su [Connessione dati] e selezionare l'opzione [Aggiungi connessione]:

- Nel pannello [Provider], specificare che si desidera utilizzare una sorgente ODBC (vedi sopra), quindi passare al pannello [Connessione]:

Selezionare l'origine ODBC dal menu a discesa. Dovrebbe apparire quella appena creata. Se necessario, utilizzare [Aggiorna] per aggiornare l'elenco delle origini ODBC. | |
nome utente da utilizzare per connettersi al database | |
La password associata a questo nome utente |
Anche in questo caso, il pulsante [Verifica connessione] consente di verificare la validità delle informazioni:

- Confermare la procedura guidata facendo clic su [OK]. L'origine dati apparirà quindi nella finestra [Esplora server] in Visual Studio:

- Facendo doppio clic sulla tabella [ARTICLES], è possibile accedere ai dati della tabella:

- Se si fa clic con il tasto destro del mouse sul collegamento [Firebird Server D:\temp\... ] e si seleziona l'opzione [Proprietà], è possibile accedere alle proprietà della connessione:

- La [ConnectString] è una proprietà importante da conoscere perché il codice .NET ne ha bisogno per aprire una connessione al database. In questo caso, la stringa di connessione è:
Provider=MSDASQL.1;Persist Security Info=False;User ID=SYSDBA;Data Source=demo-odbc-firebird;Extended Properties="DSN=demo-odbc-firebird;Driver=Firebird/InterBase(r) driver;Dbname=D:\temp\07-04-05\firebird\DBARTICLES.GDB;CHARSET=NONE;UID=SYSDBA"
Molti elementi di questa stringa di connessione hanno valori predefiniti. Sarà sufficiente la seguente stringa di connessione:
Questo conclude la nostra panoramica sul driver ODBC [Firebird].
3.12. Dove si trova l' e MSDE?
MSDE è la versione gratuita del sistema di gestione di database SQL Server di Microsoft. È disponibile all'indirizzo [http://www.microsoft.com/sql/msde/downloads/download.asp]:
![]() |
![]() | ![]() |
Scarica il file di installazione, quindi installa il DBMS facendo doppio clic sull'eseguibile scaricato. Si aprirà una finestra in cui ti verrà richiesta la cartella di installazione. Il titolo è fuorviante. Si tratta di una cartella temporanea che potrà essere eliminata in seguito:
![]() | ![]() |
Leggi attentamente il file [ReadmeMSDE2000A.htm]. Il programma di installazione è [setup.exe] sopra indicato. Viene eseguito dalla riga di comando in modo da poter passare dei parametri. I principali sono i seguenti:
Descrizione | |
| Specifica una password complessa da assegnare all'account amministratore "sa". |
| Definisce il nome dell'istanza. Se INSTANCENAME non è specificato, il programma di installazione installa un'istanza predefinita. |
Altri parametri spesso utilizzati per personalizzare un'installazione sono:
Descrizione | |
Specifica se l'istanza accetterà connessioni di rete da applicazioni in esecuzione su altri computer. Per impostazione predefinita, o se si specifica DISABLENETWORKPROTOCOLS=1, il programma di installazione configura l'istanza in modo da rifiutare le connessioni di rete. Specificare DISABLENETWORKPROTOCOLS=0 per abilitare le connessioni di rete. | |
Specifica che l'istanza deve essere installata in modalità mista, il che significa che l'istanza supporta sia l'autenticazione Windows che l'autenticazione SQL per le connessioni | |
| Specifica la cartella in cui il programma di installazione installa i database di sistema, i log degli errori e gli script di installazione. Il valore specificato per data_folder_path deve terminare con una barra rovesciata (\). Per un'istanza predefinita, il programma di installazione aggiunge MSSQL\ al valore specificato. Per un'istanza denominata, il programma di installazione aggiunge MSSQL$InstanceName\, dove InstanceName è il valore specificato tramite il parametro INSTANCENAME. Il programma di installazione crea tre cartelle nella posizione specificata: una cartella Data, una cartella Log e una cartella Script. |
| Specifica la cartella in cui il programma di installazione installa i file eseguibili di MSDE 2000. Il valore specificato per executable_folder_path deve terminare con una barra rovesciata (\). Per un'istanza predefinita, il programma di installazione aggiunge MSSQL\Binn al valore specificato. Per un'istanza denominata, il programma di installazione aggiunge MSSQL$InstanceName\Binn, dove InstanceName è il valore specificato tramite il parametro INSTANCENAME. |
Dopo aver letto le raccomandazioni di installazione riportate sopra, accedere alla cartella in cui sono stati estratti i file di installazione e immettere il seguente comando DOS (utilizzando il DBMS senza una rete):
- INSTANCENAME="MSDE140405" - questo sarà il nome della nostra istanza MSDE. È possibile installare più istanze.
- SECURITYMODE=SQL - il DBMS funzionerà in modalità di autenticazione mista. Ciò consente di connettersi a MSDE in due modi:
- con un account amministratore di Windows
- con un account MSDE — in questo caso sono richiesti un nome utente e una password. Questa è la modalità da utilizzare in un programma che si connette a un database.
- SAPWD="azerty" - questa sarà la password per l'utente [sa] del DBMS. L'utente [sa] dispone dei diritti di amministratore sul DBMS.
Per utilizzare il DBMS su una rete, è necessario eseguire il seguente comando:
Il programma di installazione è essenziale e si completa senza visualizzare alcun messaggio... Tuttavia, è possibile verificare che il DBMS sia stato installato tramite l'opzione [Menu Start -> Pannello di controllo -> Installazione applicazioni]:
![]()
L'installazione viene normalmente eseguita in C:\Program Files\Microsoft SQL Server\MSSQL$instanceName:
![]() | ![]() |
Nella cartella [LOG] all'interno della directory di installazione, troverai il file di log relativo alla fase di installazione del DBMS. Esso contiene un'informazione importante: il nome dell'istanza MSDE:
È importante conoscere questo nome perché tutti i client DBMS ne avranno bisogno. Se questi log mancano, è possibile trovare il nome di un server MSDE, che è [windows_machine\MSDE_instance_name]. Il nome del computer è disponibile in diversi punti. Ad esempio:
- Fare clic con il pulsante destro del mouse su [Risorse del computer] sul desktop, selezionare [Proprietà], quindi la scheda [Nome computer]:

Non sappiamo ancora come avviare il server MSDE. Normalmente è presente un collegamento in [Start/Avvio].

Se si controllano le proprietà di questo collegamento, si noterà che il percorso di destinazione è il seguente:
Nella cartella [C:\Program Files\Microsoft SQL Server] sono presenti le sottocartelle:

- MSSQL$MSDE140405 è la cartella dell'istanza MSDE appena installata.
- MSSQL è la cartella di un'istanza MSDE precedente. Poiché non ha un nome, la chiamiamo istanza predefinita.
- La cartella [80] è una cartella condivisa per le varie istanze MSDE installate. Il percorso [sqlmangr.exe] del collegamento che avvia un'istanza MSDE si trova nella cartella [80\Tools\Binn].
Avviamo MSDE tramite il collegamento in [Start -> Programmi -> Avvio]. Non succede quasi nulla, tranne che appare un'icona nella barra delle applicazioni: | Fare doppio clic su questa icona: ![]() |
Il server MSDE qui mostrato è il server predefinito [PORTABLE1_TAHE] sul computer. Ricorda che il server MSDE che abbiamo installato si chiama [PORTABLE1_TAHE\MSDE140405]. Modifichiamo il nome del server nell'apposito campo: ![]() | Se tutto va bene, l'istanza [MSDE140405] dovrebbe essere avviata: ![]() |
Possiamo eseguire un controllo iniziale. Nella stessa cartella di [sqlmangr.exe] è presente un client console [osql.exe] che consente di connettersi a un server MSDE ed eseguire comandi SQL. Durante l'installazione, abbiamo assegnato la password [azerty] all'amministratore [sa] del nostro server MSDE. Utilizzando il client da console, ci collegheremo al server appena installato. Se eseguiamo il comando [osql -?], viene visualizzato l'elenco dei parametri disponibili:
C:\Program Files\Microsoft SQL Server\80\Tools\Binn>osql -?
utilisation : osql
[-U ID de connexion]
[-P mot de passe]
[-S serveur]
[-H nom de l'host]
[-E connexion approuvée]
[-d utiliser le nom de la base de données]
[-l limite du temps de connexion]
[-t limite du temps de requête]
[-h en-têtes]
[-s séparateur de colonnes]
[-w largeur de colonne]
[-a taille du paquet]
[-e entrée d'echo]
[-I Activer les identificateurs marqués]
[-L liste des serveurs]
[-c fin de cmd] [-D nom ODBC DSN]
[-q "requête cmdline"]
[-Q "requête cmdline" et quitter]
[-n supprimer la numérotation]
[-m niveau d'error]
[-r msgs vers stderr]
[-V severitylevel]
[-i fichier d'entry]
[-o fichier de sortie]
[-p imprimer les statistiques] [-b abandon du lot d'instruction after error]
[-X[1] désactive les commandes [et quitte avec un avertissement]]
[-O utiliser le comportement Old ISQL désactive les éléments suivants]
<EOF> traitement par lot d'instructions
Mise à l'automatic console width scaling
Messages larges
niveau d'default error -1 instead of 1
[-? description de la syntaxe]
Avviare il server [MSDE140405] come descritto sopra, quindi in una finestra del prompt dei comandi, utilizzare [osql] per connettersi al server [portable1_tahe\msde140405] con l'identità [sa, azerty]:
C:\Program Files\Microsoft SQL Server\80\Tools\Binn>OSQL.EXE -U sa -S portable1_tahe\msde140405 -P azerty
1>
Il prompt [1>] indica che [osql] è in attesa di un comando. La connessione è stata stabilita con successo. Per utilizzare correttamente [osql], consultare la documentazione MSDE. È disponibile in vari formati (PDF, Guida in formato HTML, ecc.). Questa documentazione è piuttosto ampia. In genere, è preferibile utilizzare un client grafico per lavorare con un database MSDE. Questo è ciò che viene suggerito più avanti. Per uscire da [osql], utilizzare il comando [exit]:
Vedremo ora come creare database sul server MSDE appena installato. Prima di ciò, presenteremo brevemente uno strumento chiamato [MSDE Manager] che consente di modificare la modalità di autenticazione di un server MSDE. Infatti, se si installa un server di questo tipo utilizzando le opzioni di installazione predefinite, la modalità di autenticazione del server è impostata su [Autenticazione Windows]. Questo tipo di autenticazione consente l'accesso solo agli utenti identificati sul computer Windows (eventualmente tramite un dominio). Per un programma VB.NET che desidera connettersi a un database per utilizzarne il contenuto, questa modalità è poco pratica. La situazione è ancora peggiore per le applicazioni Java che accedono al DBMS tramite un driver JDBC. In questi casi, è preferibile l'autenticazione mista, poiché accetta coppie nome utente/password definite nel DBMS oltre al metodo di autenticazione precedente. Lo strumento [MSDE Manager] consente di eseguire questa operazione.
3.13. Dove posso trovare MSDE Manager?
[MSDE Manager] è uno strumento di amministrazione per il DBMS MSDE. È disponibile all'URL [http://www.valesoftware.com/].
Scarichiamo la versione gratuita seguendo il link sopra indicato:


La versione di prova ha una durata limitata. Questo va bene poiché la useremo solo per un'unica attività specifica. Scaricare e installare il prodotto. Sul desktop verrà creata un'icona di collegamento. Usarla per avviare MSDE Manager. Dopo le finestre iniziali, si arriverà a questa:

- Avviare il server MSDE140405
- È necessario aver effettuato l'accesso al computer Windows come amministratore
- Fare clic con il tasto destro del mouse sul collegamento [SQL Server Group] e selezionare l'opzione [New SQL Server Registration]:


Viene visualizzata la seguente pagina delle proprietà:
![]() |
portable1_tahe\msde140405 - nome dell'istanza MSDE a cui ci si vuole connettere | |
Autenticazione Windows - questa modalità è sempre disponibile e consente all'amministratore di un computer Windows di connettersi al server MSDE | |
Selezionare l'unico gruppo di server elencato [Gruppo SQL Server] |
Una volta fatto clic su [OK], viene visualizzata la struttura delle proprietà del server MSDE140405:

Potremmo iniziare a creare database. Non lo faremo perché useremo un altro prodotto, un clone del prodotto IBExpert di cui abbiamo già parlato. Modificheremo semplicemente la modalità di autenticazione MSDE. Fare clic con il pulsante destro del mouse sul server MSDE140405 sopra e selezionare l'opzione [Design]:

Viene visualizzata la seguente finestra informativa:

La scheda [General] fornisce informazioni sul server MSDE a cui si è connessi. La pagina [Security] è quella che ci interessa:

Qui, è necessario assicurarsi che la modalità di autenticazione MSDE sia impostata su [SQL Server e Windows]. Ciò consentirà di connettersi a MSDE in due modi:
- con un account amministratore di Windows, come è stato fatto in questo caso
- con un account MSDE — in questo caso sono richiesti un nome utente e una password. Questa è la modalità da utilizzare in un programma che si connette a un database DBMS.
Confermiamo questa selezione e usciamo da MSDE Manager. Non ne avremo più bisogno. Per creare database MSDE, useremo un altro strumento: EMS MS SQL Manager.
3.14. Dove si trova EMS MS SQL Manager?
EMS MS SQL Manager è uno strumento grafico per lavorare con il DBMS Microsoft SQL Server e, di conseguenza, con MSDE. È molto simile allo strumento IB-Expert descritto in precedenza. È disponibile all'indirizzo [http://sqlmanager.net/] (aprile 2005):

Il sito offre strumenti di amministrazione per molti DBMS. Seguire il link [MS SQL Manager]:

Qui sopra, selezioniamo la versione leggera del prodotto. Scaricala e installala. Avrai una cartella simile alla seguente:

Il file eseguibile è [MsManager.exe]. Normalmente è disponibile un collegamento nel menu [Start]:

Una volta avviato, MS SQL Manager visualizza la seguente finestra:

Iniziamo registrando il server MSDE con cui vogliamo lavorare utilizzando l'opzione [Database/Register Host]:
![]() |
Commenti:
- Passaggio 1 - Come accennato, MSDE supporta due modalità di autenticazione: Windows e SQL Server. In modalità [Windows] vengono utilizzati gli account del computer Windows. In modalità [SQL Server] vengono utilizzati gli account del DBMS. [SQL Server] può funzionare in modalità [Windows] o in modalità mista [Windows, SQL Server]. La modalità di autenticazione [Windows] è sempre disponibile. La modalità di autenticazione mista, tuttavia, non è sempre attiva. Abbiamo visto come abilitarla utilizzando MSDE Manager. In precedenza, la connessione è stata effettuata utilizzando un account amministratore.
- Passaggio 2 - Una volta completata l'autenticazione, vengono visualizzati i database MSDE predefiniti. In precedenza, sono stati selezionati tutti.
![]() |
Commenti:
- Passaggio 3: È possibile selezionare le opzioni di amministrazione per i database selezionati. In questo caso, sono state mantenute le opzioni predefinite.
- Passaggio 4: Registriamo il server MSDE utilizzando il pulsante [Registra]
Il server MSDE viene quindi visualizzato nell'esploratore dei database:

Utilizziamo l'opzione [Database/Crea database] per creare un database:
![]() |
Passaggio 2:
Quando viene visualizzata questa pagina informativa, il database [dbarticles] è stato creato. È possibile verificarlo facendo clic sul pulsante [Verifica connessione]. Nel campo [Alias database] è possibile inserire il nome desiderato. In questo caso, abbiamo inserito:
- il nome del database
- il nome del server MSDE su cui si trova
- l'utente [admarticles] che sarà il proprietario di questo database e la sua password [mdparticles]. Questo utente non è ancora stato creato, ma lo sarà a breve.
Passaggio 3:
- Fare clic sul pulsante [Registra] per registrare il nuovo database in [MS SQL Server]. Dopo la registrazione, il database [admarticles] appare nell'elenco dei database. Facendo doppio clic su di esso viene visualizzata la struttura delle proprietà.
![]() | ![]() |
Creiamo un nuovo account di accesso che fungerà da amministratore del database [admarticles].
- Selezionare l'opzione [Strumenti/Gestione account]:

- Possiamo vedere che sono già definiti due account:
- [BUILTIN\Administrators]: questo account utilizza l'autenticazione Windows. Rappresenta gli amministratori del computer Windows su cui si trova il server MSDE
- sa: questo account utilizza l'autenticazione SQL. Per impostazione predefinita, è l'amministratore del server MSDE. Si noti che qui, come configurato durante l'installazione del DBMS MSDE, la sua password è [azerty].
- Fare clic con il pulsante destro del mouse sull'area degli accessi e aggiungere un nuovo accesso:
![]() |
- Viene visualizzato un modulo in cui definire le caratteristiche del nuovo accesso:

- Nome utente: admarticles
- Password: mdparticles
- Una volta cliccato il pulsante [OK], MS Manager visualizza le query SQL che eseguirà:

Il linguaggio SQL mostrato sopra è Transact-SQL, il linguaggio SQL utilizzato da MSDE. Eseguiamo questo codice cliccando su [OK]
- Il nuovo login viene aggiunto all'elenco dei login:

- Nella finestra delle proprietà del database [dbarticles], fare clic con il pulsante destro del mouse su [users] per creare un utente con autorizzazioni sul database [dbarticles]:

- Viene quindi visualizzata la seguente finestra:

- Nell'elenco a discesa [Login], vedrai l'elenco degli accessi esistenti. Seleziona l'accesso [admarticles].
- In [Nome], inserisci un nome utente. È possibile associare più utenti allo stesso account. Inoltre, in MSDE, per creare un utente è necessario prima creare un account. Il pannello [Utente] ora appare così:

- Passiamo ora al pannello [Member Of], che ci consentirà di definire le autorizzazioni del nostro utente:

- Non sono un utente abituale di MSDE e non sono sicuro del significato esatto di ciascuno dei ruoli elencati nel riquadro di sinistra. Il ruolo [db_owner] è allettante (owner = proprietario). Lo selezioneremo quindi per il nostro utente [admarticles]:

- Confermiamo le nostre selezioni cliccando sul pulsante [Compile] in alto. Le query SQL eseguite sono le seguenti:

- Le compiliamo cliccando su [OK]. Ora abbiamo un utente per il database [dbarticles]:

- Ora creiamo una tabella. Facciamo clic con il tasto destro del mouse su [Tables] e selezioniamo l'opzione [New Table]. Si aprirà la finestra di definizione delle proprietà della tabella:

- Iniziamo assegnando alla tabella il nome [ARTICLES] utilizzando il campo di immissione [Nome tabella]. Successivamente, passare al pannello [Campi]:

- definire i seguenti campi:

Finché non avremo "compilato" la nostra definizione, la tabella non verrà creata. Utilizza il pulsante [Compila] in alto per finalizzare la definizione della tabella. [MS SQL Manager] prepara le query SQL per generare la tabella e chiede conferma:

È interessante notare che [MS SQL Manager] visualizza le query SQL che ha eseguito. Ciò consente di apprendere il linguaggio Transact-SQL. Il pulsante [Commit] convalida la transazione corrente, mentre [Rollback] la annulla. In questo caso, la accettiamo facendo clic su [Commit]. Una volta fatto ciò, [MS SQL Manager] aggiunge la tabella creata alla nostra struttura ad albero del database:

Facendo doppio clic sulla tabella, possiamo accedere alle sue proprietà:

Il pannello [Checks] ci permette di aggiungere nuovi vincoli di integrità alla tabella. Per la tabella [ARTICLES], creeremo i seguenti vincoli:
- i campi [ID, PRICE, CURRENTSTOCK, MINIMUMSTOCK] devono essere >=0
- il campo [NAME] non deve essere vuoto
Nel pannello [Controlli], fare clic con il tasto destro del mouse sull'area vuota per aggiungere un nuovo vincolo [Nuovo controllo]:

- La finestra di modifica del vincolo ha questo aspetto:

Nome: nome del vincolo
Tabella: tabella a cui si applica il vincolo
Definizione: espressione del vincolo
Il vincolo viene compilato utilizzando il pulsante [Compila] in alto.
- Ancora una volta, [MS SQL Manager] visualizza i comandi SQL eseguiti:

- Li convalidiamo utilizzando il pulsante [Commit] (non mostrato). Se torniamo al pannello [Checks] per la tabella [ARTICLES], appare il nuovo vincolo:

- Definiamo gli altri vincoli allo stesso modo per ottenere infine il seguente elenco:

Una volta fatto ciò, apri il pannello [DDL] della tabella [ARTICLES]:

Questo pannello mostra il codice Transact-SQL per la creazione della tabella con tutti i suoi vincoli. È possibile salvare questo codice in uno script per eseguirlo in un secondo momento:
CREATE TABLE [ARTICLES] (
[id] int NOT NULL,
[nom] varchar(20) COLLATE French_CI_AS NOT NULL,
[prix] float(53) NOT NULL,
[stockactuel] int NOT NULL,
[stockminimum] int NOT NULL,
CONSTRAINT [ARTICLES_uq] UNIQUE ([nom]),
PRIMARY KEY ([id]),
CONSTRAINT [ARTICLES_ck_id] CHECK ([id] > 0),
CONSTRAINT [ARTICLES_ck_nom] CHECK ([nom] <> ''),
CONSTRAINT [ARTICLES_ck_prix] CHECK ([prix] >= 0),
CONSTRAINT [ARTICLES_ck_stockactuel] CHECK ([stockactuel] >= 0),
CONSTRAINT [ARTICLES_ck_stockminimum] CHECK ([stockminimum] >= 0)
)
ON [PRIMARY]
GO
È ora il momento di inserire alcuni dati nella tabella [ARTICLES]. Per farlo, utilizza il pannello [Data]:

Il pulsante [+] aggiunge una riga, mentre il pulsante [-] ne rimuove una. I dati vengono inseriti semplicemente digitando nei campi di immissione di ciascuna riga della tabella. Una riga viene convalidata utilizzando il pulsante [Post Edit] sottostante:
![]()
Creiamo due voci:

[MS SQL Manager] consente di eseguire query SQL tramite l'opzione [Strumenti/Mostra editor SQL] o il tasto [F12]. In questo modo si accede a un editor avanzato di query SQL in cui è possibile eseguire le query. Le query vengono salvate, quindi è possibile rivedere una query già eseguita. Ecco un esempio:

Esegui la query SQL utilizzando il pulsante [Esegui] in alto. Otterrai il seguente risultato:

Concludiamo qui la nostra dimostrazione. La combinazione [MS SQL Manager - MSDE], proprio come quella [IBExpert - Firebird], è ottima per imparare a conoscere i database.
3.15. Creazione di una sorgente ODBC [MSDE]
Il driver ODBC per SQL Server è normalmente installato di default sui computer Windows.
- Avviare lo strumento [Start -> Impostazioni -> Strumenti di configurazione -> Strumenti di amministrazione -> Origini dati ODBC]:

- Viene visualizzata la seguente finestra:

- Fare clic su [Aggiungi] per aggiungere una nuova origine dati di sistema (nel riquadro [DSN di sistema]) che assoceremo al database MSDE creato nella sezione precedente:

- Per prima cosa, dobbiamo specificare il driver ODBC da utilizzare. Sopra, selezioniamo il driver per [SQL Server] e poi facciamo clic su [Fine]. A questo punto subentra la procedura guidata del driver ODBC [SQL Server]:

- Compiliamo i vari campi:
il nome della sorgente ODBC: può essere qualsiasi cosa | |
può essere qualsiasi cosa | |
Nome del server MSDE contenente i dati di origine ODBC |
- Fare clic su [Avanti] per fornire ulteriori informazioni:

- Compilare i vari campi:
Specificare che ci si connetterà all'origine dati ODBC utilizzando un nome utente registrato sul server MSDE | |
Login utente | |
Password utente |
- Si noti che questa è la prima volta che utilizziamo l'utente (admarticles, mdparticles) creato in una sezione precedente. Fare nuovamente clic su [Avanti] per passare alla schermata successiva:

- Compiliamo i vari campi:
Selezioniamo il database [dbarticles] come database predefinito per l'utente [admarticles] |
- Fare clic su [Avanti] per passare alla schermata successiva:

- Accettiamo i valori predefiniti e facciamo clic su [Fine]. Viene visualizzato un riepilogo delle caratteristiche della sorgente ODBC che verrà creata:

- Il pulsante [Verifica origine dati] ci permette di verificare la validità delle nostre informazioni. Verifica che MSDE sia in esecuzione, quindi prova la connessione:

- Ora siamo certi che la coppia [admarticles, mdparticles] venga riconosciuta.
Per ulteriori test, il lettore può seguire la procedura illustrata nella sezione 3.10.
3.16. Stringa di connessione a un database MSDE
- Avviare Visual Studio e aprire Server Explorer [Visualizza/Server Explorer]:
![]() |
- Fare clic con il pulsante destro del mouse su [Connessione dati] e selezionare l'opzione [Aggiungi connessione]:

- Nel riquadro [Provider], specificare che si desidera utilizzare un'origine SQL Server, quindi passare al riquadro [Connessione]. Si noti che in questo caso non si utilizza un driver ODBC.

Nome del server MSDE a cui ti stai connettendo | |
nome utente da utilizzare per connettersi al database | |
la password associata a questo nome utente | |
Il database con cui desideri lavorare |
Il pulsante [Verifica connessione] consente di verificare la validità delle informazioni:

- Conferma la procedura guidata cliccando su [OK]. Curiosamente, una nuova finestra richiede i dettagli di connessione:

- inseriscili nuovamente e clicca su [OK]. L'origine dati apparirà quindi nella finestra [Esplora server] in Visual Studio:

- facendo doppio clic sulla tabella [ARTICLES], è possibile accedere ai dati della tabella:

- Se si fa clic con il pulsante destro del mouse sul collegamento [portable1_tahe\msde140405.dbarticles.admarticles] nel riquadro [Esplora server] e si seleziona l'opzione [Proprietà], è possibile visualizzare le proprietà della connessione:

- La proprietà [ConnectString] è importante da conoscere perché il codice .NET ne ha bisogno per aprire una connessione al database. In questo caso, la stringa di connessione è:
Provider=SQLOLEDB.1;Persist Security Info=False;User ID=admarticles;Initial Catalog=dbarticles;Data Source=portable1_tahe\msde140405;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=PORTABLE1_TAHE;Use Encryption for Data=False;Tag with column collation when possible=False
Molti elementi di questa stringa di connessione hanno valori predefiniti. Sarà sufficiente la seguente stringa di connessione:






























