Esecuzione di script in FileMaker Server
In genere gli
script nei file ospitati da FileMaker Server vengono eseguiti sul
client. Tuttavia, è possibile eseguire uno script sul server (uno script lato server) utilizzando:
Esecuzione differenziata degli script in FileMaker Server
Uno script avviato da uno dei metodi riportati in precedenza viene eseguito dal Motore di script FileMaker (FMSE), un componente di FileMaker Server. FMSE è un client che esegue ogni script in una sessione distinta sul server. Di conseguenza, gli script lato server:
•non hanno il contesto del client (formato corrente, gruppo trovato, criterio di ordinamento, record, valori di campi globali e valori di variabili locali o globali)
È possibile passare le informazioni sul contesto del client a uno script lato server utilizzando il parametro di script nell'istruzione di script Esegui script su server. Lo script lato server può utilizzare queste informazioni nelle istruzioni di script come l'
istruzione di script Vai al formato e l'
istruzione di script Esegui la ricerca per specificare il formato e il gruppo trovato su cui agire.
•supportano parametri di script e risultati degli script fino a 1 milione di caratteri
•possono accedere ad altri file FileMaker Pro solo se vengono soddisfatte entrambe le condizioni riportate di seguito:
•i file si trovano sullo stesso host
•i file sono già stati aperti dal client che ha avviato lo script lato server oppure sono stati configurati con un nome utente e una password specificati nella finestra di dialogo Opzioni file del file
Gli script lato server vengono eseguiti nello stesso modo, indipendentemente da come sono stati avviati, salvo le eccezioni riportate di seguito:
•Un client che utilizza l'istruzione di script Esegui script su server può scegliere di attendere il completamento dello script sul server e utilizzare la
funzione Get ( RisultatoScript ) per catturare il risultato.
•È possibile scegliere di annullare un programma di FileMaker Server se lo script in esecuzione supera il limite di tempo specificato.
Gestione delle istruzioni di script non supportate
Molte istruzioni di script sono supportate anche da FMSE. Tuttavia, se si tenta di eseguire un'istruzione di script non supportata, viene restituito l'errore 3 ("Comando non disponibile"), l'istruzione non supportata viene saltata e si passa all'istruzione successiva. Per gestire le istruzioni non supportate, lo script può utilizzare l'istruzione di script If con:
•la
funzione Get ( UltimoErrore ) dopo un'istruzione per verificare che l'istruzione sia supportata e, in caso contrario, eseguire le istruzioni supportate. Ad esempio, l'istruzione di script Apri file non è supportata da FMSE; pertanto, lo script di seguito in esecuzione sul server salterà questa istruzione e restituirà "non supportata" nel risultato.
Apri file [Apri file nascosto: Disattivata; "Backup fatture"]
If [Get ( UltimoErrore ) = 3]
Esci dallo script [Risultato testo: "non supportata"]
End If
•la
funzione Get ( VersioneApplicazione ) prima di altre istruzioni per controllare se lo script è in esecuzione su FileMaker Server e quindi eseguire solo le istruzioni supportate. Ad esempio:
If [ContaRicorrenze ( Get ( VersioneApplicazione ) ; "Server" ) > 0]
# Continua con le istruzioni di script supportate da FMSE
End If
Per conoscere le istruzioni di script supportate da FMSE, nell'Area di lavoro script di FileMaker Pro, aprire uno script, fare clic su
, quindi selezionare
Server. Le istruzioni di script non supportate vengono visualizzate in un colore diverso. È anche possibile fare riferimento alla tabella Compatibilità di ciascuna istruzione di script in
Istruzioni di script.
Motivi per eseguire uno script sul server
•per migliorare le prestazioni riducendo il traffico di rete tra client e server
•per trasferire le operazioni che richiedono più tempo dai client più lenti a un server più rapido
•per consentire ai client FileMaker Go di eseguire le operazioni che richiedono i
plug-in, supportati in FileMaker Server ma non in FileMaker Go
•per utilizzare le istruzioni di script Importa record o Esegui SQL con un'
origine dati ODBC che utilizza il
DSN del server
Note
•Se i record sono bloccati da un client, gli script lato server non possono accedere ai dati non salvati o modificare i contenuti di tali record.
•Gli script lato server possono utilizzare l'
istruzione di script Esegui script per eseguire dei
subscript, anch'essi eseguiti sul server, solo se questi si trovano in file sullo stesso server e sono già aperti dal client.
•Gli script lato server non permettono a un client di visualizzare i messaggi di avviso FileMaker come quando gli script vengono eseguiti sui client; pertanto, gli script lato server vengono sempre eseguiti come se l'
istruzione di script Imposta cattura errori fosse attivata. Utilizzare la
funzione Get ( UltimoErrore ) negli script lato server per gestire le condizioni di errore. Per semplificare la risoluzione dei problemi, gli errori vengono scritti anche nel registro eventi di FileMaker Server.
•I client non possono interrompere gli script lato server. Tuttavia, uno script lato server può essere interrotto se:
•un amministratore server arresta lo script (visualizzato come client distinto che può essere scollegato nella FileMaker Server Admin Console)
•lo script in esecuzione supera il limite di tempo specificato nel programma di FileMaker Server che lo ha avviato
•Negli script lato server, le funzioni relative all'hardware, come Get ( IndirizzoIPSistema ), restituiscono informazioni dal componente server database di FileMaker Server, non dal client.