Per un'applicazione JDBC è necessario emettere alcuni comandi ALTER SESSION. Non voglio metterli nel codice dell'applicazione stesso. Esiste un modo per specificare i valori predefiniti per i parametri di sessione per lo schema del database che l'applicazione utilizza (sul lato del database)?Impostare "alter sessione" predefinito per un utente Oracle
risposta
la maggior parte dei parametri di sessione sono definiti dall'applicazione client. Se si desidera sovrascrivere le impostazioni del client, è possibile creare uno DATABASE TRIGGER
. Ad esempio, questo creerà un innesco LOGON
sul BAR
schema:
CREATE OR REPLACE TRIGGER bar.foo
AFTER LOGON ON DATABASE WHEN (USER = 'BAR')
BEGIN
dbms_session.set_nls('NLS_NUMERIC_CHARACTERS', '''.,''');
EXECUTE IMMEDIATE 'ALTER SESSION SET CURRENT_SCHEMA=hr';
END foo;
Un trigger del database all'accesso è l'unico modo per farlo senza modificare il codice dell'applicazione. – mathewbutler
Non l'ho ancora provato, ma si potrebbe fare in modo che l'applicazione chiami una procedura memorizzata che imposta le variabili di sessione ogni volta che viene creata una sessione? Quindi, è possibile modificare la stored procedure sul lato server quando necessario.
Il punto è di non modificare affatto il codice dell'applicazione. Se lo cambio per includere alcune azioni sulla creazione della sessione (come ad esempio chiamare una procedura memorizzata), probabilmente renderò configurabili queste azioni (come leggerle da un file), così che potrei anche includere direttamente le chiamate ALTER SESSION. – Thilo
- 1. Oracle: come impostare la password utente unexpire?
- 2. Come impostare un nome utente predefinito per HTTPS git push?
- 3. Impostare HttpContext.User per la sessione
- 4. È possibile disabilitare un trigger Oracle per la sessione corrente?
- 5. Alter utente tipo definito in SQL Server
- 6. Timeout sessione predefinito per applicazioni Apache Tomcat
- 7. PHP/SESSIONE: accedi uno per utente?
- 8. Come annullare ALTER TABLE usando sqlplus (Oracle 10g Express)?
- 9. Impostare Notepad ++ per ricordare l'ultima sessione?
- 10. Come posso verificare un processo in esecuzione per sessione utente?
- 11. Un utente può modificare una sessione PHP?
- 12. schema predefinito in Oracle URL Connection
- 13. Come impostare il progetto predefinito per SBT
- 14. Android - Agente utente predefinito per URLConnection?
- 15. Impostare un compito Gulp come predefinito
- 16. Come impostare jqGrid come predefinito per comprimere
- 17. Come impostare un valore predefinito in selectize.js?
- 18. Come creare un utente predefinito su meteora?
- 19. Come impostare un valore predefinito per l'elenco degli articoli?
- 20. Posso impostare un tablespace predefinito per Index e Tables?
- 21. Come impostare il RequestFormat predefinito per un ServiceContract WCF?
- 22. C'è un modo per impostare il volume HTML5-Video predefinito?
- 23. Come impostare il formato predefinito per un percorso in Rails?
- 24. Impostare git diff su un valore predefinito
- 25. ALTER sintassi TABLE
- 26. È possibile modificare il timeout del blocco oggetti predefinito di Oracle?
- 27. Posso usare ALTER DATABASE per rinominare un database mysql?
- 28. emacs: come impostare il tipo di database predefinito per un file sql in modalità SQL
- 29. Arresta utente per impostare posizione su RecyclerView
- 30. Trova il valore predefinito per una colonna (Oracle)
@Thilo, grazie che mi hai appena salvato un sacco di tempo! –