Comunicazione tra LabView e i Database

Documenti analoghi
Open Database Connectivity (ODBC)

Inserire record. Microsoft Access. Inserire/modificare record. Inserire record. Cancellare record. Inserire/modificare record

Corso di Access. Prerequisiti. Modulo L2 A (Access) Le query

MODULO 5 - USO DELLE BASI DI DATI 2 FINALITÁ

Installazione e uso di Document Distributor

WINDOWS 2000, XP tutti, 7 Tutti

Cosa sono le maschere

Relazioni. Microsoft Access. Relazioni. Relazioni

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.2 Strumenti di Access. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Manuale Operativo procedura integrata EDISAN DES (Database Edilizia Sanitaria)

MySQL Server e Workbench.

La connessione ai database MySQL tramite script PHP versione 5.5

SHAREPOINT CONNECTOR PLUG-IN - short guide-

FUTURA SERVICE S.r.l. Procedura GIMI.NET ver. 3.8 Agosto 2017

Windows. La prima realizzazione di un ambiente grafico si deve alla Apple (1984) per il suo Macintosh. La gestione dei file conserva la logica del DOS

Corso di Access Modulo L2 A (Access) I tipi di query

Configurazione Stampante in WinDrakkar. Documentazione Utente. WinDrakkar

Configurazione database MySQL

Guida a WordPress. 1. Iscrizione a Wordpress

MANUALE OPERATIVO PROCEDURA INTEGRATA EDISAN D.E.S. (DATABASE EDILIZIA SANITARIA)

Le presenti note si riferiscono esclusivamente alla procedura di installazione e di aggiornamento di Planet HR.

Microsoft Access (parte 5) Query. Query. Query. Query. Creare una query

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO

Documentazione relativa al. software Business Object.XI. Web Intelligence

MySQL Migration Toolkit

Creazione delle custom property e classi documentali di Emanuele Mattei (emanuele.mattei[at] .it)

Classificazione: Pubblico Guida all installazione di una nuova versione di DigitalSign tramite Aggiornamento Automatico

Informatica WINDOWS. Francesco Tura F. Tura

GUIDA UTENTE BILLIARDS COUNTER (Vers )

ASP e Database. A cura di Michele Cavalieri

Access 2007 Colonna di ricerca

Jamio openwork data source connector for QlikView

Componenti VBA per Applicazioni su Database


ISTRUZIONI PER LO SPOSTAMENTO DEL CytoSIFOII DA UN PC AD UN ALTRO

Filtri. Microsoft Access. Filtri. Filtri

Connesione ad un Database Access con PHP. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

ATDM Manuale dell utente Web Remote Manager

GB informazioni e freeware

TS-CNS. Tessera Sanitaria Carta Nazionale dei Servizi. Manuale di installazione e configurazione. Versione del

Installazione o aggiornamento di 3CAD Azzurra Arredobagno

Come avviare P-touch Editor

Gestione documentale

Horizone Server IN00B02WEB. Horizone PDK

Utilizzo delle Maschere in Microsoft Access

DISPENSA ACCESS (OFFICE 2010 BETA)

Servizio di stampa Note operative per installazione client

Samsung Universal Print Driver Guida dell utente

Infor LN [GUIDA INFOR LN] [GUIDA INFOR LN] Baltur S.p.A. Rev /2013. Guida all utilizzo del Gestionale Infor LN per le Agenzie Baltur

Istruzioni per l installazione ed uso del programma OMNICARD (rel.5.2) 18/04/2016

Funzionalità di Network Assistant

Manuale di installazione

Manuale d istruzioned

X-RiteColor Master Web Edition

Informatica e Informatica di Base

WINDOWS Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni

14Ex-Cap11.qxd :20 Pagina Le macro

CardioChek Link Manuale d'uso

Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori

Indice. GUIDA OPERATIVA SOSTel OTTOBRE 2006 PAG. 2 DI 16

Installazione di VHOPE e dei file della libreria di VHOPE

MDG Enpals Spettacolo MANUALE D USO E INSTALLAZIONE

PROCEDURA D INSTALLAZIONE DEL SOFTWARE DELLA CARTA TS-CNS. OBERTHUR su Windows 32 bit e 65 bit

Servizio Conservazione No Problem

Installazione e configurazione DSFPA (Datasoftware Fattura Pubblica Amministrazione)

Installazione di EasyPhp. Avviare EasyPhp. La finestra di amministrazione di EasyPhp

