FileMaker 8. Guida per sviluppatori ODBC e JDBC



Похожие документы
FileMaker 8. Installazione dei driver client FileMaker 8 ODBC e JDBC

FileMaker 12. Guida ODBC e JDBC

FileMaker 9. Guida ODBC e JDBC

FileMaker Pro 13. Utilizzo di una Connessione Desktop Remota con FileMaker Pro13

FileMaker Server 12. Guida alla configurazione dell installazione in rete

FileMaker Server 14. Guida alla configurazione dell installazione in rete

FileMaker 11. Guida ODBC e JDBC

Manuale per la configurazione di AziendaSoft in rete

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

FileMaker Pro 11. Esecuzione di FileMaker Pro 11 su Servizi Terminal

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Capitolo 4 Pianificazione e Sviluppo di Web Part

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Installazione del software Fiery per Windows e Macintosh

Benvenuti! Novità di PaperPort 10

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (utente singolo)

Database Manager Guida utente DMAN-IT-01/09/10

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per utenti singoli)

FileMaker 12. Guida di Pubblicazione Web Immediata

Aggiornamenti Sistema Addendum per l utente

FileMaker Server 11. Guida alla configurazione dell'installazione in rete

FileMaker 10. Guida ODBC e JDBC

FileMaker 13. Guida ODBC e JDBC

FileMaker Server 13. Guida alla configurazione dell'installazione in rete

SPSS Inc. Data Access Pack - Istruzioni di installazione per Windows

FPf per Windows 3.1. Guida all uso

Guida Google Cloud Print

Laplink FileMover Guida introduttiva

Outlook Plugin per VTECRM

Istruzioni per l uso della Guida. Icone utilizzate in questa Guida. Istruzioni per l uso della Guida. Software di backup LaCie Guida per l utente

Abilitazione e uso del protocollo EtherTalk

Xerox 700 Digital Color Press con Integrated Fiery Color Server. Stampa di dati variabili

Aggiornamento del software

Lezione 9. Applicazioni tradizionali

Istruzioni per l'installazione e la disinstallazione dei driver della stampante PostScript e PCL per Windows Versione 8

Guida Google Cloud Print

GUIDA UTENTE WEB PROFILES

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per utenti singoli)

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per sito)

Conferencing. Novell. Conferencing 1.0. novdocx (it) 6 April 2007 AVVIARE IL CLIENT CONFERENCING: ACCESSO. Luglio 2007

Licenza per sito Manuale dell amministratore

IBM SPSS Statistics per Mac OS - Istruzioni di installazione (Licenza per sito)

GRUPPO CAMBIELLI. Posta elettronica (Webmail) Consigli di utilizzo

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel

MANUALE UTENTE Fiscali Free

COME CREARE E COLLEGARSI AD UN DATABASE MICROSOFT SQL SERVER O SUN MYSQL

SCOoffice Mail Connector for Microsoft Outlook. Guida all installazione Outlook 2002

Installazione MS SQL Express e utilizzo con progetti PHMI

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

FileMaker 14. Guida ODBC e JDBC

ACCESSO AL SISTEMA HELIOS...

Studio Legale. Guida operativa

I Codici Documento consentono di classificare le informazioni e di organizzare in modo logico l archiviazione dei file.

SCOoffice Address Book. Guida all installazione

PORTALE CLIENTI Manuale utente

MANUALE PARCELLA FACILE PLUS INDICE

Programma di configurazione di reti NetWare

Fiery Driver Configurator

SCOoffice Mail Connector for Microsoft Outlook. Guida all installazione Outlook 97, 98 e 2000

STRUMENTO PER LA COMPRESSIONE E LA CRIPTAZIONE DI FILE

DURC Client 4 - Guida configurazione Firma Digitale. DURC Client 4.1.7

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

CERTIFICATI DIGITALI. Manuale Utente

Software di gestione della stampante

SOMMARIO... 3 INTRODUZIONE...

Guida Google Cloud Print

SCARICO DATI ONETOUCH Verio per EuroTouch Home GUIDA ALL USO

Manuale per l utente. Outlook Connector for MDaemon

L accesso ad una condivisione web tramite il protocollo WebDAV con Windows XP

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

Guida di Opzioni Fiery 1.3 (client)

Al giorno d oggi, i sistemi per la gestione di database

Acronis License Server. Manuale utente

SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE

Manuale Utente Albo Pretorio GA

Windows 98 e Windows Me

Il tuo manuale d'uso. LEXMARK X502N

NAS 208 WebDAV Un'alternativa sicura per la condivisione di file su FTP

Istruzioni per la configurazione di Internet Explorer

Installazione e utilizzo di Document Distributor 1

Windows 2000, Windows XP e Windows Server 2003

Prima di iniziare la procedura d installazione, verificare che siano disponibili tutte le informazioni e le attrezzature necessarie

FOXWave Gestione gare ARDF IZ1FAL Secco Marco Sezione ARI BIELLA

5.3 TABELLE RECORD Inserire, eliminare record in una tabella Aggiungere record Eliminare record

Sicurezza dei file Le protezioni nei programmi

Corso BusinessObjects SUPERVISOR

Cosa è un foglio elettronico

Comando Generale Arma dei Carabinieri

Guida all installazione di Easy

Guida all'impostazione dei messaggi di avviso e delle destinazioni di scansione per le stampanti X500 Series

Manuale d'uso del Connection Manager

FileMaker Server 11. Guida all'aggiornamento dei plug-in

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

Software di parcellazione per commercialisti Ver [10/09/2015] Manuale d uso [del 10/09/2015]

Guida alla ricerca e soluzione dei guasti HASP

FileMaker Server 12. Guida introduttiva

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

Транскрипт:

FileMaker 8 Guida per sviluppatori ODBC e JDBC

2004-2005 Filemaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker è un marchio di FileMaker, Inc., registrato negli Stati Uniti e in altri Paesi. ScriptMaker e il logo della cartella di file sono marchi di FileMaker, Inc. La documentazione di FileMaker è protetta da copyright. Non è permesso fare copie o distribuire questa documentazione senza previa autorizzazione scritta di FileMaker. È possibile utilizzare la presente documentazione soltanto unitamente a una copia del software FileMaker concessa in licenza. Tutte le persone e le società elencate negli esempi sono fittizie e ogni riferimento a persone o società esistenti è puramente casuale. Gli autori sono elencati nel documento Riconoscimenti fornito insieme con questo software. Per ulteriori informazioni, visitare il sito Web all indirizzo www.filemaker.com. Edizione: 01

Sommario Capitolo 1 Introduzione 7 Informazioni su questa guida 7 Utilizzo di ODBC e JDBC con FileMaker 8 Uso di un file di database FileMaker come origine dati 8 Requisiti di rete 9 Uso di FileMaker Pro come applicazione client 9 Aggiornamento di file di versioni precedenti 10 Se un file di database FileMaker è stato condiviso in precedenza come origine dati 10 Se FileMaker Pro è stato usato come client per accedere ad un origine dati 10 Capitolo 2 Uso di ODBC per condividere dati FileMaker 11 Informazioni su ODBC 11 Uso del driver client ODBC 12 Accesso a un file di database FileMaker - introduzione 13 Accesso a un file di database FileMaker da un applicazione Windows 14 Installazione del driver client ODBC (Windows) 14 Specifica delle proprietà del driver client ODBC per un DSN FileMaker (Windows) 14 Verifica dell accesso attraverso ODBC (Windows) 15 Accesso ad un file di database FileMaker da un applicazione Mac OS 16 Installazione del driver client ODBC (Mac OS) 16 Configurazione del driver client ODBC (Mac OS) 16 Specifica delle proprietà del driver client ODBC per un DSN FileMaker (Mac OS) 17 Verifica dell accesso attraverso ODBC (Mac OS) 17 Capitolo 3 Uso di JDBC per condividere dati FileMaker 19 Informazioni su JDBC 19 Uso del driver client JDBC 19 Installazione del driver client JDBC 20 Driver client JDBC 20 Uso di un URL JDBC per collegarsi al database 20 Specificazione delle proprietà del driver nel nome secondario dell URL 22 Verifica accesso tramite JDBC 23

4 Guida per sviluppatori JDBC e ODBC FileMaker Capitolo 4 Standard supportati 25 Supporto caratteri Unicode 25 Istruzioni e clausole SQL 25 Istruzione SELECT 25 Istruzione DELETE 29 Istruzione INSERT 29 Istruzione UPDATE 30 Istruzione CREATE TABLE 31 Istruzione ALTER TABLE 31 Istruzione CREATE INDEX 32 Istruzione DROP INDEX 32 Clausola FROM 33 Clausola WHERE 33 Clausola GROUP BY 33 Clausola HAVING 34 Operatore UNION 34 Clausola ORDER BY 35 Clausola FOR UPDATE 35 Funzioni aggregate SQL 35 Espressioni SQL 36 Nomi di campo 36 Costanti e letterali 37 Notazione esponenziale/scientifica 37 Operatori numerici 38 Operatori alfabetici 38 Operatori data 38 Operatori relazionali 39 Operatori logici 40 Funzioni 41 Precedenza degli operatori 43 Funzioni di Catalogo ODBC 44 Funzioni Meta Data JDBC 44

Sommario 5 Appendice A Mappatura di campi FileMaker su dati di tipo ODBC 45 Appendice B Mappatura di campi FileMaker su dati di tipo JDBC 47 Appendice C Messaggi di errore ODBC e JDBC 49 Messaggi di errore ODBC 49 Messaggi di errore driver ODBC 49 Messaggi di errore ODBC Driver Manager 49 Messaggi di errore SequeLink Client 49 Messaggi di errore SequeLink Server 50 Messaggi di errore origine dati 50 Messaggi di errore JDBC 50 Messaggi di errore driver JDBC 50 Messaggi di errore SequeLink Server 50 Messaggi di errore origine dati 51 Indice 53

6 Guida per sviluppatori JDBC e ODBC FileMaker

Capitolo 1 Introduzione Benvenuti alla Guida per sviluppatori ODBC e JDBCdi FileMaker. Questa Guida spiega come condividere dati FileMaker con altre applicazioni, usando ODBC (Open Database Connectivity) e JDBC (Java Database Connectivity). Questa Guida spiega inoltre in che modo i driver client ODBC e JDBC supportano gli standard industriali per ODBC, JDBC e SQL (Structured Query Language), quando vengono utilizzati con FileMaker Pro e FileMaker Server Advanced. È possibile utilizzare FileMaker Pro, FileMaker Pro Advanced o FileMaker Server Advanced, per creare e testare la soluzione di database. È quindi possibile condividere la soluzione FileMaker come origine dati con applicazioni compatibili con ODBC e JDBC, oppure accedere ad altre origini dati ODBC usando la propria soluzione FileMaker come applicazione client. Informazioni su questa guida 1 Questo documento contiene le informazioni su come accedere ai dati e su come condividerli usando ODBC e JDBC solo con FileMaker Pro 8, FileMaker Pro 8 Advanced e FileMaker Server 8 Advanced. Per informazioni sull uso di ODBC e JDBC con le versioni precedenti di FileMaker Pro scaricare la documentazione relativa dal sito www.filemaker.com/odbc. 1 Per poter usare questa Guida è necessario avere conoscenze di base sull uso di ODBC e JDBC e sulla costruzione di query SQL. Per informazioni su questi argomenti consultare il materiale di riferimento relativo. 1 Per informazioni dettagliate sulle funzioni di FileMaker Pro, tra cui l accesso ad altre origini dati tramite ODBC, consultare la Guida di FileMaker Pro. 1 Nella documentazione di FileMaker Pro l espressione pubblicazione sul Web viene utilizzata per indicare i database ai quali gli utenti possono accedere via Internet o Intranet usando un browser Web. 1 In questa guida il termine FileMaker Pro indica sia FileMaker Pro sia FileMaker Pro Advanced, a meno che non vengano descritte caratteristiche specifiche di FileMaker Pro Advanced. 1 In questa Guida il termine FileMaker Server indica FileMaker Server 8 Advanced, che permette di condividere file di database FileMaker con altre applicazioni mediante ODBC e JDBC. Importante È possibile scaricare i file PDF della documentazione di FileMaker 8 da www.filemaker.it. Anche eventuali aggiornamenti a questa documentazione sono disponibili sul sito www.filemaker.com/odbc.

