Hai provato a impostare il HS_FDS_CONNECT_PROPERTIES
parametro nel file di inizializzazione del gateway trasparente AS400?
Per un timeout di 2 minuti:
HS_FDS_CONNECT_PROPERTIES="timeout='120'"
Un'altra opzione più generale per impostare un timeout di query è creare un profilo e assegnalo all'utente che esegue la tua query.
Un profilo di risorsa può essere utilizzato per impostare limiti su tutti i tipi di utilizzo in una sessione particolare:un limite di risorsa disponibile è il tempo di connessione.
Ad esempio, puoi creare un profilo as400_tg_profile
e assegnargli un tempo di connessione massimo di 2 minuti:
create profile as400_tg_profile limit connect_time 2;
... quindi potresti assegnare questo profilo all'utente che esegue la query:
alter user as400_tg_user profile as400_tg_profile;
Ci sono molte opzioni per creare un profilo e ci sono molti modi per assegnare un profilo a un particolare utente, quindi dovresti leggere la documentazione.
Potresti anche esaminare l'utilizzo di Oracle Resource Manager per creare gruppi di risorse e profili di risorse se hai bisogno di assegnare dinamicamente limiti di risorse particolari:questo ti dà un controllo granulare delle risorse per le singole sessioni.
La documentazione Oracle è davvero buono su questo - per cominciare, dai una lettura a questo:
Per maggiori dettagli:
http://download.oracle.com /docs/cd/B19306_01/server.102/b14231/dbrm.htm#ADMIN027
Questa è una di quelle funzionalità più facili da usare in Enterprise Manager, ma un rapido esempio PL/SQL è riportato in:
http://www.dba-oracle.com/job_scheduling/resource_manager.htm