Internetworking V a nno

per ulteriori informazioni consultare la guida disponibile on line all indirizzo:

Procedura di installazione rrunnweb

Microsoft Access. Nozioni di base. Contatti: Dott.ssa Silvia Bonfanti

INSERIRE I DATI NEL DATABASE

Manuale operativo per accedere ai programmi contabili e gestionali

Note di release per l utente Xerox EX Print Server, Powered by Fiery per Xerox Color 800/1000 Press, versione 1.3

Audio e Video in Ardora

GUIDA ALL UTILIZZO DEL FASCICOLO INPS

CardioChek Link Manuale d'uso

Phpmyadmin. Creazione Database

Mariano Pirrotta. A c t i v e S e r v e r P a g e * * *

istruzioni per l'installazione

Installazione Configuration Software

Corso di Microsoft. Access. Marco P. Locatelli.

FATTURAZIONE ELETTRONICA J-BRIDGE

TS-CNS. Tessera Sanitaria Carta Nazionale dei Servizi. Manuale di installazione e configurazione Add on per Firefox. Versione del

GUIDA ALLA CONFIGURAZIONE DI RETE DELLE TELECAMERE IP EUKLIS E ALLA CONFIGURAZIONE VIDEO CON GENETEC OMNICAST.

KISSsoft 03/2018. Installazione di una licenza "floating" KISSsoft. Sharing Knowledge

Dipartimento Politiche Sociali e della Salute OSSERVATORIO SOCIALE SULLA CONCERTAZIONE TERRITORIALE. Manuale del software Utente Lettore Vers. 5.

Guida al primo utilizzo di EasyArchiviazione INTERFACCIA INIZIALE

Come configurare l accesso ad Internet con il tuo telefonino GPRS EDGE - UMTS (Sistema Operativo Microsoft Windows 2000).

Sharpdesk V3.5. Guida di installazione: Edizione con chiave del prodotto. Versione 1.0

SISTEMA TESSERAMENTO MANUALE UTENTE ASSOCIAZIONI

CORSO DI PROGRAMMAZIONE

Accedere alla propria area riservata dal sito del CAF. Inserire le proprie credenziali e premere ACCEDI

GUIDA RAPIDA EDILCONNECT

Configurazione database remoto MySQL

10 Creare. collegamenti ipertestuali

Via Sandano 47bis/ Correzzola Loc. Villa del Bosco (PD)

Transcript:

Comunicazione tra Redatto da: Gabriele Melani Autore Gabriele Melani Pagina 1 di 1

Indice Indice...2 Introduzione...3 A chi é indirizzato...3 Convenzioni e organizzazione...3 1. Acquisizione dati e database...4 2. Il linguaggio SQL utilizzato e i programmi necessari...4 3. Installazione e configurazione di MySQL...5 4. Implementare in LabView la comunicazione con il database creato...9 5. VI di esempio: eseguire una query singola su un database...14 Autore Gabriele Melani Pagina 2 di 2

Introduzione In molti sistemi di acquisizione i dati rilevati devono essere memorizzati per elaborazioni successive; i database sono strumenti comodi per la memorizzazione dei dati. In questo articolo vengono mostrati i passaggi fondamentali per realizzare la comunicazione tra LabView e un database, estrarre i dati significativi, effettuare elaborazioni e presentare i risultati tramite l interfaccia di un VI. A chi é indirizzato A tutti coloro che desiderano interfacciare un database con LabView unendo la robustezza di una struttura a base di dati con le possibilità di elaborazione e presentazione che un VI può offrire. Convenzioni e organizzazione Per facilitare la lettura e l apprendimento, sono inserite note distinte per il contorno esterno nero e al termine dei capitoli una sezione di riepilogo degli argomenti trattati. Note Riassunti di fine capitolo Installazioni, connessioni e osservazioni sull Hardware. Collegamenti a risorse sul web Autore Gabriele Melani Pagina 3 di 3