8 Guida per sviluppatori JDBC e ODBC FileMaker Utilizzo di ODBC e JDBC con FileMaker ODBC e JDBC sono API (Application Programming Interfaces). Queste API offrono alle applicazioni client un linguaggio comune per interagire con vari servizi di database e origini dati, compresi FileMaker Pro e FileMaker Server. Tutte le applicazioni che supportano ODBC e JDBC riconoscono un sottogruppo base di istruzioni SQL. Lavorando con SQL, è possibile utilizzare altre applicazioni (fogli di calcolo, elaboratori di testi, strumenti per la generazione di resoconti) per visualizzare, analizzare e modificare i dati di FileMaker. SQL viene fatto passare attraverso le interfacce ODBC e JDBC all host FileMaker dell origine dati, eseguendo query come ad esempio SELECT nome, cognome FROM clienti WHERE città='parigi' ed effettuando aggiornamenti come la creazione di un nuovo record con INSERT INTO clienti (nome, cognome) VALUES ('Jane','Smith'). Uso di un file di database FileMaker come origine dati È possibile utilizzare FileMaker Server per ospitare un file di database FileMaker come origine dati, condividendo i dati con altre applicazioni tramite ODBC e JDBC. Filemaker Server consente fino a 50 connessioni e supporta l accesso locale (stesso computer) e l accesso remoto (sia per middleware, come i server Web, sia per l accesso remoto dei client da applicazioni produttive desktop). È possibile utilizzare FileMaker Pro per ospitare un file di database FileMaker come origine dati, condividendo i dati con applicazioni client tramite ODBC e JDBC. FileMaker Pro consente fino ad un massimo di cinque connessioni e supporta soltanto l accesso locale (sullo stesso computer). Il componente plug-in xdbc di cui si ha bisogno per condividere i dati con le altre applicazioni, è installato automaticamente con FileMaker Server e FileMaker Pro. Per accedere ad un file di database FileMaker ospitato, è necessario installare il corrispondente driver client ODBC o JDBC. I driver client possono essere installati con un altro programma sul CD di FileMaker nella cartella \xdbc. È anche possibile scaricare le versioni aggiornate dei driver client e la documentazione di FileMaker 8 in formato PDF dal sito www.filemaker.com/odbc. Se il file di database FileMaker viene ospitato usando FileMaker Server, rendere i driver client disponibili per gli utenti remoti. Se la soluzione del database FileMaker utilizza più di un file del database, tutti i file devono essere sullo stesso computer. Talvolta le applicazioni client usano una terminologia diversa per accedere ad un origine dati. In molte applicazioni vi sono voci di menu quali Get external data o SQL query. Per ulteriori dettagli consultare la documentazione o la Guida fornite con l applicazione. Capitolo 4, Standard supportati, descrive le istruzioni SQL supportate dai driver client ODBC e JDBC quando vengono utilizzati con FileMaker Pro e FileMaker Server. Per ulteriori informazioni sulla creazione di query SQL, consultare un manuale di terze parti.

Capitolo 1 Introduzione 9 Importante Se si disattiva la condivisione ODBC/JDBC dopo averla attivata, l origine dati ospitata da FileMaker Server o FileMaker Pro diventa immediatamente non disponibile. L amministratore del database non ha la capacità di segnalare alle applicazioni client ODBC e JDBC la disponibilità dell origine dati (l amministratore può comunicare soltanto con i client del file di database FileMaker). Non viene segnalato nessun errore; l applicazione client deve notificare agli utenti che l origine dati non è più disponibile e che le transazioni non possono essere completate. Se un applicazione client tenta di connettersi ad un file di database FileMaker non disponibile, viene visualizzato un messaggio che indica che la connessione è fallita. Se il file del database FileMaker è ospitato su Mac OS X 10.3, riavviare FileMaker Pro o FileMaker Server prima di riattivare la condivisione ODBC/JDBC (non è necessario riavviarli in Mac OS X 10.4). Vedere la guida Installazione dei driver client ODBC e JDBC FileMaker per installare i file dei driver necessari per accedere all origine dati FileMaker. Limitazioni con strumenti di terze parti Installazione guidata Microsoft Query 1 In un origine dati FileMaker non è possibile accedere a nomi di colonne o tabelle contenenti caratteri ASCII superiori o a doppio byte. Utilizzare invece Microsoft Query e inserire manualmente i caratteri racchiusi tra virgolette doppie. Microsoft Access 1 In un origine dati FileMaker non è possibile accedere a nomi di colonne o tabelle contenenti caratteri ASCII superiori o a doppio byte. 1 Non è possibile collegarsi ad un origine dati FileMaker; tuttavia, è possibile importarla. Requisiti di rete Se si usa FileMaker Server 8 per ospitare un file di database FileMaker come origine dati in una rete, è necessaria una rete TCP/IP. FileMaker Pro 8 supporta soltanto l accesso locale (sullo stesso computer). Uso di FileMaker Pro come applicazione client È possibile usare FileMaker Pro come applicazione client ODBC, che interagisce con origini dati sullo stesso computer o in una rete. Limitazioni con strumenti di terze parti Microsoft SQL Server 1 Se si esportano dati decimali, dati a virgola mobile, dati valutari o dati numerici in un file di database FileMaker, nel database deve essere selezionata l opzione del campo ad immissione automatica Valore calcolato. Questa riduce a zero il numero di posizioni decimali utilizzando la funzione Tronca (nome campo;0). Se si deseleziona l opzione nel database creato e si ripete quindi l esportazione, l opzione del campo ad immissione automatica rimane deselezionata.

10 Guida per sviluppatori JDBC e ODBC FileMaker Aggiornamento di file di versioni precedenti FileMaker Pro 8 può aprire i file creati con versioni precedenti di FileMaker. Per informazioni vedere la guida Conversione di database FileMaker da versioni precedenti. Nota FileMaker Server 8 può ospitare i file dei database di FileMaker Pro 8 e di FileMaker Pro 7v3. Filemaker Server 8 non può ospitare o convertire le versioni precedenti dei file di database FileMaker Pro. Se un file di database FileMaker è stato condiviso in precedenza come origine dati Se nelle precedenti versioni è stato utilizzato LDAC (Local Data Access Companion) o RDAC (Remote Data Access Companion) per condividere un file di database, sarà necessario apportare due modifiche. Innanzitutto, è necessario inserire gli utenti in un account con il privilegio esteso Accesso tramite ODBC/JDBC (come parte del set di privilegi dell account). Quindi è necessario abilitare la condivisione ODBC/JDBC sull host FileMaker Server o FileMaker Pro: FileMaker Pro (Windows): Scegliere il menu Modifica > Condivisione > ODBC/JDBC e impostare la Condivisione ODBC/JDBC su Attiva. FileMaker Pro (Mac OS): Selezionare il menu di FileMaker Pro > Condivisione > ODBC/JDBC e impostare Condivisione ODBC/JDBC su Attiva. Per ulteriori informazioni sulla condivisione tramite ODBC/JDBC e per la configurazione degli account e dei set di privilegi vedere la Guida di FileMaker Pro. Nota Nelle versioni precedenti di FileMaker Server e FileMaker Pro, per configurare un driver per l accesso tramite ODBC era sufficiente creare un solo DSN (Data Source Name) per l applicazione host. Il DSN unico consentiva di accedere a qualsiasi file di database FileMaker come origine dati. A partire da FileMaker Server 7 e FileMaker Pro 7, è necessario creare un DSN per ogni file di database FileMaker a cui si desidera accedere come origine dati. Se precedentemente è stato configurato l accesso attraverso un DSN unico, che consente alle tabelle di suddividersi in diversi file di database FileMaker, sarà necessario consolidare queste tabelle in un unico file di database (oppure creare diversi DSN). Se FileMaker Pro è stato usato come client per accedere ad un origine dati I driver configurati per accedere all origine dati dovrebbero ancora funzionare. Vedere www.filemaker.com/ odbc per i collegamenti con i produttori di terze parti che forniscono i driver aggiornati. Inoltre, il sistema operativo Windows comprende alcuni driver client, come il driver SQL Server. Importante Su Mac OS, i driver iodbc OpenLink sono in conflitto con quelli forniti in versioni precedenti di FileMaker. Se si installano i driver iodbc OpenLink non è più possibile utilizzare i driver Text, Oracle o SQL Server forniti con le versioni precedenti di FileMaker Pro. Per ulteriori dettagli sull uso di FileMaker Pro per accedere ad altre origini dati tramite ODBC vedere la Guida di FileMaker Pro.

Capitolo 2 Uso di ODBC per condividere dati FileMaker Utilizzare il driver client ODBC per collegarsi ad un origine dati di FileMaker da un altra applicazione. L applicazione che usa il driver client ODBC può accedere direttamente ai dati in un file di database FileMaker. In Windows, il driver client FileMaker ODBC è DataDirect 32-BIT SequeLink 5.4. In Mac OS, il driver client ODBC FileMaker è ivslk18.dylib. È inoltre possibile utilizzare FileMaker Pro come applicazione client che interagisce con i record di un altra origine dati tramite ODBC usando SQL. Per ulteriori dettagli sull accesso ad un origine dati tramite ODBC, vedere la Guida FileMaker Pro. Informazioni su ODBC ODBC è un API che consente alle applicazioni di accedere ai dati da diversi sistemi di gestione di database. ODBC offre alle applicazioni client un linguaggio comune per interagire con servizi di database e origini dati. Tutte le applicazioni che supportano ODBC riconoscono un sottogruppo comune di istruzioni. SQL permette di usare altre applicazioni (come i fogli elettronici, gli elaboratori di testo e gli strumenti per la generazione di resoconti) per visualizzare, analizzare e modificare i dati FileMaker. Per le espressioni, le funzioni e le istruzioni SQL supportate dal driver client ODBC vedere il capitolo 4, Standard supportati. L applicazione può interagire direttamente con un file di database FileMaker utilizzando il driver client ODBC. Le istruzioni SQL vengono trasmesse all host del file di database FileMaker e i risultati di tali istruzioni vengono rispediti al mittente. Se si usa FileMaker Server per ospitare un file di database FileMaker come origine dati, il file di database può trovarsi su un altra macchina (la macchina server) collegata alla rete, mentre l applicazione client si trova sul proprio computer (la macchina client). Questa relazione è detta configurazione client/server.

12 Guida per sviluppatori JDBC e ODBC FileMaker Componenti ODBC Applicazione client Driver Manager Oracle Driver ODBC Driver ODBC SQL Server Driver client ODBC Oracle Microsoft SQL Server FileMaker Uso del driver client ODBC È possibile utilizzare il driver client ODBC con qualsiasi applicazione compatibile ODBC. Condividendo il file di database FileMaker come origine dati, è possibile: 1 eseguire stampe unione con Microsoft Word 1 creare grafici con Microsoft Excel 1 spostare dati FileMaker in un DBMS, come Microsoft SQL Server 1 analizzare ulteriormente i dati di FileMaker Pro con strumenti per la generazione di query o resoconti, per creare grafici, generare query mirate ed eseguire analisi specifiche 1 creare un applicazione Microsoft Visual Basic in grado di condividere informazioni con FileMaker Pro Per condividere un file di database FileMaker come origine dati, utilizzare FileMaker Pro per definire gli account che dovranno avere accesso al file di database. Quindi, controllare l accesso al file di database assegnando set di privilegi agli account, compreso il privilegio esteso di accesso attraverso ODBC/JDBC. Infine, attivare la condivisione dei dati mediante ODBC/JDBC nell applicazione host FileMaker Server o FileMaker Pro. Per ulteriori dettagli vedere la Guida di FileMaker Pro o FileMaker Server. Importante Il driver client ODBC sostituisce il driver ODBC FileMaker Pro rilasciato con una versione precedente di FileMaker. Se in precedenza è stato configurato l accesso ad un origine dati FileMaker usando il vecchio driver, sarà necessario ridefinire l accesso usando e configurando il nuovo driver.

Capitolo 2 Uso di ODBC per condividere dati FileMaker 13 Accesso a un file di database FileMaker - introduzione Da un applicazione compatibile ODBC è possibile creare query SQL per accedere ad un file di database FileMaker. Il driver client ODBC deve essere installato sul computer che genera la query SQL. Per accedere ad un file di database FileMaker: 1. In FileMaker Pro, esaminare il set di privilegi assegnato agli account che avranno accesso al file di database. Gli account a cui deve essere consentito l accesso necessitano di un set di privilegi con il privilegio esteso Accesso tramite ODBC/JDBC. 2. Attivare la condivisione dei dati tramite ODBC/JDBC nell applicazione host di FileMaker Server (via FileMaker Server Admin) o FileMaker Pro. FileMaker Server Admin (Windows): Scegliere il menu Azione > Proprietà scheda Client > fare clic su Attiva Servizi client, quindi selezionareconsenti connessioni ODBC e JDBC. FileMaker Server Admin (Mac OS): Fare clic sul pulsante Configura, poi fare clic sulla scheda Client, quindi selezionare Consenti connessioni ODBC e JDBC. FileMaker Pro (Windows): Scegliere il menu Modifica > Condivisione > ODBC/JDBC e impostare la Condivisione ODBC/JDBC su Attiva. FileMaker Pro (Mac OS): Selezionare il menu di FileMaker Pro > Condivisione > ODBC/JDBC e impostare Condivisione ODBC/JDBC su Attiva. 3. Assicurarsi che il file di database FileMaker a cui si desidera accedere sia ospitato e disponibile. Se la soluzione del database FileMaker utilizza più di un file del database, tutti i file devono essere sullo stesso computer. 4. Connettersi all origine dati FileMaker. Talvolta le applicazioni client usano una terminologia diversa per accedere ad un origine dati tramite ODBC. In molte applicazioni vi sono voci di menu quali Get external data o SQL query. Per ulteriori dettagli consultare la documentazione o la Guida fornite con l applicazione. 5. Creare ed eseguire una query SQL nell applicazione client. Ogni file di database FileMaker aperto e configurato per l accesso è un origine dati separata (si crea un DSN per ogni file di database FileMaker a cui si desidera accedere come origine dati). Ogni database può avere una o più tabelle. I campi FileMaker sono rappresentati sotto forma di colonne. Il nome completo del campo, compresi gli eventuali caratteri non alfanumerici, viene visualizzato come nome di colonna. Nota In Windows, Microsoft Access può importare tramite ODBC un numero massimo di 32 campi per volta da un file di database FileMaker. Se il file di database ha più di 32 campi, importarli a gruppi di 32. Importante Se il file del database FileMaker è ospitato su Mac OS, i driver client non possono accedere a nomi di database o di tabelle che contengono caratteri ASCII superiori, a doppio byte o giapponesi. Se il file di database FileMaker utilizza questi caratteri, creare un secondo database e utilizzare esclusivamente caratteri ASCII per i nomi di file e tabelle. Creare nel secondo database un riferimento al file che contiene i dati nel file del database originale. Condividere entrambi i file con ODBC/JDBC, ma utilizzare il secondo file di database per definire il DSN.

