|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
[PL/SQL] Oracle e variabile d'ambiente Unix
Sto usando il package UTL_FILE di Oracle per scrivere un file di log da un PL/SQL ma quando passo il path alla funzione FOPEN mi da l'eccezione UTL_FILE.INVALID_PATH.
Giustamente, perché gli sto passando un path che non é assoluto. Quindi come faccio ad ottenere il valore di una variabile d'ambiente del SO da Oracle ? in questo caso per esempio sarebbe la variabile $PATH_GIUSTO che contiene il path corretto. Grazie
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Come non detto:
Quote:
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Aug 2001
Città: milano, qualunque birreria
Messaggi: 4208
|
Quote:
select * from v$parameter (ma mi pare che l'utente debba avere il privilegio DBA) show parameter <parametro> (es. nls_date_format) occhio che non tutti gli editor sql (toad in primis) rispondono al comando show parameter, devi usare un sqlplus "standard"
__________________
Save water: drink beer.
This message has been created with 100% recycled electrons Un rutto vale più di mille parole. |
|
|
|
|
|
|
#4 | ||
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
Codice:
SQL> SELECT * FROM all_objects WHERE lower(object_name) LIKE '%v$parameter%'; OWNER OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID ------------------------------ ------------------------------ ------------------------------ ---------- -------------- OBJECT_TYPE CREATED LAST_DDL_ TIMESTAMP STATUS T G S ------------------ --------- --------- ------------------- ------- - - - PUBLIC GV$PARAMETER 915 SYNONYM 22-FEB-03 22-FEB-03 2003-02-22:00:09:15 VALID N N N PUBLIC GV$PARAMETER2 917 SYNONYM 22-FEB-03 22-FEB-03 2003-02-22:00:09:16 VALID N N N PUBLIC V$PARAMETER 549 SYNONYM 22-FEB-03 22-FEB-03 2003-02-22:00:08:34 VALID N N N PUBLIC V$PARAMETER2 551 SYNONYM 22-FEB-03 22-FEB-03 2003-02-22:00:08:34 VALID N N N SQL> desc V$PARAMETER ERROR: ORA-04043: object SYS.V_$PARAMETER does not exist ![]() Quote:
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
||
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Aug 2001
Città: milano, qualunque birreria
Messaggi: 4208
|
Quote:
in effetti...
__________________
Save water: drink beer.
This message has been created with 100% recycled electrons Un rutto vale più di mille parole. |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
Secondo me hai due possibilità:
1) ti metti il valore della variabile d'ambiente da qualche parte nel db (una tabella, una variabile nel package pl/sql, ecc...) 2) chiami una procedura esterna (java o c) come descritto nel manuale (pl/sql user guide, capitolo 8 al paragrafo "Calling External Subprograms")
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
Mi son connesso come DBA e ... voilá: Codice:
SQL> desc SYS.V_$PARAMETER Name Null? Type ------------------------------------------------------------------------ -------- ------------------------------------------------- NUM NUMBER NAME VARCHAR2(64) TYPE NUMBER VALUE VARCHAR2(512) ISDEFAULT VARCHAR2(9) ISSES_MODIFIABLE VARCHAR2(5) ISSYS_MODIFIABLE VARCHAR2(9) ISMODIFIED VARCHAR2(10) ISADJUSTED VARCHAR2(5) DESCRIPTION VARCHAR2(64) Grazie dell'input
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
tu dici che Oracle non ha ci da la possibilita di ottenere il valore di una variabile senza fare tutto sto casino ??? ![]() Da C posso fare l'embedded pl/sql e non posso fare il contrario ? Non mi sembra che per Oracle sia un problema andare ad interrogare il SO, per esempio: Codice:
SQL> host(echo $PATH) Comunque grazie, quella parte sul java da Oracle é interessante
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
Non ho mai fatto una cosa del genere. Ma da quanto ho letto in giro l'unico modo di fare il contrario è chiamare una procedura esterna come descritto nel manuale.
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:44.






