1. Acquisizione dati e database Nella maggior parte dei sistemi di acquisizione dati dedicati, per esempio, al monitoraggio ambientale o alla misura di grandezze fisiche (elettriche, meccaniche, termiche ) che evolvono nel tempo, si presenta la necessità di memorizzare i valori rilevati per poter effettuare successive elaborazioni: i database sono strumenti comodi per l archiviazione di dati. Per database non si intende una semplice raccolta di dati: in alcuni manuali sul linguaggio SQL (la lingua dei database) si legge che un database è una raccolta di record integrati, dove per record si intende un insieme di dati. I database sono vere e proprie strutture organizzate e caratterizzate da relazioni tra i dati. Esistono diversi tipi di database (indicati con la sigla DBMS, Database Management Systems) differenziati per il modo in cui vengono organizzati i record. Tra i DBMS assumono un ruolo importante i database relazionali (indicati con la sigla RDBMS, Relational Database Management Systems) all interno dei quali le informazioni sono organizzate in tabelle formate da righe e colonne. Ogni riga costituisce un record diverso e ogni colonna rappresenta un campo del record. Si consideri come esempio l elenco del telefono: per ogni utente si possono leggere Nome, Cognome, Indirizzo, Numero di telefono. Ogni utente è un record e ogni informazione descrittiva appartiene ad un campo. Si immagini ora di eseguire una ricerca all interno dell elenco (per esempio tutti coloro che abitano in un paese o hanno un certo cognome) con l obiettivo di estrarre solo i dati interessanti per i propri scopi. In questo tipo di strumento righe e colonne sono relazioni tra dati: non conta la disposizione fisica dei dati ma la relazione che li unisce. I database RDBMS offrono almeno due differenze importanti rispetto ai DBMS: a. Consentono di aggiungere nuovi dati e nuove tabelle, eventualmente correlandole con una o più tabelle già esistenti, senza intervenire sui programmi applicativi che agiscono sulle tabelle già presenti. b. Sono database accessibili con SQL (Structured Query Language), strumento disponibile per le piattaforme hardware più usate con alcune differenze proprie del dialetto utilizzato. 2. Il linguaggio SQL utilizzato e i programmi necessari Il linguaggio SQL può essere considerato un vero e proprio linguaggio di programmazione: tramite parole chiave e regole da seguire è possibile costruire frasi (chiamate query ) da utilizzare per chiedere al database dati particolari o modificare i dati già inseriti. È un linguaggio non procedurale : tramite SQL non si creano procedure per istruire un computer su ciò che deve fare ma si descrive al sistema ciò che si vuole ottenere. Tramite le query il programmatore pone le domande al database e questo risponde con i dati richiesti. Nel corso degli anni il linguaggio SQL ha subito cambiamenti ed evoluzioni; sono stati fatti tentativi per unificare i comandi in un unico linguaggio riconosciuto universalmente e se è vero che in parte ci si è riusciti (esistono standard riconosciuti per SQL) è anche vero che nel panorama informatico sono comparsi applicativi SQL caratterizzati da un proprio dialetto. L idea di fondo è sempre la stessa (eseguire operazioni su un database) ma la sintassi e le parole chiave del linguaggio sono diverse, a volte in maniera minima, tra un dialetto e l altro. In questo articolo verranno utilizzati due dialetti di SQL: Microsoft SQL MySQL Autore Gabriele Melani Pagina 4 di 4

Si potrà notare come LabView sia in grado di comunicare con entrambe le versioni del linguaggio senza modifiche sostanziali al Block Diagram. Come avviene quando si mettono a confronto più linguaggi di programmazione, sarà sufficiente conoscere le regole proprie del singolo linguaggio per raggiungere gli obiettivi desiderati. Prima di passare alla creazione del database e all analisi dello steso tramite VI è indispensabile scoprire quali programmi ruotano attorno al linguaggio SQL. Si è detto che le query costruite per comunicare con i database indicano al computer cosa si vuole ottenere e non come bisogna procedere per arrivare ai risultati voluti. Nel computer ci deve essere un programma capace di trasformare le query scritte in linguaggio ad alto livello (più intuitivo per il programmatore) in istruzioni linguaggio macchina (comprensibili dal computer) per essere eseguite. Sul proprio computer deve essere installato un server SQL capace di interpretare le query scritte con un particolare dialetto per trasformarle in istruzioni eseguibili dalla macchina. Ogni server è in grado di convertire le istruzioni scritte seguendo una particolare sintassi. Negli esempi riportati nell articolo verranno utilizzati Microsoft SQL Server per lavorare con i database scritti in linguaggio Microsoft SQL MySQL Server per lavorare con i database scritti in linguaggio MySQL Ogni server solitamente mette a disposizione del programmatore altri software da utilizzare per creare il database, inserire tabelle e dati, modificare i valori memorizzati e richiedere alcune informazioni particolari. Nello specifico Microsoft SQL Server mette a disposizione Enterprise Manager per visualizzare i database e Query Analizer per costruire ed eseguire le query sui dati MySQL Server mette a disposizione MySQL Administrator per visualizzare i database e MySQL Query Browser per costruire ed eseguire le query sui dati Nell articolo verrà mostrata la configurazione dettagliata del server MySQL. Operazioni simili sono richieste durante l installazione di altri server. Sono stati scelti questi due dialetti SQL per mostrare come LabView si comporta quando si ha a che fare con versioni diverse del linguaggio SQL. 3. Installazione e configurazione di MySQL Il pacchetto software MySQL può essere scaricato gratuitamente dal sito http://www.mysql.com; in particolare è possibile scaricare a. MySQL 5: installazione del server MySQL b. MySQL Administrator: configurazione parametri server e database c. MySQL Query Browser: manipolazione database attraverso query d. MySQL ODBC: driver per configurazione DSN del database Il server permette di lavorare sul database MySQL sfruttando le query che possono essere create tramite Query Browser o altri programmi, nel nostro caso LabView. Il driver ODBC permette la creazione di un collegamento al database all interno delle impostazioni di Windows. Sul sito http://www.mysql.it si possono trovare tutte le informazioni riguardanti il linguaggio MySQL. Autore Gabriele Melani Pagina 5 di 5