14 Guida per sviluppatori JDBC e ODBC FileMaker Accesso a un file di database FileMaker da un applicazione Windows Installazione del driver client ODBC (Windows) Il driver client ODBC può essere installato con un programma separato, disponibile nel CD della Pubblicazione immediata Web FileMaker Server e nel CD FileMaker Pro nella cartella \xdbc\odbc Client Driver Installer. È inoltre possibile scaricare l ultima versione del driver client ODBC e i file PDF della documentazione ODBC FileMaker da www.filemaker.com/odbc. Per le istruzioni di installazione, vedere Installazione dei driver client ODBC e JDBC FileMaker, disponibile come documento PDF sul CD nella cartella FileMaker Pro \xdbc\documentazione elettronica e nella cartella \Italiano Extra\Documentazione elettronica dove è stato installato FileMaker Server. Specifica delle proprietà del driver client ODBC per un DSN FileMaker (Windows) Creare un DSN per ogni file di database FileMaker a cui si desidera accedere come origine dati (nelle versioni precedenti di FileMaker Server e FileMaker Pro, si creava soltanto un DSN per tutti i file di database FileMaker ospitati dall applicazione). Il DSN identifica il driver client ODBC FileMaker, l applicazione host (FileMaker Server o FileMaker Pro) e il file di database FileMaker a cui si sta accedendo come origine dati. Per impostare o cambiare le proprietà del driver client ODBC: 1. Aprire il pannello di controllo Amministrazione origine dati ODBC. Nel Pannello di controllo Windows scegliere Strumenti di amministrazione > Origine dati (ODBC). In Windows XP Strumenti di amministrazione appare nella categoria Prestazioni e manutenzione. 2. Fare clic su DSN di sistema. Se è stata impostata un origine dati come DSN utente o DSN su file, fare clic sulla scheda corrispondente. 3. Fare clic su Aggiungi. Se si stanno modificando le proprietà di un origine dati esistente, selezionare l origine dati, fare clic su Configura e passare al punto 6. 4. Scegliere DataDirect 32-BIT SequeLink 5.4 dalla lista dei driver. Se il driver non compare in Amministrazione origine dati ODBC, cercare la voce (Predefinito) della chiave di registro HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC driver utilizzando Regedit (selezionare il menu Start > Esegui > Regedit). I dati per questa voce devono essere (valore non impostato). Se invece si vede una stringa vuota, fare clic con il tasto destro del mouse su (Predefinito), selezionare Elimina e fare clic su Sì per confermare. Questo ripristina la voce su (valore non impostato). Disinstallare e reinstallare il driver client ODBC per vederlo nell Amministrazione origine dati ODBC. 5. Fare clic su Fine. Si apre la finestra di dialogo per la configurazione ODBC del DataDirect SequeLink, con la scheda Generale selezionata. 6. Per Nome origine dati, digitare un nome significativo per tutti gli altri utenti che accederanno all origine dati FileMaker. Un ulteriore Descrizione è facoltativa. Assicurarsi che l opzione Usa LDAP non sia selezionata. Il driver client ODBC non comprende.dll di traduzione (quindi se si fa clic su Traduci non sarà possibile configurare un traduttore ODBC).

Capitolo 2 Uso di ODBC per condividere dati FileMaker 15 7. Per SequeLink Server Host, inserire il percorso dell origine dati. Se si esegue la connessione ad un file di database FileMaker ospitato da FileMaker Pro sul proprio computer locale, digitare localhost (oppure 127.0.0.1). Se si esegue la connessione ad un file di database FileMaker ospitato da FileMaker Server in rete, digitare l indirizzo IP di FileMaker Server. 8. Per Porta SequeLink Server, digitare 2399. 9. Per Origine dati server, digitare il nome del file del database FileMaker che si sta utilizzando come origine dati (non digitare l estensione del file). Se è stata attivata la condivisione mediante ODBC/JDBC nell applicazione host FileMaker Pro o FileMaker Server, fare clic sul pulsante a destra di Origine dati server per visualizzare i nomi dei file di database FileMaker correntemente aperti tra i quali si può scegliere. Se il nome del database contiene spazi, sostituirlo con i caratteri di escape %20. Ad esempio, serverdatasource=my%20database. 10. Fare clic su OK per salvare le informazioni sull origine dati. Se si sta condividendo un altro file di database FileMaker, ritornare al passo 3 e configurare il file di database come origine dati. 11. Fare clic su OK per chiudere la finestra di dialogo Amministrazione origine dati ODBC. Importante Per configurare un origine dati FileMaker, è necessario specificare 2399 come porta SequeLink Server. Verifica dell accesso attraverso ODBC (Windows) Per verificare che il driver client ODBC sia stato configurato correttamente per l accesso all origine dati di FileMaker: 1. Aprire il pannello di controllo Amministrazione origine dati ODBC. Nel Pannello di controllo Windows scegliere Strumenti di amministrazione > Origine dati (ODBC). In Windows XP Strumenti di amministrazione appare nella categoria Prestazioni e manutenzione. 2. Fare clic su DSN di sistema. Se è stata impostata un origine dati come DSN utente o DSN su file, fare clic sulla scheda corrispondente. 3. Scegliere l origine dati FileMaker configurata. Il nome dell origine dati inserito originariamente verrà visualizzato sotto Nome, e DataDirect 32-BIT SequeLink 5.4 sarà il Driver. 4. Fare clic su Configura. Si apre la finestra di dialogo per la configurazione di DataDirect SequeLink. 5. Fare clic su Connessione prova. Viene richiesto di inserire il nome utente FileMaker (in Nome utente database) e la password (in Password database).

16 Guida per sviluppatori JDBC e ODBC FileMaker Se la connessione è OK, viene visualizzato un messaggio per indicare che la connessione di prova è stata effettuata con successo. Se la connessione fallisce: 1 Assicurarsi che il file di database FileMaker sia ospitato e disponibile. 1 Aggiornare o correggere le informazioni sulla connessione. 1 Assicurarsi che il set di privilegi usi un account FileMaker con il privilegio esteso di Accesso tramite ODBC/JDBC. 1 Verificare che per l applicazione host FileMaker Pro o FileMaker Server sia stata configurata la condivisione tramite ODBC/JDBC. Accesso ad un file di database FileMaker da un applicazione Mac OS Per costruire applicazioni personalizzate utilizzare la versione 3.52.1 delle intestazioni e delle librerie iodbc. Le applicazioni costruite con la versione 3.51 possono non essere in grado di caricare il driver client. Installazione del driver client ODBC (Mac OS) Il driver client ODBC può essere installato con un programma separato, disponibile nel CD della Pubblicazione Web Immediata in FileMaker Server e nel CD FileMaker Pro nella cartella \xdbc\odbc Client Driver. È inoltre possibile scaricare l ultima versione del driver client ODBC e i file PDF della documentazione ODBC FileMaker da www.filemaker.com/odbc Per installare il driver client ODBC, copiare il file SequeLink.bundle sulla libreria di sistema o su quella utente. Se non si ha una cartella /ODBC, crearla manualmente: Libreria Sistema Utente Copiare SequeLink.bundle su questa cartella: /Libreria/ODBC /Utenti/<utente>/Libreria/ODBC Per ulteriori informazioni, vedere Installazione dei driver client ODBC e JDBC FileMaker, disponibile sul CD nella cartella FileMaker Pro \xdbc\documentazione elettronica e nella cartella \Italiano Extra\Documentazione elettronica in cui è stato installato FileMaker Server. Configurazione del driver client ODBC (Mac OS) Configurare il driver client utilizzando ODBC Administrator insieme al software che gestisce il driver iodbc raccomandato per l applicazione client. Se è necessario OpenLink ODBC Administrator, questo può essere scaricato insieme a ODBC-JDBC Lite Bridge disponibile sul sito web OpenLink. Il driver client è stato testato con i seguenti Amministratori ODBC: 1 OpenLink ODBC Administrator 3.52.1 (disponibile dal software OpenLink) 1 Apple ODBC Administrator 1.0.1 (disponibile con Mac OS 10.3)

Capitolo 2 Uso di ODBC per condividere dati FileMaker 17 Nel configurare il driver client sarà richiesta una breve descrizione e il percorso per il file driver: Se si è copiato SequeLink.bundle su questa libreria: /Libreria/ODBC /Utenti/<utente>/Libreria/ODBC Utilizzare questo percorso del driver durante la configurazione: /Libreria/ODBC/SequeLink.bundle/Contents/MacOS/ivslk18.dylib /Utenti/<utente>/Libreria/ODBC/SequeLink.bundle/Contents/MacOS/ ivslk18.dylib L ODBC Administrator permette inoltre di definire, se si desidera, le parole chiave e un percorso per il file Setup, ma il driver client non richiede queste informazioni. Specifica delle proprietà del driver client ODBC per un DSN FileMaker (Mac OS) Creare un DSN per ogni file di database FileMaker a cui si desidera accedere come origine dati (nelle versioni precedenti di FileMaker Server e FileMaker Pro, si creava soltanto un DSN per tutti i file di database FileMaker ospitati dall applicazione). Il DSN identifica il driver ODBC FileMaker, la posizione dell applicazione host e il file del database FileMaker a cui si sta accedendo come origine dati. Importante Il driver client ODBC per Mac OS non supporta caratteri ASCII superiori, a doppio byte o giapponesi nei nomi di database o di tabelle. Se il file di database FileMaker utilizza questi caratteri, creare un secondo database e utilizzare esclusivamente caratteri ASCII per i nomi di file e tabelle. Creare nel secondo database un riferimento al file che contiene i dati nel file del database originale. Condividere entrambi i file con ODBC/JDBC, ma utilizzare il secondo file di database per definire il DSN. Sarà inoltre necessario specificare questi valori di parole chiave per il DSN: Parola chiave Host Valore Se si esegue la connessione ad un file di database FileMaker ospitato da FileMaker Pro sul proprio computer locale, digitare localhost (oppure 127.0.0.1) Se si esegue la connessione ad un file di database FileMaker ospitato da FileMaker Server in rete, digitare l indirizzo IP o il nome host di FileMaker Server. Porta Digitare 2399. ServerDataSource Digitare il nome del file del database FileMaker che si sta utilizzando come origine dati (non digitare l estensione del file). Se il nome del database contiene spazi, sostituirlo con i caratteri di escape %20. Ad esempio, ServerDataDource=MY%20DATABASE. I caratteri a doppio byte non sono supportati. Importante Se si cerca di aggiungere un DSN con iodbc Administrator e si riceve il messaggio Impossibile caricare driver o libreria di installazione traduttore, scaricare e installare ODBC-JDBC Lite Bridge (m6i5jzzz.dmg) dal sito web di OpenLink. Il file scaricato fornisce un ODBC Administrator che permette di creare con successo un DSN. Per link a ulteriori informazioni dettagliate, vedere www.filemaker.com/odbc. Verifica dell accesso attraverso ODBC (Mac OS) OpenLink ODBC Administrator permette di verificare che il driver client ODBC sia stato configurato correttamente per accedere all origine dati FileMaker.

18 Guida per sviluppatori JDBC e ODBC FileMaker

Capitolo 3 Uso di JDBC per condividere dati FileMaker I programmatori Java possono usare il driver client JDBC con qualsiasi strumento RAD (Rapid Application Development) per creare visivamente un applicazione o un applet Java che si connetta all origine dati FileMaker. L applicazione o l applet Java che usa il driver client JDBS può accedere direttamente ai dati in un file di database FileMaker. Informazioni su JDBC JDBC è un API Java che esegue istruzioni SQL, il linguaggio standard usato per accedere ai database relazionali. JDBC è un nome e non un acronimo, nonostante si creda comunemente che sia l acronimo di Java Database Connectivity perché è l equivalente Java di ODBC. JDBC è un interfaccia di basso livello, cioè viene usata per richiamare direttamente i comandi SQL. Può essere usata anche come base per strumenti e interfacce di livello superiore. L applicazione o l applet Java può interagire direttamente con il file di database FileMaker usando il driver client JDBC. Le istruzioni SQL vengono trasmesse all host del file di database FileMaker e i risultati di tali istruzioni vengono rispediti al mittente. Se si usa FileMaker Server come host, il file del database FileMaker usato come origine dati può trovarsi su un altro computer (il computer server) connesso alla rete, mentre l applicazione client o l applet Java si trovano sul proprio computer (computer client). Questa relazione è detta configurazione client/server. protocollo DBMS proprietario Applicazione Java Driver JDBC Computer client FileMaker Server database Uso del driver client JDBC È possibile usare il driver client JDBC con un compilatore Java o con uno strumento RAD per effettuare la connessione al database mentre si crea il codice per l applet o l applicazione Java. Una volta creato l applet o l applicazione Java, affinché questi siano in grado di comunicare con il database è necessario che il driver client JDBC sia presente con i file o compreso nel codice. Per utilizzare il driver client JDBC, l applicazione o l applet Java devono registrare il driver nel JDBC driver manager; inoltre è necessario specificare l URL esatto di JDBC nell applicazione o nell applet. È necessario l URL di JDBC per effettuare la connessione al database.