Installare il server MySQL e i relativi programmi Administrator e Query Browser. Durante l installazione viene richiesta una password che poi sarà utilizzata per effettuare le operazioni sui database. Al termine dell installazione tra i programmi di Windows si trova una cartella nuova: Fig. 1. Programmi MySQL installati Avviare MySQL System Tray Monitor : nella barra di Windows, vicino all orologio compare un icona di collegamento con i programmi MySQL installati. Cliccare con il tasto destro del mouse sull icona, selezionare MySQL Administrator ; nella schermata di dialogo che si apre inserire i seguenti dati: Fig. 2. Schermata di accesso al server La password coincide con quella scelta durante l installazione del Server MySQL. Si apre la schermata di configurazione di MySQL: nella parte bassa della colonna di sinistra si può leggere root come utente collegato al server. Modificare questo valore inserendo un nuovo username: questo nome dovrà essere inserito al prossimo riavvio di MySQL Administrator nella casella username. Il server è stato configurato ed è pronto per essere avviato. Per realizzare la comunicazione con il database è necessario configurare il DSN del database stesso. In pratica il driver ODBC che è stato scaricato dal sito permette di creare un collegamento tra i programmi operativi e il database sul quale si effettueranno le operazioni di modifica e analisi. Con DSN si intende Data Source Name, nome di origine dati. Si tratta di un collegamento ad un database residente all'interno di una rete e accessibile da determinati programmi. Controllare che il server MySQL sia in esecuzione (dal menù di MySQL System Tray Monitor raggiungibile dall icona situata nella barra di Windows accertarsi che la prima voce sia MySQL Running. Se così non fosse nello stesso menù selezionare la voce Start Instance ). Autore Gabriele Melani Pagina 6 di 6

In caso di problemi controllare le impostazioni del server avviando MySQL Administrator. Con il server in esecuzione si può procedere alla configurazione del DSN del database. Forse è superfluo ma utile notare che prima di creare il riferimento al database è necessario creare il database stesso, costruendolo nuovo o importandolo da precedenti acquisizioni dati. Per creare un database nuovo in linguaggio MySQL è possibile utilizzare il Query Browser scrivendo le query di creazione tabelle e inserimento dati o mediante l inserimento diretto di valori con la funzione edit. Oppure si possono sfruttare altri software che mettono a disposizione dell utente interfacce grafiche che semplificano il lavoro: uno strumento valido è EasyPHP (http://www.easyphp.org) che offre un interfaccia grafica per la creazione dei database più semplice rispetto alla semplice interfaccia di inserimento query offerta da MySQL Query Browser. Aprire il Pannello di Controllo di Windows, selezionare Strumenti di Amministrazione e Origine dati (ODBC). Si apre la finestra Amministrazione origine dati ODBC ; selezionare l elenco DSN utente e fare clic su Aggiungi. Nella schermata di selezione che si apre si possono leggere i nomi dei driver memorizzati nel sistema; scorrere l elenco fino alla voce MySQL ODBC 3.51 Driver (la versione del driver può essere diversa a seconda del file che viene installato). Premere il pulsante Fine. Nella nuova finestra intitolata Connector ODBC Add data source name inserire i parametri identificativi del database da analizzare: Fig. 3. Creazione di un nuovo DSN 1) Data Source Name: è il DSN del database, il nome che verrà utilizzato dalle applicazioni esterne (LabView) per accedere al database stesso. Inserire un nome a piacere (per questioni di stile di programmazione è bene inserire un nome attinente con il database associato). 2) Description: descrizione (facoltativa) del database in esame. Autore Gabriele Melani Pagina 7 di 7

3) Server: nome del computer sul quale risiede fisicamente il database. Può essere lo stesso pc sul quale si sta lavorando (localhost) o un altro pc collegato tramite rete (indirizzo IP richiesto). Sul pc che ospita fisicamente il database deve essere in funzione il server MySQL. 4) User: UserID impostato in MySQL Administrator al posto di root. 5) Password: parola codice scelta durante l installazione del server MySQL. 6) Database: se i dati precedenti sono stati inseriti correttamente in questo menù è possibile visualizzare l elenco dei database ai quali si può avere accesso. Di seguito si riportano due situazioni esempio; nella schermata di selezione database inserire i seguenti dati se il database si trova sullo stesso pc sul quale è in esecuzione il server MySQL: Fig. 4. Configurazione DSN per database presente sul pc Se invece il database si trova su un altro pc collegato in rete inserire nella casella Server l indirizzo IP di tale computer: Fig. 5. Configurazione DSN per database presente su un pc in rete Al termine della configurazione del DSN il database può essere richiamato da un programma operante sul computer con il nome identificativo scelto durante la configurazione. Autore Gabriele Melani Pagina 8 di 8

Dopo aver inserito i dati, nella finestra di amministrazione dati del Pannello di Controllo compare il DSN appena configurato: Fig. 6. Strumenti di amministrazione del Pannello di Controllo La configurazione del DSN permette di accedere al database con programmi applicativi in grado di eseguire query; il nome scelto come DSN verrà utilizzato in LabView per richiamare il database. Istruzioni per la configurazione del DSN sono disponibili all indirizzo http://freeasp.html.it/guide/lezione.asp?id=147; qui si possono trovare altre informazioni utili per lavorare con i database MySQL. 4. Implementare in LabView la comunicazione con il database creato Il linguaggio SQL può essere diviso in due grandi sezioni: a. Data Definition Language: comandi usati per formare un database e creare tabelle; sono stati utilizzati durante la creazione del database tramite query o utilizzando un interfaccia semplificata. b. Data Manipulation Language: comandi usati per interrogare un database ed estrarre le informazioni volute. In LabView sarà possibile lavorare con tutti i comandi che il linguaggio SQL mette a disposizione ricordandosi che ogni dialetto è caratterizzato da una propria sintassi: le parole chiave sono simili ma la struttura delle query cambia a seconda del dialetto SQL considerato. In LabView è possibile creare frasi di interrogazione sfruttando i controlli di tipo String. Una serie di stringhe collegate in successione può originare una query. Una query semplice che può essere eseguita in MySQL per estrarre dati da una tabella di un database è la seguente: SELECT * FROM <nome tabella> Autore Gabriele Melani Pagina 9 di 9

Per costruire questa query all interno di un VI si può usare una combinazione di stringhe: Comunicazione tra Fig. 7. Combinazione di stringhe per creare una query Per dare all utente la possibilità di scrivere personalmente la propria query è possibile sostituire alcune costanti con controlli di tipo di stringa o adottare una soluzione con una casella di testo abbastanza grande per contenere l intera query: Fig. 8. Combinazione di costanti e controlli per la costruzione di una query Fig. 9. Casella di testo per l inserimento di una query Aumentando il numero di blocchi collegati si possono realizzare query più complesse. LabView può comunicare con un database attraverso la tecnologia ActiveX: nel Block Diagram possono essere richiamate le librerie di collegamento e interfacciamento con gli oggetti ADO. ADO (ActiveX Data Objects) è un componente ActiveX che offre al programmatore procedure per l accesso ai dati di un database (e non solo): tramite alcune funzioni contenute nel pacchetto ADO è possibile accedere ad un database per estrarne dati attraverso query. Sul sito www.microsoft.it si possono trovare informazioni cercando ADO o ActiveX Data Objects Autore Gabriele Melani Pagina 10 di 10