20 Guida per sviluppatori JDBC e ODBC FileMaker Installazione del driver client JDBC Il driver client JDBC può essere installato con un programma separato, disponibile nel CD della Pubblicazione Web Immediata di FileMaker Server e nel CD FileMaker Pro nella cartella \xdbc\jdbc Client Driver Installer. Il driver è compresso come file di archivio Java con estensione.jar e contiene una raccolta di file di classi. È inoltre possibile scaricare l ultima versione del driver client JDBC (per Windows o Mac OS) e la documentazione di FileMaker JDBC in formato PDF da www.filemaker.com/jdbc. Per le istruzioni di installazione, vedere Installazione dei driver client ODBC e JDBC FileMaker, disponibile come documento PDF sul CD nella cartella FileMaker Pro \xdbc\documentazione elettronica e nella cartella \Italiano Extra\Documentazione elettronica dove è stato installato FileMaker Server. Driver client JDBC Il driver del client JDBC fornisce supporto parziale per la specifica JDBC 3.0. Per i collegamenti ad ulteriori informazioni dettagliate, vedere www.filemaker.com/jdbc. Vedere anche il SequeLink Developer s Reference disponibile su www.datadirect.com. Il driver client JDBC è progettato per lavorare con Java Development Kit (JDK) 1.4. È un driver Type 4, un driver Java puro con protocollo originale che converte le chiamate JDBC direttamente nel protocollo di rete usato da FileMaker. Questo tipo di driver offre tutti i vantaggi Java, compresa l installazione automatica (ad esempio, lo scaricamento del driver JDBC con un applet che lo usa). Il driver funziona con JDK 1.3 e Java 2, purché si utilizzino solo chiamate JDBC 1.2 in un ambiente Java 2. La classe del driver e il punto di ingresso principale del driver sono: com.ddtek.jdbc.sequelink.sequelinkdriver Importante Il driver client JDBC sostituisce il driver JDBC FileMaker Pro rilasciato con una versione precedente di FileMaker. Se in precedenza è stato configurato l accesso ad un origine dati FileMaker usando il vecchio driver, sarà necessario ridefinire l accesso usando e configurando il nuovo driver. Uso di un URL JDBC per collegarsi al database A molte risorse Java si accede mediante gli URL (Uniform Resource Locators). Gli URL JDBC vengono utilizzati per identificare il database, in modo che il driver client JDBC possa riconoscere e stabilire una connessione con il database. L URL JDBC è composto da tre parti principali, separate dal segno di due punti: jdbc:<protocollo secondario>:<nome secondario> La prima parte nell URL JDBC è sempre il protocollo JDBC ( jdbc ). Il protocollo secondario è il nome del driver o il nome del meccanismo che supporta più driver. Per il driver client JDBC, il protocollo secondario è sequelink. Il nome secondario è l indirizzo IP della macchina che ospita l origine dati FileMaker.

Capitolo 3 Uso di JDBC per condividere dati FileMaker 21 Registrazione del driver client JDBC e connessione ad un origine dati FileMaker (un esempio) Ecco un esempio di JDBCTest che: 1. Registra il driver client JDBC in JDBC driver manager 2. Stabilisce una connessione con l origine dati FileMaker (l URL JDBC è jdbc:sequelink:// 17.184.17.170:2399) 3. Restituisce codici di errore import java.sql.*; class FMPJDBCTest { public static void main(string[ ] args) { // registra il driver client JDBC try { Driver d = (Driver)Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver").newInstance(); } catch(exception e) { System.out.println(e); } // stabilisce una connessione con FileMaker Connection con; try { con = DriverManager.getConnection("Jdbc:sequelink://17.184.17.170:2399; user=some user;password=some password",nomeutente, password); } catch(exception e) { system.out.println(e); } // avviso connessione SQLWarning warning = null; try { warning = con.getwarnings(); if (warning == null) { System.out.println("Nessun messaggio d'avviso"); return; } while (warning!= null) { System.out.println("Avviso: "+ messaggio d'avviso); warning = warning.getnextwarning(); } } catch (Exception e) { } Sysem.out.println(e); } } Nota Questo esempio non è stato progettato per essere compilato.

22 Guida per sviluppatori JDBC e ODBC FileMaker Specificazione delle proprietà del driver nel nome secondario dell URL Specificare le proprietà del driver (nome utente e password) nel nome secondario dell URL JDBC. Si tratta di proprietà che possono essere passate alla connessione quando si richiama il metodo DriverManager.getConnection mediante il parametro Proprietà. 1 utente: un account nel file di database FileMaker che usa un set di privilegi con il privilegio esteso Accesso tramite ODBC/JDBC 1 password: la password per l account nel file di database FileMaker Connessione URL JDBC di base Formato: jdbc:sequelink://<indirizzo IP host sequelink>:<porta> Questo è l URL per connettersi al file di database FileMaker senza password. Il numero di porta sarà sempre 2399 (non è possibile spostare la condivisione JDBC ad una porta diversa). Se si esegue la connessione URL JDBC dallo stesso computer in cui è situato il file, è possibile usare jdbc:sequelink://localhost:2399 Esempio: jdbc:sequelink://17.184.17.170:2399 Connessione URL JDBC con nome utente e password definiti nell URL Formato: jdbc:sequelink://<indirizzo IP host sequelink>:<porta>; user=<nomeutente>;password=<password>; Esempio: jdbc:sequelink://17.184.17.170:2399;user=phil;password=jsp Connessione URL JDBC con il nome del database specificato nell URL Formato: jdbc:sequelink://<indirizzo IP host sequelink>:<porta>; serverdatasource=<nomedatabase> Esempio: jdbc:sequelink://17.184.17.170:2399;serverdatasource=publications Se il nome del database contiene spazi, sostituirli con i caratteri di escape %20. Esempio: jdbc:sequelink://17.184.17.170:2399;serverdatasource=my%20database Connessione URL JDBC con il nome del database, il nome utente e la password specificati nell URL Formato 1 (utilizzando nome utente e password): jdbc:sequelink://<indirizzo IP host sequelink>:<porta>;serverdatasource=<nomedatabase>;dbuser=<nomeutentedatabase>; DBPassword=<passworddatabase> Formato 2 (usando nome utente e password host): jdbc:sequelink://<indirizzo IP host sequelink>:<porta>;serverdatasource=<nomedatabase>;huser=<nomeutente>; HPassword=<password>; Nota Se la soluzione database FileMaker utilizza molti file di database FileMaker, creare un ulteriore file di database che contenga tutti i riferimenti necessari al file esterno, ricorrenze tabella e relazioni per la soluzione. Quindi definire questo file di database aggiuntivo come origine dati nell URL JDBC. Tutti i file di database FileMaker devono essere sullo stesso computer.

Capitolo 3 Uso di JDBC per condividere dati FileMaker 23 Nota La crittografia SSL (Secure Socket Layer) non è supportata. Per creare una soluzione JDBC più sicura, configurare un ambiente come ad esempio.asp o.jsp, dove il server Web esegue l hosting tramite https e comunica con il file di database FileMaker protetto da un firewall. Verifica accesso tramite JDBC Al momento dell installazione del driver client JDBC viene offerta la possibilità di installare JDBCTest per verificare più facilmente le connessioni. Durante l installazione del driver client JDBC, selezionare Install Developer s Tools per installare JDBCTest. Per informazioni vedere il file PDF Installazione dei driver client ODBC e JDBC FileMaker. È possibile scaricare i PDF aggiornati relativi alla documentazione di FileMaker 8 JDBC da www.filemaker.com/jdbc. Durante la verifica dell accesso ad un file di database FileMaker tramite JDBC, assicurarsi che: 1 Il file di database FileMaker sia ospitato e disponibile. 1 L account FileMaker utilizzi un set di privilegi con il privilegio esteso di Accesso tramite ODBC/JDBC (nel file di database FileMaker). 1 Per l applicazione host di FileMaker Pro o FileMaker Server è stata configurata la condivisione tramite ODBC/JDBC. 1 La registrazione del driver client JDBC e l URL JDBC siano corretti (il driver può essere incluso nell applicazione Java o situato sul computer client). Per ulteriori informazioni ed esempi sull uso di Java e JDBC per lo scambio dei dati in generale o per la pubblicazione dei dati di FileMaker sul Web vedere il sito www.filemaker.com/jdbc.

24 Guida per sviluppatori JDBC e ODBC FileMaker

Capitolo 4 Standard supportati In questo capitolo sono descritti le istruzioni e i costrutti SQL supportati dai driver client ODBC e JDBC FileMaker. Utilizzare i driver client per accedere alla soluzione del database FileMaker da un applicazione compatibile con ODBC o JDBC. La soluzione di database FileMaker può essere ospitata da FileMaker Pro o da FileMaker Server. Il driver client ODBC supporta ODBC 3.5 Level 1 con alcune funzioni del Level 2. Il driver client JDBC fornisce supporto parziale per la specifica di JDBC 3.0; vedere www.filemaker.com/jdbc per collegamenti a ulteriori informazioni dettagliate e il SequeLink Developer s Reference disponibile su www.datadirect.com. I driver client ODBC e JDBC supportano la conformità SQL-92 entry-level, con alcune funzioni intermedie SQL-92. Supporto caratteri Unicode I driver client ODBC e JDBC supportano le API Unicode. Tuttavia, se si sta creando un applicazione personalizzata che usa i driver client, usare ASCII per i nomi dei campi, delle tabelle e dei file (in caso venissero utilizzati strumenti o applicazioni di query non Unicode). Nota Per inserire e recuperare i dati Unicode utilizzare SQL_C_WCHAR (il tipo di dati SQL_C_BINARY non è supportato). Istruzioni e clausole SQL I driver client ODBC e JDBC supportano le seguenti istruzioni SQL: SELECT DELETE INSERT UPDATE CREATE TABLE ALTER TABLE CREATE INDEX DROP INDEX I driver client supportano anche la mappatura dei dati di tipo FileMaker su dati di tipo ODBC SQL e JDBC SQL. Per informazioni sulle conversioni dei tipi di dati vedere appendice A, Mappatura di campi FileMaker su dati di tipo ODBC e appendice B, Mappatura di campi FileMaker su dati di tipo JDBC. Per ulteriori informazioni sulla creazione di query SQL, consultare un manuale di terze parti. Nota I driver client ODBC e JDBC riconoscono solo la prima ripetizione in un campo multiplo. Inoltre, i driver non supportano i portali in FileMaker Pro. Istruzione SELECT Utilizzare l istruzione SELECT per specificare le colonne richieste. Far seguire l istruzione SELECT dalle espressioni di colonna (simili ai nomi di campo) che si desidera recuperare, ad esempio cognome. Le espressioni possono includere operazioni matematiche o manipolazioni di stringhe, ad esempio STIPENDIO * 1.05.

26 Guida per sviluppatori JDBC e ODBC FileMaker L istruzione SELECT può utilizzare varie clausole: SELECT [DISTINCT] {* espressione_colonna [[AS] alias_colonna],...} FROM nome_tabella [alias_tabella],... [ WHERE espr1 operatore_rel espr2 ] [ GROUP BY {espressione_colonna,...} ] [ HAVING espr1 operatore_rel espr2 ] [ UNION [ALL] (SELECT..). ] [ ORDER BY {espressione_ordinamento [DESC ASC]},... ] [ FOR UPDATE [OF {espressione_colonna,...}] ] Gli elementi racchiusi tra parentesi sono facoltativi. Nota Le istruzioni SELECT* su database più grandi e SELECT che utilizzano alias di tabella o letterali nella lista di proiezione potrebbero non funzionare correttamente. Per evitare possibile confusione non inserire caratteri jolly e specificare i nomi di tabelle e colonne senza alias. alias_colonna può essere utilizzato per assegnare alla colonna un nome più descrittivo, o per abbreviare il nome di una colonna più lunga. Ad esempio, per assegnare il settore alias alla colonna sett: SELECT sett AS settore FROM dip Davanti ai nomi dei campi possono essere aggiunti il nome della tabella o l alias della tabella. Ad esempio, IMP.COGNOME o I.COGNOME, dove I è l alias della tabella IMP. L operatore DISTINCT può precedere la prima espressione di colonna. Questo operatore elimina le righe doppie dal risultato di una query. Ad esempio: SELECT DISTINCT sett FROM dip Utilizzare questa clausola SQL FROM WHERE GROUP BY HAVING UNION ORDER BY FOR UPDATE Per Indicare le tabelle utilizzate nell istruzione SELECT. Specificare le condizioni che i record devono soddisfare per essere recuperati, come nel caso di una richiesta di ricerca di FileMaker Pro. Specificare i nomi di uno o più campi in base a cui raggruppare i valori restituiti. Questa clausola viene utilizzata per restituire una serie di valori aggregati tramite la restituzione di una riga per ciascun gruppo, come nel caso di un riassunto parziale di FileMaker Pro. Specificare le condizioni per i gruppi di record, ad esempio per visualizzare solo i settori per cui l importo complessivo degli stipendi è superiore a 200.000 Euro. Questa clausola è valida solo se è già stata definita una clausola GROUP BY. Combinare i risultati di due o più istruzioni SELECT. Specificare l ordinamento dei record. Bloccare i record della tabella di database selezionati tramite l istruzione SELECT. Nota Se si vogliono recuperare i dati da una tabella senza colonne, l istruzione SELECT non viene eseguita.

Capitolo 4 Standard supportati 27 Esempi L esempio che segue recupera i nomi dei dipendenti con stipendio uguale o superiore a 20.000 Euro: SELECT cognome,nome FROM dip WHERE stipendio >= 20000 L esempio che segue utilizza la clausola ORDER BY per disporre i record in ordine ascendente in base sia al cognome che al nome: SELECT id_dip, cognome, nome FROM dip ORDER BY cognome, nome Altri esempi: Usando costante di testo costante numerica costante di data costante di ora costante Indicatore data e ora colonna di testo colonna numerica colonna data colonna ora colonna Indicatore data e ora colonna a BLOB carattere jolly* Esempio SQL SELECT 'CatDog' FROM Venditori SELECT 999 FROM Venditori SELECT DATE '2004-06-05' FROM Venditori SELECT TIME '02:49:03' FROM Venditori SELECT TIMESTAMP '2004-06-05 02:49:03' FROM Venditori SELECT Nome_Azienda FROM Dati_Vendite SELECT DISTINCT NomeAzienda FROM Dati _Vendite SELECT Quantità FROM Dati_Vendite SELECT DISTINCT Quantità FROM Dati_Vendite SELECT Data_Vendita FROM Dati_Vendite SELECT DISTINCT Data_Vendita FROM Dati_Vendite SELECT Ora_Vendita FROM Dati_Vendite SELECT DISTINCT Ora_Vendita FROM Dati_Vendite SELECT IndicatoreDataOra_Vendita FROM Dati_Vendite SELECT DISTINCT IndicatoreDataOra_Vendita FROM Dati_Vendite SELECT Brochure_Società FROM Dati _Vendite SELECT RicavaCome(Logo_Società, 'JPEG')FROM Dati _Vendite SELECT * FROM Venditori SELECT DISTINCT * FROM Venditori a. Un BLOB è un campo Contenitore di un file di database FileMaker. Note sugli esempi Una costante è un valore letterale univoco che è possibile includere in un istruzione SELECT, mentre una colonna è il riferimento ad un campo nel file di database FileMaker (il campo può contenere molti valori diversi). Il carattere jolly asterisco (*) rappresenta qualsiasi carattere. Per l esempio SELECT * FROM Venditori, il risultato comprende tutte le righe nella tabella Venditori. Per l esempio SELECT DISTINCT * FROM Venditori, il risultato è costituito da tutte le righe uniche nella tabella Venditori (senza duplicati). Nota Le istruzioni SELECT* su database più grandi potrebbero non funzionare correttamente. Per evitare possibile confusione non inserire caratteri jolly e specificare i nomi di tabelle e colonne (senza alias).

28 Guida per sviluppatori JDBC e ODBC FileMaker Recupero dei contenuti di un campo Contenitore: Funzione CAST() e funzione RicavaCome() È possibile recuperare dati binari, informazioni di riferimento al file o dati di un tipo specifico di file da un campo Contenitore. Per recuperare i dati binari utilizzare un istruzione SELECT standard. Ad esempio: SELECT Brochure_Società FROM Dati_Vendite Se esistono file o dati JPEG, l istruzione SELECT recupera i dati in forma binaria; in caso contrario, l istruzione SELECT restituisce < zero>. Per recuperare le informazioni di riferimento al file (come il percorso file), utilizzare la funzione CAST con un istruzione SELECT. Ad esempio: SELECT CAST(Brochure_Società AS VARCHAR(NNN))FROM Dati_Vendite In questo esempio se: 1 È stato inserito un file nel campo Contenitore utilizzando FileMaker Pro, ma è stato memorizzato solo un riferimento al file, l istruzione SELECT recupera le informazioni di riferimento al file come SQL_VARCHAR. 1 Sono stati inseriti i contenuti di un file nel campo Contenitore utilizzando FileMaker Pro, l istruzione SELECT recupera il nome del file. 1 È stato importato un file nel campo Contenitore da un altra applicazione, l istruzione SELECT visualizza '?' (il file viene visualizzato come Senza nome.dat in FileMaker Pro). Per recuperare i dati di un tipo specifico di file da un campo Contenitore utilizzare la funzione RicavaCome e specificare il tipo del file. Ad esempio: SELECT RicavaCome(Logo_Società, 'JPEG')FROM Dati_Vendite I tipi di file possibili (sensibili a e minuscole) che è possibile recuperare da un campo Contenitore in un file di database FileMaker sono: Tipo Tipo di file Descrizione di file Descrizione 'BMPf' Bitmap 'PCD ' Kodak PhotoCD 'EMBO' Dati Contenitore OLE 'PDF ' Portable Document Format 'EMF+' Windows Enhanced Metafile Plus 'PICT' Mac OS (non ha un intestazione basata su file di 512 byte) 'EPS ' PostScript incorporato 'PNGf' Formato immagine Bitmap 'FILE' Risultato di un comando Inserisci file 'PNTG' MacPaint 'FPix' Flash (FPX) 'qtif' File immagine QuickTime 'FORK' Fork di risorse (Mac OS) '.SGI' Formato generico bitmap 'GIFf' Graphics Interchange Format 'snd ' Suono standard (formato non elaborato Mac OS) 'JPEG' Immagini fotografiche 'TIFF' Formato raster del file per immagini digitali 'JP2' JPEG 2000 'TPIC' Targa 'META' Windows Metafile (avanzato) 'XMLO' Oggetti del formato.

Capitolo 4 Standard supportati 29 Tipo Tipo di file Descrizione di file Descrizione 'METO' Windows Metafile (originale) '8BPS' Photoshop (PSD) 'moov' Istruzione DELETE Usare l istruzione DELETE per eliminare i record da una tabella di database. Il formato dell istruzione DELETE è: DELETE FROM nome_tabella [ WHERE { condizioni } ] Nota La clausola WHERE determina i record da eliminare. Se non si include la parola chiave WHERE, tutti i record nella tabella vengono cancellati (ma la tabella rimane invariata). Di seguito è riportato un esempio di istruzione DELETE eseguita sulla tabella Dipendente: DELETE FROM dip WHERE id_dip = 'E10001' L istruzione DELETE rimuove tutti i record che soddisfano le condizioni della clausola WHERE. In questo caso vengono eliminati tutti i record in cui il codice del dipendente è E10001. Poiché nella tabella Dipendenti i codici dei dipendenti sono unici, viene eliminato un solo record. Istruzione INSERT Vecchio formato QuickTime (Mac OS) Utilizzare l istruzione INSERT per creare record in una tabella di database. È possibile specificare: 1 Una lista di valori da inserire come nuovo record 1 Un istruzione SELECT che copia i dati di un altra tabella da inserire come gruppo di nuovi record Il formato dell istruzione INSERT è: INSERT INTO nome_tabella [(nome_colonna,..).] VALUES (espr,..). nome_colonna è una lista facoltativa di nomi di colonna che specifica il nome e l ordine delle colonne di cui sono stati specificati i valori nella clausola Values. Se si omette nome_colonna, le espressioni di valore (espr) dovranno specificare i valori di tutte le colonne definite nella tabella e dovranno riflettere l ordine delle colonne definito per la tabella. espr è la lista di espressioni che forniscono i valori delle colonne del nuovo record. In genere, le espressioni sono valori costanti per le colonne (ma possono anche essere una subquery). È necessario racchiudere i valori delle stringhe di caratteri tra coppie di virgolette singole ('). Per includere una virgoletta singola nel valore di una stringa di caratteri racchiusa tra virgolette singole, usare due virgolette singole insieme (ad esempio, 'L''aquilone'). I valori Data, Ora e Indicatore data e ora devono essere racchiusi tra parentesi graffe {}. I valori logici formati da caratteri devono essere racchiusi tra punti (ad esempio,.t. o.f.). Le subquery devono essere racchiuse tra parentesi rotonde. L esempio che segue inserisce una lista di espressioni: INSERT INTO dip (cognome; nome; id_dip; stipendio; data_assunzione) VALUES ('Smith', 'John', 'E22345', 27500, {6/5/2004}) Ciascuna istruzione INSERT aggiunge un record nella tabella di database. In questo caso è stato aggiunto un record alla tabella di database dei dipendenti denominata DIP. I valori sono stati specificati per cinque colonne. Alle restanti colonne della tabella è stato assegnato un valore vuoto, ossia zero.

30 Guida per sviluppatori JDBC e ODBC FileMaker Nota Nei campi Contenitore è possibile INSERIRE solo testo. L istruzione SELECT è una query che restituisce valori per ciascun valore nome_colonna specificato nella lista dei nomi di colonna. Se si specifica un istruzione SELECT anzichè una lista di espressioni di valori, sarà possibile selezionare un gruppo di righe da una tabella e inserirlo in un altra tabella tramite una singola istruzione INSERT. Di seguito è riportato un esempio di istruzione INSERT che utilizza un istruzione SELECT: INSERT INTO dip1 (nome; cognome; id_dip; settore; stipendio) SELECT nome; cognome; id_dip; settore; stipendio from dip WHERE settore = 'D050' In questo tipo di istruzione INSERT, il numero di colonne da inserire deve corrispondere al numero di colonne dell istruzione SELECT. La lista di colonne da inserire deve corrispondere alle colonne nell istruzione SELECT, analogamente a quanto accade per le espressioni di valore nell altro tipo di istruzione INSERT. Ad esempio, la prima colonna inserita corrisponde alla prima colonna selezionata; la seconda alla seconda, e così via. Le dimensioni e il tipo di dati di queste colonne corrispondenti devono essere compatibili. Ciascuna colonna della lista SELECT dovrebbe disporre di un tipo di dati accettato dal driver client ODBC o JDBC per un istruzione INSERT/UPDATE standard della colonna corrispondente nella lista INSERT. Se la dimensione dei valori nella colonna della lista SELECT supera la dimensione dei valori nella colonna della lista INSERT corrispondente, i valori vengono troncati. L istruzione SELECT viene valutata prima dell inserimento di qualsiasi valore. Istruzione UPDATE Utilizzare l istruzione UPDATE per cambiare i record in una tabella di database. Il formato dell istruzione UPDATE è: UPDATE nome_tabella SET nome_colonna = espr,... [ WHERE { condizioni } ] nome_colonna è il nome di una colonna di cui si desidera modificare il valore. È possibile modificare più colonne in una singola istruzione. espr è il nuovo valore della colonna. In genere, le espressioni sono valori costanti per le colonne (ma possono anche essere una subquery). È necessario racchiudere i valori delle stringhe di caratteri tra coppie di virgolette singole ('). Per includere una virgoletta singola nel valore di una stringa di caratteri racchiusa tra virgolette singole, usare due virgolette singole insieme (ad esempio, 'L''aquilone'). I valori Data, Ora e Indicatore data e ora deve essere racchiusi tra parentesi graffe {}. I valori logici formati da caratteri devono essere racchiusi tra punti (ad esempio,.t. o.f.). Le subquery devono essere racchiuse tra parentesi rotonde. La clausola WHERE può essere una qualsiasi clausola valida. Determina i record da aggiornare. Di seguito è riportato un esempio di istruzione UPDATE eseguita sulla tabella Dip: UPDATE dip SET stipendio=32000; detrazioni=1 WHERE id_dip = 'E10001' L istruzione UPDATE modifica tutti i record che soddisfano le condizioni della clausola WHERE. In questo caso vengono modificati lo stipendio e lo stato delle detrazioni per tutti i dipendenti il cui codice è E10001. Poiché nella tabella Dipendenti i codici dei dipendenti sono unici, viene aggiornato un solo record.

Capitolo 4 Standard supportati 31 Di seguito è riportato un esempio con una subquery: UPDATE dip SET stipendio = (SELECT avg(stipendio) from dip) WHERE id_dip = 'E10001' In questo caso lo stipendio del dipendente il cui codice è E10001 viene sostituito con lo stipendio medio della società. Nota Nei campi Contenitore è possibile AGGIORNARE solo il testo. Istruzione CREATE TABLE Utilizzare l istruzione CREATE TABLE per creare una tabella in un file di database. Il formato dell istruzione CREATE TABLE: CREATE TABLE nome_tabella lista_elementi_tabella [NOT NULL] All interno dell istruzione, si specifica il nome e il tipo di dati di ogni colonna. nome_tabella e lista_elementi_tabella hanno un limite di 100 caratteri. Se una colonna viene definita NOT NULL, si seleziona automaticamente l opzione di verifica Non vuoto per il campo corrispondente nel file di database FileMaker. Il campo viene contrassegnato come Valore richiesto nella scheda Campi della finestra di dialogo Definisci database in FileMaker Pro. Esempi Usando Esempio SQL colonna di testo CREATE TABLE T1 (C1 VARCHAR, C2 VARCHAR (50), C3 VARCHAR (1001), C4 VARCHAR (500276)) colonna di testo, NOT NULL CREATE TABLE T1NN (C1 VARCHAR NOT NULL, C2 VARCHAR (50) NOT NULL, C3 VARCHAR (1001) NOT NULL, C4 VARCHAR (500276) NOT NULL) colonna numerica CREATE TABLE T2 (C1 DECIMAL, C2 DECIMAL (10,0), C3 DECIMAL (7539,2), C4 DECIMAL (497925,301)) colonna data colonna ora colonna Indicatore data e ora colonna BLOB CREATE TABLE T3 (C1 DATE, C2 DATE, C3 DATE, C4 DATE) CREATE TABLE T4 (C1 TIME, C2 TIME, C3 TIME, C4 TIME) CREATE TABLE T5 (C1 TIMESTAMP, C2 TIMESTAMP, C3 TIMESTAMP, C4 TIMESTAMP) CREATE TABLE T6 (C1 BLOB, C2 BLOB, C3 BLOB, C4 BLOB) Istruzione ALTER TABLE Utilizzare l istruzione ALTER TABLE per cambiare la struttura di una tabella esistente in un file di database. È possibile modificare una sola colonna in ogni istruzione. I formati dell istruzione ALTER TABLE sono: ALTER TABLE nome_tabella ADD [COLUMN] definizione_colonna ALTER TABLE nome_tabella DROP [COLUMN] nome_colonna_non_qualificato È necessario conoscere la struttura della tabella e sapere come modificarla prima di usare l istruzione ALTER TABLE.

32 Guida per sviluppatori JDBC e ODBC FileMaker Esempi Per aggiungere colonne rimuovere colonne Esempio SQL ALTER TABLE AddettoVendite ADD C1 VARCHAR ALTER TABLE AddettoVendite DROP C1 Istruzione CREATE INDEX Utilizzare l istruzione CREATE INDEX per velocizzare le ricerche nel file di database. Il formato dell istruzione CREATE INDEX è: CREATE INDEX [ nome_indice ][ON] nome_tabella.nome_colonna CREATE INDEX è supportato per una sola colonna (gli indici a più colonne non sono supportati). Gli indici non sono consentiti sulle colonne che corrispondono a campi di tipo Contenitore, campi Riassunto, campi per cui è prevista l opzione di memorizzazione globale o campi Calcolo non memorizzati in un file di database FileMaker. Con la creazione di un indice per una colonna di testo si imposta automaticamente l opzione di memorizzazione Indicizzazione su Minimo per il campo corrispondente nel file di database FileMaker. Con la creazione di un indice per una colonna non di testo (o per una colonna formattata come testo giapponese) si imposta automaticamente l opzione di memorizzazione Indicizzazione su Tutti per il campo corrispondente nel file di database FileMaker. Con la creazione di un indice per tutte le colonne si imposta automaticamente l opzione di memorizzazione Indicizzazione su Crea automaticamente gli indici quando necessario per il campo corrispondente nel file di database FileMaker. Esempio CREATE INDEX myindex ON Venditori.ID_Venditore Istruzione DROP INDEX Utilizzare l istruzione DROP INDEX per rimuovere un indice da un file di database. Il formato dell istruzione DROP INDEX è: DROP INDEX [ON] nome_tabella.nome_colonna Se il file di database è troppo grande o spesso non si usa un campo nelle query, rimuovere l indice. Se le query non sono soddisfacenti e si sta lavorando con un file di database FileMaker particolarmente grande, con molti campi di testo indicizzati, è possibile eliminare gli indici da alcuni campi. È anche possibile eliminare gli indici dai campi che si usano raramente nell istruzione SELECT. Con l eliminazione di un indice per tutte le colonne si imposta automaticamente l opzione di memorizzazione Indicizzazione su Nessuno per il campo corrispondente nel file di database FileMaker. L attributo PREVENT INDEX CREATION non è supportato. Esempio DROP INDEX ON Venditori.ID_Venditore

Capitolo 4 Standard supportati 33 Clausola FROM La clausola FROM indica le tabelle che saranno utilizzate nell istruzione SELECT. Il formato è: FROM nomi_tabelle [alias_tabella] nomi_tabelle può essere un nome di tabella o più nomi di tabella semplici nella directory di lavoro corrente oppure nomi di percorsi completi. alias_tabella può essere utilizzato per assegnare alla tabella un nome più descrittivo o per abbreviare un nome di tabella lungo. Davanti ai nomi dei campi possono essere aggiunti il nome della tabella o l alias della tabella. Ad esempio, indicando nella tabella FROM dipendente E, è possibile indicare il campo COGNOME come E.COGNOME. Gli alias di tabella devono essere utilizzati se l istruzione SELECT unisce una tabella a se stessa. Ad esempio: SELECT * FROM dipendente E, dipendente F WHERE E.id_manager = F.id_dipendente Il segno uguale (=) comprende soltanto le righe corrispondenti nei risultati. Per unire più di una tabella ed eliminare tutte le righe che non hanno righe corrispondenti in entrambe le tabelle di origine, è possibile usare INNER JOIN. Ad esempio: SELECT* FROM Venditori INNER JOIN Dati_Vendite ON Venditori.ID_Venditore = Dati_Vendite.ID_Venditore Nota OUTER JOIN attualmente non è supportato. Clausola WHERE La clausola WHERE specifica le condizioni che i record devono soddisfare per essere recuperati. La clausola WHERE contiene le condizioni nella forma: WHERE espr1 operatore_rel espr2 espr1 e espr2 possono essere nomi di campo, valori costanti o espressioni. operatore_rel è l operatore relazionale che collega le due espressioni. Ad esempio, la seguente istruzione SELECT recupera i nomi dei dipendenti con stipendio uguale o superiore a 20.000 Euro. SELECT cognome,nome FROM dip WHERE stipendio >= 20000 Nota Se si utilizzano nomi completamente qualificati nella lista (proiezione) SELECT, è necessario utilizzare anche nomi completamente qualificati nella clausola WHERE correlata. Clausola GROUP BY La clausola GROUP BY specifica i nomi di uno o più campi in base a cui raggruppare i valori restituiti. Questa clausola viene utilizzata per restituire un gruppo di valori aggregati. Ha il seguente formato: GROUP BY espressioni_colonna espressioni_colonna deve corrispondere all espressione della colonna utilizzata nella clausola SELECT. Un espressione di colonna può essere costituita da uno o più nomi di campi della tabella di database separati da virgole, oppure da una o più espressioni separate da virgole.

34 Guida per sviluppatori JDBC e ODBC FileMaker L esempio seguente somma gli stipendi di ogni settore. SELECT id_sett, somma(stipendio) FROM dip GROUP BY id_sett Questa istruzione restituisce una riga per ogni singolo ID settore. Ogni riga contiene l ID settore e la somma degli stipendi dei dipendenti del settore. Clausola HAVING La clausola HAVING permette di specificare le condizioni per i gruppi di record, ad esempio per visualizzare solo i settori per cui l importo complessivo degli stipendi è superiore a 200.000 Euro. Questa clausola è valida solo se è già stata definita una clausola GROUP BY. Ha il seguente formato: HAVING espr1 operatore_rel espr2 espr1 e espr2 possono essere nomi di campo, valori costanti o espressioni. Queste espressioni non devono corrispondere all espressione di una colonna nella clausola SELECT. operatore_rel è l operatore relazionale che collega le due espressioni. Nell esempio che segue vengono restituiti solo i settori per cui l importo complessivo degli stipendi è superiore a 200.000 Euro: SELECT id_sett, somma(stipendio) FROM dip GROUP BY id_sett HAVING somma(stipendio) > 200000 Operatore UNION L operatore UNION combina i risultati di due o più istruzioni SELECT in un solo risultato. Il singolo risultato ottenuto comprende tutti i record restituiti dalle istruzioni SELECT. Per impostazione predefinita, i record duplicati non vengono restituiti. Per restituire i record duplicati, utilizzare la parola chiave All (UNION ALL). Il formato è: SELECT istruzione UNION [ALL] SELECT istruzione Quando si usa l operatore UNION, le liste di selezione di ogni istruzione SELECT devono avere lo stesso numero di espressioni di colonna, con dati dello stesso tipo, e devono essere specificate nello stesso ordine. Ad esempio: SELECT cognome, stipendio, data_assunzione FROM dip UNION SELECT nome, pagamento, data_nascita FROM persona In questo esempio vi è lo stesso numero di espressioni di colonna e ogni espressione di colonna, in ordine, ha dati dello stesso tipo. L esempio che segue non è valido perché i tipi di dati delle espressioni di colonna sono diversi (STIPENDIO from IMP ha dati di tipo diverso rispetto a COGNOME from AUMENTI). In questo esempio vi è lo stesso numero di espressioni di colonna in ogni istruzione SELECT, ma le espressioni non sono nello stesso ordine per tipo di dati. SELECT cognome, stipendio FROM dip UNION SELECT stipendio, cognome FROM aumenti

Capitolo 4 Standard supportati 35 Clausola ORDER BY La clausola ORDER BY indica il modo in cui i record devono essere ordinati. Il formato è: ORDER BY {espressione_ordinamento [DESC ASC]},... espressione_ordinamento può essere: nomi di campo, espressioni o il numero di posizione dell espressione di colonna da usare. Per impostazione predefinita l ordinamento viene effettuato in modo crescente (ASC). Ad esempio, per ordinare in base al cognome e poi al nome, è possibile usare una delle seguenti istruzioni SELECT: SELECT id_dip, cognome, nome FROM dip ORDER BY cognome, nome oppure SELECT id_dip, cognome, nome FROM dip ORDER BY 2,3 Nel secondo esempio, cognome è la seconda espressione di colonna dopo SELECT, pertanto ORDER BY 2 ordina in base al cognome. Clausola FOR UPDATE La clausola FOR UPDATE blocca i record della tabella di database selezionati tramite l istruzione SELECT. Il formato è: FOR UPDATE [OF espressioni_colonna] espressioni_colonna è una lista di nomi di campi nella tabella di database che si desidera aggiornare, separati da una virgola. espressioni_colonna è opzionale. L esempio che segue restituisce tutti i record nel database dei dipendenti per cui il valore del campo STIPENDIO è superiore a 20.000 Euro. I record recuperati vengono bloccati. Se il record viene aggiornato o eliminato, il blocco viene mantenuto finché non si applica la modifica. In caso contrario, il blocco viene rilasciato quando si recupera il record successivo. SELECT * FROM dip WHERE stipendio > 20000 FOR UPDATE OF cognome, nome, stipendio Funzioni aggregate SQL Le funzioni aggregate restituiscono un solo valore da un gruppo di record. È possibile usare una funzione aggregata come parte dell istruzione SELECT, con il nome di un campo (ad esempio, AVG(STIPENDIO)), o in combinazione con un espressione di colonna (ad esempio, AVG(STIPENDIO * 1.07)). È possibile far precedere all espressione di colonna l operatore DISTINCT per eliminare i valori duplicati. Ad esempio: COUNT (DISTINCT cognome)

36 Guida per sviluppatori JDBC e ODBC FileMaker In questo esempio vengono contati solo i valori univoci di cognome. Importante Utilizzare le lettere maiuscole per i nomi delle funzioni SQL (alcune sono sensibili a maiuscole e minuscole). Funzione aggregata SUM AVG COUNT MAX MIN Restituisce Il totale dei valori di un espressione di un campo numerico. Ad esempio, SUM(STIPENDIO) restituisce la somma di tutti i valori del campo stipendio. La media dei valori di un espressione di un campo numerico. Ad esempio, AVG(STIPENDIO) restituisce la media di tutti i valori del campo stipendio. Il numero di valori in qualsiasi espressione campo. Ad esempio, COUNT (NOME) restituisce il numero di valori dei nomi. Quando si usa COUNT con il nome di un campo, COUNT restituisce il numero di valori di campi non zero. Un esempio particolare è COUNT (*), che restituisce il numero di record del gruppo, compresi i record con valori nulli. Il valore massimo in qualsiasi espressione campo. Ad esempio, MAX(STIPENDIO) restituisce il valore massimo del campo stipendio. Il valore minimo in qualsiasi espressione campo. Ad esempio, MIN(STIPENDIO) restituisce il valore minimo del campo stipendio. Esempi SELECT SUM (Dati_Vendite.Quantità) AS agg FROM Dati_Vendite SELECT AVG (Dati_Vendite.Quantità) AS agg FROM Dati_Vendite SELECT COUNT (Dati_Vendite.Quantità) AS agg FROM Dati_Vendite SELECT MAX (Dati_Vendite.Quantità) AS agg FROM Dati_Vendite WHERE Dati_Vendite.Quantità < 3000 SELECT MIN (Dati_Vendite.Quantità) AS agg FROM Dati_Vendite WHERE Dati_Vendite.Quantità < 3000 Espressioni SQL Utilizzare le espressioni nelle clausole WHERE, HAVING e ORDER BY delle istruzioni SELECT per generare query dettagliate e sofisticate. Elementi di espressione validi sono: Nomi di campo Operatori numerici Operatori relazionali Costanti e letterali Operatori alfabetici Operatori logici Notazione esponenziale Operatori data Funzioni Nomi di campo L espressione più comune è un semplice nome di campo, come ad esempio calc o Dati_vendita.Fattura_ID.

Capitolo 4 Standard supportati 37 Costanti e letterali Le costanti sono valori che non cambiano. Ad esempio, nell espressione PREZZO * 1.05, il valore 1.05 è una costante. In alternativa è possibile assegnare il valore 30 alla costante Numero_Di_Giorni_A_Giugno. Un letterale è un altro tipo di costante; ma invece di avere un valore assegnato, il valore è il letterale stesso, come 'Parigi' o '14:35:10'. Un letterale è una costante ciò che vedi è ciò che ottieni. È necessario racchiudere le costanti di caratteri (come i letterali) tra coppie di virgolette singole ('). Per includere una virgoletta singola in una costante di caratteri racchiusa tra virgolette singole, usare due virgolette singole insieme (ad esempio, 'L''aquilone'). È necessario racchiudere le costanti di data, ora e indicatore data e ora in parentesi graffe ({}), ad esempio, {D '2005-06-05'}, {14:35:10}, e {TS '2005-06-05 14:35:10'}. Unica eccezione: La sintassi SQL-92 richiede data e ore in formato ISO, senza parentesi: 1 DATA 'AAAA-MM-GG' 1 ORA 'HH:MM:SS' 1 IJNDICATORE DATA E ORA 'AAAA-MM-GG HH:MM:SS' Costante Testo Sintassi accettabile (esempi) 'Parigi' Numero 1.05 Data Ora Indicatore data e ora DATA '2005-06-05' { D '2005-06-05'} { 06/05/2005 } { 06/05/05 } TIME '14:35:10' { T '14:35:10'} {14:35:10} TIMESTAMP '2005-06-05 14:35:10' { TS '2005-06-05 14:35:10'} { 06/05/2005 14:35:10 } {2005-06-05 14:35:10} { 06/05/05 14:35:10 }Verificare che Tipo di dati restrittivo: Data a 4 cifre non sia selezionata come opzione di verifica nel file di database FileMaker per un campo che utilizza questa sintassi dell anno a 2 cifre. Quando si inseriscono valori di data e ora utilizzare il formato locale del file di database. Ad esempio, se il database è stato creato in un sistema di lingua italiana, utilizzare i formati data e ora italiani. I valori logici costituiti da caratteri devono essere racchiusi tra punti. Le costanti logiche sono.t. e 1 per Vero e.f. e 0 per Falso. Per la trasportabilità, usare 1 e 0. Notazione esponenziale/scientifica È possibile comprendere la notazione esponenziale. Esempio SELECT column1, 3.4E+7 FROM tabella1 WHERE calc < 3.4E-6 * column2

38 Guida per sviluppatori JDBC e ODBC FileMaker Operatori numerici È possibile comprendere i seguenti operatori nelle espressioni numeriche: +, -, *, /, and ^ o ** (esponenziazione). È possibile anteporre alle espressioni numeriche un più (+) oppure un meno (-) unario. Operatori alfabetici È possibile concatenare i caratteri. Esempi Negli esempi che seguono, cognome è 'BIANCHI' e nome è 'FABIO': Operatore Concatenazione Esempio Risultato + Mantiene i caratteri vuoti nome + cognome 'FABIO BIANCHI ' - Sposta i caratteri vuoti alla fine nome - cognome 'FABIOBIANCHI ' Operatori data È possibile modificare le date. Esempi Negli esempi che seguono, data_assunzione è {01/30/2004} Operatore Effetto sulla data Esempio Risultato + Aggiunge un numero di giorni ad una data data_assunzione + 5 {02/04/2004} - Trova il numero di giorni tra due date o sottrae un numero di giorni da una data data_assunzione - {01/01/2004} data_assunzione - 10 29 {01/20/2004} Altri esempi: SELECT Data_Vendita, Data_Vendita + 30 AS agg FROM Dati_Vendite SELECT Data_Vendita, Data_Vendita - 30 AS agg FROM Dati_Vendite

Capitolo 4 Standard supportati 39 Operatori relazionali Operatore Significato = Uguale <> Diverso da > Maggiore di >= Maggiore o uguale a < Minore di <= Minore o uguale a LIKE NOT LIKE IS NULL IS NOT NULL BETWEEN IN NOT IN EXISTS ANY ALL Esempi Corrisponde ad una struttura Non corrisponde ad una struttura Uguale a zero Diverso da zero Intervallo di valori tra un limite inferiore e un limite superiore Un membro di un gruppo di valori specificati o un membro di una subquery Non un membro di un gruppo di valori specificati né un membro di una subquery Vero se una subquery ha restituito almeno un record Confronta un valore con ogni valore restituito da una subquery (l operatore deve essere preceduto da =, <>, >, >=, <, o <=); =Any equivale a In Confronta un valore con ogni valore restituito da una subquery (l operatore deve essere preceduto da =, <>, >, >=, <, o <=) SELECT Dati_Vendite.ID_Fattura FROM Dati _Vendite WHERE Dati_Vendite.ID_Venditore = 'SP-1' SELECT Dati_Vendite.Quantità FROM Dati_Vendite WHERE Dati_Vendite.ID_Fattura <> 125 SELECT Dati_Vendite.Quantità FROM Dati_Vendite WHERE Dati_Vendite.Quantità > 3000 SELECT Dati_Vendite.Ora_Vendita FROM Dati _Vendite WHERE Dati_Vendite.Ora_Vendita < '12:00:00' SELECT Dati_Vendite.Nome_Società FROM Dati _Vendite WHERE Dati_Vendite.Nome_Società LIKE '%University' SELECT Dati_Vendite.Nome_Società FROM Dati _Vendite WHERE Dati_Vendite.Nome_Società NOT LIKE '%University' SELECT Dati_Vendite.Quantità FROM Dati _Vendite WHERE Dati_Vendite.Quantità IS NULL SELECT Dati_Vendite.Quantità FROM Dati _Vendite WHERE Dati_Vendite.Quantità IS NOT NULL SELECT Dati_Vendite.ID_Fattura FROM Dati _Vendite WHERE Dati _Vendite. ID_Fattura BETWEEN 1 AND 10

40 Guida per sviluppatori JDBC e ODBC FileMaker SELECT COUNT(Dati_Vendite.ID_Fattura) AS agg FROM Dati_Vendite WHERE Dati_Vendite.INVOICE_ID IN (50,250,100) SELECT COUNT(Dati_Vendite.ID_Fattura) AS agg FROM Dati_Vendite WHERE Dati_Vendite.INVOICE_ID NOT IN (50,250,100) SELECT COUNT(Dati_Vendite.ID_Fattura) AS agg FROM Dati_Vendite WHERE Dati_Vendite.INVOICE_ID NOT IN (SELECT Dati_Vendite.ID_Fattura FROM Dati_Vendite WHERE Dati_Vendite.ID_Venditore = 'SP-4') SELECT* FROM Dati_Vendite WHERE EXISTS (SELECT Dati_Vendite.Quantità FROM Dati_Vendite WHERE Dati_Vendite.ID_Venditore IS NOT NULL) SELECT* FROM Dati_Vendite WHERE Dati_Vendite.Quantità = ANY (SELECT Dati_Vendite.Quantità FROM Dati_Vendite WHERE Dati_Vendite.ID_Venditore = 'SP-1') SELECT* FROM Dati_Vendite WHERE Dati_Vendite.Quantità = ALL (SELECT Dati_Vendite.Quantità FROM Dati_Vendite WHERE Dati_Vendite.ID_Venditore IS NULL) Operatori logici È possibile combinare due o più condizioni. Le condizioni devono essere correlate con AND o OR, come ad esempio: stipendio = 40000 AND detrazioni = 1 L operatore logico NOT è utilizzato per invertire il significato, come ad esempio: NOT (stipendio = 40000 AND detrazioni = 1) Esempi SELECT* FROM Dati _Vendite WHERE Dati_Vendite.Nome_Società NOT LIKE '%University' AND Dati_Vendite.Quantità > 3000 SELECT* FROM Dati _Vendite WHERE (Dati_Vendite.Nome_Società LIKE '%University' OR Dati_Vendita.Quantità > 3000) AND Dati_Vendite.ID_Venditore = 'SP-1'

Capitolo 4 Standard supportati 41 Funzioni I driver client ODBC e JDBC supportano molte funzioni utilizzabili nelle espressioni. Alcune funzioni restituiscono stringhe di caratteri, alcune numeri, altre date. Importante Utilizzare lettere maiuscole per nomi di funzioni SQL (alcune distinguono maiuscole e minuscole). Funzioni che restituiscono stringhe di caratteri Descrizione Esempio CHR Converte un codice ASCII in una stringa da un carattere CHR(67) restituisce C RTRIM Rimuove gli spazi finali da una stringa RTRIM('ABC ') restituisce ABC TRIM Rimuove gli spazi finali da una stringa TRIM('ABC ') restituisce ABC LTRIM Rimuove gli spazi iniziali da una stringa LTRIM(' ABC') restituisce ABC UPPER LOWER LEFT RIGHT SUBSTR Trasforma tutte le lettere di una stringa in maiuscole Trasforma tutte le lettere di una stringa in minuscole Restituisce i caratteri più a sinistra di una stringa Restituisce i caratteri più a destra di una stringa Restituisce una sottostringa di una stringa, con i parametri della stringa, il primo carattere da estrarre e il numero di caratteri da estrarre (opzionale) UPPER('Allen') restituisce ALLEN LOWER('Allen') restituisce allen LEFT('Mattson', 3)restituisce Mat RIGHT('Mattson', 4) restituisce tson SUBSTR('Conrad', 2,3) restituisce onr SUBSTR('Conrad', 2) restituisce onrad SPACE Genera una stringa di spazi vuoti SPACE(5) restituisce ' ' STRVAL TIME USERNAME Converte un valore di qualsiasi tipo in una stringa di caratteri Restituisce l ora del giorno sotto forma di stringa Restituisce l ID di accesso specificato al momento della connessione STRVAL('Ufficio') restituisce Ufficio STRVAL(5 * 3) restituisce 15 STRVAL(4 = 5) restituisce 'Falso' STRVAL({10/02/2004}) restituisce 10/02/2004 Alle 21:49, TIME() restituisce 21:49:00 Esempi SELECT CHR(67) + SPACE(1) + CHR(70) FROM Venditori SELECT RTRIM(' ' + Venditori.ID_Venditore) AS agg FROM Venditori SELECT TRIM(SPACE(1) + Venditori.ID_Venditore) AS agg FROM Venditori SELECT LTRIM(' ' + Venditori.ID_Venditore) AS agg FROM Venditori SELECT UPPER(Venditori.Venditore) AS agg FROM Venditori SELECT LOWER(Venditori.Venditore) AS agg FROM Venditori SELECT LEFT(Venditori.Venditore, 5) AS agg FROM Venditori

42 Guida per sviluppatori JDBC e ODBC FileMaker SELECT RIGHT(Venditori.Venditore, 7) AS agg FROM Venditori SELECT SUBSTR(Venditori.ID_Venditore, 2, 2) + SUBSTR(Venditori.ID_Venditore, 4, 2) AS agg FROM Venditori SELECT SUBSTR(Venditori.Salesperson_ID, 2) + SUBSTR(Venditori.ID_Venditore, 4) AS agg FROM Venditori SELECT SPACE(2) + Venditori.ID_Venditore AS ID_Venditore FROM Venditori SELECT STRVAL('60506') AS agg FROM Dati_Vendite WHERE Dati_Vendite.ID_Fattura = 1 SELECT TIME() AS agg FROM Dati_Vendite WHERE Dati_Vendite.ID_Fattura = 1 SELECT USERNAME() AS agg FROM Dati_Vendite WHERE Dati_Vendite.ID_Fattura = 1 Funzioni che restituiscono numeri Descrizione Esempio MOD Divide due numeri e restituisce il resto ottenuto dalla divisione MOD(10,3) restituisce 1 LEN Restituisce la lunghezza di una stringa LEN('ABC') restituisce 3 MONTH Restituisce il mese di una data MONTH({01/30/2004}) restituisce 1 DAY Restituisce il giorno di una data DAY({01/30/2004}) restituisce 30 YEAR Restituisce l anno di una data YEAR({01/30/2004}) restituisce 2004 MAX Restituisce il maggiore di due numeri MAX(66,89) restituisce 89 DAYOFWEEK Restituisce il giorno della settimana (1-7) di un espressione di data DAYOFWEEK({05/01/2004}) restituisce 7 MIN Restituisce il minore di due numeri MIN(66,89) restituisce 66 POW Eleva un numero ad una potenza POW(7,2) restituisce 49 INT Restituisce la parte intera di un numero INT(6.4321) restituisce 6 X B Restituisce l equivalente decimale di un numero esadecimale Restituisce l equivalente decimale di un numero binario X'b9' restituisce 185 B'1001' restituisce 9 ROUND Arrotonda un numero ROUND(123.456,0) restituisce 123 ROUND(123.456,2) restituisce 123.46 ROUND(123.456,-2) restituisce 100 NUMVAL VAL Converte una stringa di caratteri in un numero; se la stringa di caratteri non è un numero valido, restituisce 0 Converte una stringa di caratteri in un numero; se la stringa di caratteri non è un numero valido, restituisce 0 NUMVAL('123') restituisce 123 VAL('123') restituisce 123

Capitolo 4 Standard supportati 43 Funzioni che restituiscono date Descrizione Esempio DATE Restituisce la data di oggi Se oggi è il 21.11.05, DATE() restituisce {21.11.05} DATEVAL Converte una stringa di caratteri in una data DATEVAL('01/30/2006') restituisce {2006-01-30} Precedenza degli operatori Più le espressioni sono complesse, più l ordine con cui le espressioni vengono valutate è importante. Questa tabella mostra l ordine in cui vengono valutati gli operatori. Gli operatori nella prima linea sono valutati per primi, e così via. Gli operatori sulla stessa riga vengono valutati da sinistra a destra nell espressione. Precedenza Operatore 1 '-' unario, '+' unario 2 ^, ** 3 *, / 4 +, - 5 =, <>, <, <=, >, >=, Like, Not Like, Is Null, Is Not Null, Between, In, Exists, Any, All 6 Not 7 AND 8 OR Nell esempio che segue viene mostrata l importanza della precedenza: WHERE stipendio > 40000 OR data_assunzione > {01/30/2004} AND sett = 'D101' Perché AND viene valutato per primo, questa query recupera i dipendenti nel reparto D101 assunti dopo il 30 gennaio 2004, e tutti i dipendenti con uno stipendio superiore a 40.000 Euro, indipendentemente dal settore e dalla data di assunzione. Per forzare la clausola in modo che venga valutata in un ordine diverso, racchiudere tra parentesi rotonde le condizioni da valutare per prime. Ad esempio: WHERE (stipendio > 40000 OR data_assunzione > {01/30/1989}) AND sett = 'D101' Recupera i dipendenti nel settore D101 con uno stipendio superiore a 40.000 Euro o assunti dopo il 30 gennaio 2004.

44 Guida per sviluppatori JDBC e ODBC FileMaker Funzioni di Catalogo ODBC Il driver client ODBC supporta le seguenti funzioni di Catalogo: 1 SQLTables - le informazioni di catalogo sono memorizzate e riportate come nomi di parti singole (solo nome tabella). 1 SQLColumns 1 SQLColumnPrivileges 1 SQLDescribeCol 1 SQLGetTypeInfo Funzioni Meta Data JDBC Il driver client JDBC supporta le seguenti funzioni Meta Data: 1 getcolumns 1 getcolumnprivileges 1 getmetadata 1 gettypeinfo 1 gettables 1 gettabletypes Per JDBC, interrogare le funzioni Meta Data con il comando dmd.getfunction in Java.

Appendice A Mappatura di campi FileMaker su dati di tipo ODBC Nella tabella che segue è illustrato il modo in cui i campi FileMaker vengono mappati sui dati di tipo ODBC standard. Tipo di campo Filemaker Converte nel tipo di dati ODBC Informazioni sul tipo di dati testo SQL_VARCHAR La lunghezza massima di una colonna di testo è di 1 milione di caratteri, a meno che non si specifichi un Numero massimo di caratteri più basso per il campo di testo di FileMaker. FileMaker restituisce le stringhe vuote come NULL. numero SQL_DOUBLE Il tipo campo Numero di FileMaker può contenere valori positivi o negativi da 10-308, fino a 10 + 308, con max. 15 cifre significative. data SQL_DATE ora SQL_TIME Il tipo di campo Ora FileMaker può contenere l ora del giorno oppure un intervallo di tempo. L intervallo di tempo viene restituito come un ora del giorno, a meno che sia inferiore a 0 o superiore a 24 ore (in entrambi i casi viene restituito un valore di 0). Indicatore data e ora SQL_TIMESTAMP contenitore (BLOB) SQL_LONGVARBINARY È possibile recuperare dati binari, informazioni di riferimento al file o dati di un tipo specifico di file da un campo Contenitore. All interno di un istruzione SELECT utilizzare la funzione CAST per recuperare le informazioni di riferimento al file e la funzione RicavaCome per recuperare i dati di un tipo specifico di file. Calcolo Il risultato viene mappato sul tipo di dati ODBC corrispondente. La lunghezza delle stringhe è opzionale nelle dichiarazioni di tabella. Tutte le stringhe vengono memorizzate e recuperate in Unicode. Note 1 È possibile utilizzare l istruzione SELECT per un massimo di 170 campi alla volta da un file database di FileMaker; è possibile utilizzare l istruzione UPDATE per un massimo di 100 campi alla volta. 1 A differenza di ODBC, FileMaker supporta i campi multipli (tipi dati array). FileMaker esporta le ripetizioni in file delimitati da tabulazioni o da virgole e separa ogni ripetizione con un separatore di gruppo (valore decimale Unicode 29). Le colonne di testo separate con il separatore di gruppo vengono concatenate. I dati di tutti gli altri tipi restituiscono solo la prima ripetizione.

46 Guida per sviluppatori JDBC e ODBC FileMaker

Appendice B Mappatura di campi FileMaker su dati di tipo JDBC Il driver client JDBC utilizza le seguenti mappature per convertire i dati di tipo FileMaker in dati JDBC SQL. (Per informazioni su questi tipi, vedere le pagine Web di documentazione di JDK 1.4 all indirizzo www.javasoft.com). Tipo di campo Filemaker testo numero data ora Indicatore data e ora Contenitore Calcolo Converte in tipo JDBC SQL java.sql.types.varchar java.sql.types.double java.sql.types.date java.sql.types.time java.sql.types.timestamp java.sql.types.blob specificato dal tipo di dati del risultato del calcolo Il driver client JDBC converte i dati FileMaker di tipo Calcolo nel tipo JDBC SQL che corrisponde al risultato del calcolo. Ad esempio, il driver client JDBC converte un calcolo FileMaker che produce dati di tipo Indicatore data e ora (timestamp) in java.sql.types.timestamp.

48 Guida per sviluppatori JDBC e ODBC FileMaker

Appendice C Messaggi di errore ODBC e JDBC Di seguito sono presentati i formati di base dei messaggi di errore che possono essere visualizzati durante l uso di FileMaker e ODBC/JDBC. Per un elenco dei numeri di errore e le relative spiegazioni, vedere www.datadirect.com. Per ulteriori informazioni sugli errori visualizzati da FileMaker, vedere le funzioni Get(UltimoErrore) o Get(UltimoErroreODBC) descritte nella Guida di FileMaker Pro. Messaggi di errore ODBC I messaggi di errore possono essere generati da: 1 Errori driver ODBC 1 Errori ODBC Driver Manager 1 Errori SequeLink Client 1 Errori SequeLink Server 1 L origine dati o il Database Management System Messaggi di errore driver ODBC Gli errori generati dal driver SequeLink ODBC hanno il seguente formato: [DataDirect] [ODBC SequeLink driver] messaggio Ad esempio: [DataDirect] [ODBC SequeLink driver] Precisione specificata non valida Se si riceve un errore di questo tipo, controllare se si sono verificati problemi durante l ultima chiamata ODBC effettuata dall applicazione oppure contattare il produttore dell applicazione ODBC. Messaggi di errore ODBC Driver Manager Gli errori generati da ODBC Driver Manager hanno il seguente formato: [Microsoft] [ODBC Driver Manager] messaggio Ad esempio: [Microsoft] [ODBC Driver Manager] Errore sequenza funzione Se si riceve un errore di questo tipo, assicurarsi che siano installati i file di supporto e i driver ODBC corretti. Messaggi di errore SequeLink Client Gli errori generati da SequeLink ODBC Client hanno il seguente formato: [DataDirect] [ODBC SequeLink driver] [SequeLink Client] messaggio Ad esempio: [DataDirect] [ODBC SequeLink driver] [SequeLink Client] Modulo di traslitterazione specificato non trovato

50 Guida per sviluppatori JDBC e ODBC FileMaker Messaggi di errore SequeLink Server Gli errori generati da SequeLink Server hanno il seguente formato: [DataDirect] [ODBC SequeLink driver] [SequeLink Server] messaggio Ad esempio: [DataDirect] [ODBC SequeLink driver] [SequeLink Server] Questa connessione di sola lettura consente soltanto istruzioni SELECT. Messaggi di errore origine dati Gli errori verificatisi nell origine dati specificano il nome dell origine dati, nel seguente formato: [DataDirect] [ODBC SequeLink driver] [origine_dati] messaggio Ad esempio l origine dati FileMaker potrebbe generare il seguente messaggio: [DataDirect] [ODBC SequeLink driver] [FileMaker] Nome utente/password non validi Se si riceve un errore di questo tipo, significa che è stata eseguita un operazione non valida nel sistema di database. Per ulteriori informazioni consultare la documentazione FileMaker oppure contattare l amministratore del database. Messaggi consecutivi di errore in colonne diverse possono visualizzare a volte un nome di colonna non corretto. Messaggi di errore JDBC Il driver SequeLink per JDBC genera errori per l applicazione chiamante restituendo SQLExceptions. I messaggi di errore possono essere generati da: 1 Errori driver JDBC 1 Errori SequeLink Server 1 L origine dati o il Database Management System Messaggi di errore driver JDBC Gli errori generati dal driver JDBC hanno il seguente formato: [DataDirect] [SequeLink JDBC Driver] messaggio Ad esempio: [DataDirect] [SequeLink JDBC Driver] Timeout scaduto Se si riceve un errore di questo tipo, controllare se si sono verificati problemi durante l ultima chiamata JDBC effettuata dall applicazione, oppure contattare il produttore dell applicazione JDBC. Messaggi di errore SequeLink Server Gli errori generati da SequeLink Server hanno il seguente formato: [DataDirect] [SequeLink JDBC Driver] [SequeLink] messaggio Se non esiste nessun errore SequeLink Server, viene visualizzato: [DataDirect] [JDBC SequeLink driver] [SequeLink]

Appendice C Messaggi di errore ODBC e JDBC 51 Messaggi di errore origine dati Gli errori verificatisi nell origine dati specificano il nome dell origine dati, nel seguente formato: [DataDirect] [SequeLink Driver JDBC] [origine_dati] messaggio Ad esempio l origine dati FileMaker potrebbe generare il seguente messaggio: [DataDirect] [SequeLink JDBC Driver] [FileMaker] Nome utente/password non validi Se si riceve un errore di questo tipo, significa che è stata eseguita un operazione non valida nel sistema di database. Per ulteriori informazioni consultare la documentazione FileMaker oppure contattare l amministratore del database.

52 Guida per sviluppatori JDBC e ODBC FileMaker

Indice A ALTER TABLE (Istruzione SQL) 31 Applicazione client Microsoft Access 9 Applicazione client usando FileMaker 9 C Campi multipli 25, 45 Campo Contenitore 28 Carattere escape 17, 22 Condivisione di un origine dati FileMaker 8 Configurazione di un origine dati FileMaker tramite ODBC (Mac OS) 17 tramite ODBC (Windows) 14 via JDBC 22 Conformità SQL-92 25 Costanti in espressioni SQL 37 CREATE INDEX (Istruzione SQL) 32 CREATE TABLE (Istruzione SQL) 31 Crittografia Secure Socket Layer 23 D DELETE (Istruzione SQL) 29 Disattivazione di un file di database FileMaker condiviso 9 Driver client JDBC campi multipli 25 classe e punto di ingresso principale del driver 20 funzioni meta data 44 installazione 20 mappatura tipi dati 47 registrazione in JDBC driver manager 21 specificazione dell URL JDBC 20 supporto Unicode 25 verifica accesso 23 Driver client ODBC campi multipli 25 funzioni Catalogo 44 installazione (Mac OS) 16 installazione (Windows) 14 mappatura tipi dati 45 numero massimo di campi FileMaker 45 supporto Unicode 25 verifica accesso (Mac OS) 17 verifica accesso (Windows) 15 DROP INDEX (Istruzione SQL) 32 E Espressioni in SQL 36 costanti 37 funzioni 41 letterali 37 nomi campi 36 notazione esponenziale o scientifica 37 operatori caratteri 38 operatori di data 38 operatori logici 40 operatori numerici 38 operatori relazionali 39 precedenza operatori 43 F FOR UPDATE (clausola SQL) 35 FROM (clausola SQL) 33 Funzione CAST 28, 45 Funzione RicavaCome 28, 45 Funzioni aggregate in SQL 35 Funzioni Catalogo per ODBC 44 Funzioni meta data per JDBC 44 Funzioni nelle espressioni SQL 41 G GROUP BY (clausola SQL) 33 H HAVING (clausola SQL) 34 Hosting di un origine dati FileMaker 8 I INNER JOIN 33 INSERT (Istruzione SQL) 29 Installazione guidata Microsoft Query 9 Istruzioni SQL ALTER TABLE 31 CREATE INDEX 32 CREATE TABLE 31 DELETE 29 DROP INDEX 32 INSERT 29 SELECT 25 supportate da driver client 25 UPDATE 30

54 Guida per sviluppatori JDBC e ODBC FileMaker J JDBC, descrizione 19 JDK (Java Development Kit) 20 L Letterali nelle espressioni SQL 37 Local Data Access Companion (LDAC) 10 M Mappatura tipi dati driver client JDBC 47 driver client ODBC 45 Microsoft SQL Server 9 N Nome origine dati 14 Nomi dei campi nelle espressioni SQL 36 Notazione esponenziale in espressioni SQL 37 Notazione scientifica nelle espressioni SQL 37 O ODBC campi multipli 45 descrizione 11 Operatori caratteri nelle espressioni SQL 38 Operatori di data nelle espressioni SQL 38 Operatori logici nelle espressioni SQL 40 Operatori numerici nelle espressioni SQL 38 Operatori relazionali nelle espressioni SQL 39 ORDER BY (clausola SQL) 35 Origine dati configurazione accesso tramite JDBC 22 configurazione dell accesso attraverso ODBC (Mac OS) 17 configurazione dell accesso tramite ODBC (Windows) 14 disattivazione di un file di database FileMaker condiviso 9 un DSN per ogni file di database FileMaker 10 utilizzo di un file di database FileMaker 8 verifica accesso attraverso ODBC (Mac OS) 17 verifica accesso tramite JDBC 23 verifica accesso tramite ODBC (Windows) 15 Origine dati server 15 OUTER JOIN 33 P Porta SequeLink Server 15 Precedenza operatori nelle espressioni SQL 43 Proprietà del driver driver client JDBC 22 driver client ODBC (Mac OS) 17 driver client ODBC (Windows) 14 R Registrazione del driver client JDBC 21 Remote Data Access Companion (RDAC) 10 Rete, requisiti 9 S SELECT (Istruzione SQL) 25 SequeLink Server Host 15 Sistemi operativi 8 Spazio nel nome di database 17, 22 Spazio vuoto nel nome del database 17, 22 Strumenti RAD (Rapid Application Development) 19 Supporto Unicode 25 T Testing accesso driver client JDBC 23 driver client ODBC (Mac OS) 17 driver client ODBC (Windows) 15 Tipi di dati, mappatura driver client JDBC 47 driver client ODBC 45 U UNION (operatore SQL) 34 Unione 33 UPDATE (Istruzione SQL) 30 URL (Uniform Resource Locator) per il driver client JDBC 20 V Verifica accesso driver client JDBC 23 driver client ODBC (Mac OS) 17 driver client ODBC (Windows) 15 W WHERE (clausola SQL) 33