La comunicazione con un database avviene per fasi successive; si inizia avviando il collegamento con la libreria ADODB. _Connection (per la connessione con gli oggetti ADO): Fig. 10. Collegamento con libreria ADODB. _Connection Una volta creato il collegamento con la libreria ADO si può lavorare con i Property Node e i Method di LabView. In particolare verranno sfruttati i Method per interagire con il database ed eseguire le query. Fig. 11. Usare i Method di LabView per lavorare sugli oggetti ADO Il metodo open apre la comunicazione con il database da analizzare. Per fare questa operazione è necessario fornire in ingresso al metodo i dati del database, in particolare DSN del database UserID per l accesso al database Password per l accesso al database Si ricorda che UserID e Password sono state scelte durante l installazione del server o dopo l accesso al programma di amministrazione (nel caso di MySQL la UserID è stata scelta nel programma MySQL Administrator e la Password durante l installazione del server). Autore Gabriele Melani Pagina 11 di 11

Nel VI il metodo open appare come mostrato di seguito: Fig. 12. Il metodo open con i dati del database Come si può notare nella Fig. 12 al blocco del metodo open devono essere forniti UserID e Password sottoforma di stringhe e il DSN del database sottoforma di stringa costruita come di seguito: DSN= <DSN scelto> ; A questo punto ci si trova nella stessa situazione di quando si apre un file con un doppio clic del mouse o tramite la funzione apri del programma applicativo. Dopo aver aperto il database si possono eseguire le query per modificarne la struttura o richiedere dati. Il metodo execute permette di lavorare sul database creando una query: Fig. 13. Metodo execute per eseguire una query La stringa fornita come ingresso del metodo execute (nella Fig. 13 indicata con Command Text ) contiene la query con la quale si vuole analizzare il database; si può pensare ad una casella di testo abbastanza grande per contenere il testo della query scritta a mano dall utente (Fig. 9) o possono essere preparati pulsanti collegati a query generali (visualizza tutto il contenuto di una tabella, esegui la media dei dati delle colonne della tabella e visualizza i risultati, visualizza i valori massimo e minimo di una certa colonna ). Il database risponde alla query con i dati richiesti: il metodo getstring applicato al recordset (gruppo di dati) restituito dal metodo execute fornisce il risultato della query sottoforma di stringa. Autore Gabriele Melani Pagina 12 di 12

Fig. 14. Metodo getstring applicato al risultato della query Questa stringa può essere formattata (Fig. 14, blocco getstring ) e successivamente manipolata per distribuire i record in una matrice e presentarli all interno di una tabella. Con gli indici della matrice è possibile lavorare sui singoli dati per effettuare le elaborazioni desiderate. Al termine delle operazioni i riferimenti al database e al set di dati ottenuti tramite la query devono essere chiusi: Fig. 15. Chiusura dei riferimenti al database e al recordset Dal sito http://www.jeffreytravis.com/lost/labsql.html è possibile scaricare una libreria gratuita di comunicazione tra LabView e i database. Gli esempi all interno di questa libreria lavorano con i blocchi presentati in questo articolo; inoltre è stata implementata la gestione degli errori che in questo articolo non è stata affrontata e sono stati realizzati blocchi per l esecuzione di procedure particolari. Quando si lavora con i database bisogna essere sicuri che le operazioni di apertura e inizializzazione della comunicazione diano esito positivo altrimenti le query porterebbero ad errori e problemi nel VI. Si è incontrato un esempio di questo test di connettività durante la creazione del DSN nel Pannello di Controllo di Windows: l ultima finestra (sia per MySQL che per Microsoft SQL Server) permette di eseguire una prova di accesso al database prima di confermare i dati. La comunicazione tra LabView e i database avviene per fasi successive: tramite la funzione ADODB. _Connection viene richiamato il database. Con il metodo open si accede al database, con il metodo execute viene elaborata la query e i dati ottenuti come risultato possono essere formattati (con il metodo getstring ) e visualizzati in forma tabellare. Al sito http://www.jeffreytravis.com/lost/labsql.html è possibile scaricare una libreria gratuita di comunicazione tra LabView e i database. Autore Gabriele Melani Pagina 13 di 13

5. VI di esempio: eseguire una query singola su un database Come esempio viene presentato un VI che esegue una singola query su un database e presenta i dati ottenuti in forma matriciale: Fig. 16. Block Diagram In Fig. 16 si possono vedere i metodi applicati al database collegati in sequenza: 1. Apertura ActiveX 2. Scelta del database e connessione 3. Inserimento query ed elaborazione 4. Formattazione dei risultati ottenuti e chiusura del recordset 5. Chiusura del riferimento al database analizzato Autore Gabriele Melani Pagina 14 di 14

Fig. 17. Front Panel In Fig. 17 si possono notare i valori forniti ai blocchi del block diagram (Fig. 16): a) DSN, UserID, Password per l accesso al database b) Query di interrogazione c) Risultato dell interrogazione seguita È interessante osservare il contenuto della casella di testo denominata getstring ottenuta come risultato del metodo execute. I risultati della query posta al database vengono restituiti sottoforma di stringa alfanumerica. Questa stringa può essere formattata in base alle proprie esigenze per essere successivamente elaborata e suddivisa nei diversi campi al fine di creare una tabella (i dati all interno della tabella data coincidono con i dati presenti nella casella di testo getstring divisi per campo di appartenenza). Utilizzando le celle della tabella (lavorando sugli indici di riga e colonna) possono essere isolati singoli valori per eseguire operazioni particolari quali media, massimo, minimo I dati ottenuti possono poi essere visualizzati in forma grafica passando in ingresso al chart / graph un vettore creato con i dati estratti dalla tabella. Autore Gabriele Melani Pagina 15 di 15

Di seguito viene riportata una soluzione ottimizzata per la formattazione dei dati ottenuti tramite query (proposta da Alessandro Ricco, ILVG Admin): Fig. 18. Formattazione alternativa dei risultati Seguendo questa procedura i risultati della query vengono formattati secondo la seguente struttura: Fig. 19. Casella getstring contenente il risultato della query E se invece il database è stato realizzato con Microsoft SQL? Il VI riportato in Fig. 16 non subisce variazioni. Quello che cambia è la query: il dialetto compreso da Microsoft SQL Server segue regole diverse da MySQL. Modificando la query in relazione al dialetto usato si ottengono i risultati desiderati. Questo significa che se la query di interrogazione è stata inserita a mano libera dall utente è sufficiente cancellarla e riscriverla con la sintassi corretta mentre in caso di query costruite con blocchi String deve essere modificato l ordine di collegamento dei blocchi stessi. Di seguito viene mostrata una query complessa realizzata in MySQL e in Microsoft SQL: l ordine delle parole chiave nella frase è diverso e, di conseguenza, è diverso l ordine di collegamento dei blocchi costituenti la query in LabView. Il resto del VI rimane uguale. Autore Gabriele Melani Pagina 16 di 16

MySQL SELECT * FROM dati WHERE date(dataora)>='2006-03-28 14:00:00' Microsoft SQL SELECT * FROM dati WHERE (dataora >= CONVERT(DATETIME, '2006-03-28 14:00:00', 102)) In entrambi i casi la query estrae dalla tabella dati del database i record registrati dopo le ore 14.00 del 28 Marzo 2006 (data e ora di acquisizione del dato sono memorizzati nel campo dataora della tabella dati ). In LabView le query assumono l aspetto seguente: MySQL Microsoft SQL Quindi si può concludere che LabView può essere utilizzato per lavorare con diversi tipi di database senza modificare interamente il VI ma adattandolo al dialetto SQL considerato. All indirizzo http://zone.ni.com/devzone/conceptd.nsf/webmain/fa0a99e9bd96c8e98625713d007167ec#2 si può leggere il manuale di LabView Database Connectivity Toolkit, un tool integrativo di LabView contenente le librerie di comunicazione con i database. Può essere interessante sfogliare il manuale per conoscere altre nozioni riguardanti l interazione tra LabView e i database. Altre informazioni sui database e l interazione con LabView si possono leggere all indirizzo http://www.lavag.org/archives/on/files/using_mysql_with_labview.pdf. Dal sito ILVG, nella sezione articoli, è possibile scaricare il documento preparato da Nicola Bavarone dal titolo Database e LabView (http://www.ilvg.it/forum/download.php?id=299). In questo articolo viene trattata la comunicazione tra LabView e i database Access (tecnologie DAO e ADO) e si può leggere una breve presentazione del toolkit della National Instrument per l accesso ai Database. Autore Gabriele Melani Pagina 17 di 17