Pagina 1 di 2

Problema con ODBC e connessione utente non root

Inviato: 22 ottobre 2018, 10:36
da fermat
ciao!

ho installato unixodbc, e configurato i vari file per la connessione a oracle.
- tnsnames.ora
- odbc.ini
- odbcinst.ini

adesso, se lancio questo comando da root, funziona tutto alla perfezione.
se lo lancio da utente normale:

Codice: Seleziona tutto

$ isql -v C4B
[S1000][unixODBC][Oracle][ODBC][Ora]ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA

[ISQL]ERROR: Could not SQLConnect
possibile??
che dovrei fare secondo voi??

Re: Problema con ODBC e connessione utente non root

Inviato: 22 ottobre 2018, 19:30
da 4javier
Hai provato a copiare odbc.ini in ~/.odbc.ini nella home del tuo utente?

Re: Problema con ODBC e connessione utente non root

Inviato: 22 ottobre 2018, 19:37
da fermat
4javier ha scritto:
22 ottobre 2018, 19:30
Hai provato a copiare odbc.ini in ~/.odbc.ini nella home del tuo utente?
si si, è già presente!
ed è identico a quello che sta in /etc

Re: Problema con ODBC e connessione utente non root

Inviato: 22 ottobre 2018, 19:46
da 4javier
Perdona la domanda sciocca, ma a volte le sviste più semplici fanno perdere un sacco di tempo:
hai messo il punto all'inizio del nome nella copia del file del tuo utente?
Posta anche

Codice: Seleziona tutto

echo $ODBCINI

Re: Problema con ODBC e connessione utente non root

Inviato: 23 ottobre 2018, 9:23
da fermat
ciao!

si messo con il punto:

Codice: Seleziona tutto

$ ls -la .odbc.ini 
-rw-r--r-- 1 matte matte 114 22 ott 10.43 .odbc.ini
invece il secondo comando mi restituisce una valore vuoto:

Codice: Seleziona tutto

$ echo $ODBCINI


Re: Problema con ODBC e connessione utente non root

Inviato: 23 ottobre 2018, 13:29
da 4javier
Prova a esportare quella variabile dandole il valore /.odbc.ini, e posta anche

Codice: Seleziona tutto

echo $ORACLE_HOME
Prova a copiare anche il tuo tnsnames.ora in ~/.tnsnames.ora

Inviato: 24 ottobre 2018, 23:08
da fermat
scusate ma nel frattempo il sever con oracle si è rotto.
appena lo sistemo, vi dico anche per l'ODBC!

Re: Problema con ODBC e connessione utente non root

Inviato: 25 ottobre 2018, 7:08
da TheSaint
Magari faresti meglio a cambiare il server, con quelli più usati come Apache o nginx. Poi se ti serve un supporto per dati, allora magari meglio provare Django.

Re: Problema con ODBC e connessione utente non root

Inviato: 25 ottobre 2018, 12:02
da fermat
TheSaint ha scritto:
25 ottobre 2018, 7:08
Magari faresti meglio a cambiare il server, con quelli più usati come Apache o nginx. Poi se ti serve un supporto per dati, allora magari meglio provare Django.
uhm no, il gestionale gira solo su windows.
quindi non posso installare quello che mi pare purtroppo....

cmq, ho riavviato il server.
nel mio pc, ho esportato la variabile che mi avete detto:

Codice: Seleziona tutto

$ echo $ODBCINI
/home/matte/.odbc.ini

$ cat $ODBCINI
[C4B]
Driver = OracleODBC
DSN = 194.1.1.253
ServerName = 194.1.1.253
Database = C4B
UserID = md_s
Password = md_s

$ isql -v C4B
[S1000][unixODBC][Oracle][ODBC][Ora]ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA

[ISQL]ERROR: Could not SQLConnect

ma ancora nn ci siamo.
l'altra variabile che mi avete chiesto è questa:

Codice: Seleziona tutto

$ echo $ORACLE_HOME
/usr

Re: Problema con ODBC e connessione utente non root

Inviato: 25 ottobre 2018, 13:24
da 4javier
Hai copiato il tnsnames.ora come ti avevo suggerito nel post precedente?

Re: Problema con ODBC e connessione utente non root

Inviato: 25 ottobre 2018, 13:44
da fermat
4javier ha scritto:
25 ottobre 2018, 13:24
Hai copiato il tnsnames.ora come ti avevo suggerito nel post precedente?
si ho copiato anche quello:

Codice: Seleziona tutto

$ cat .tnsnames.ora 

C4B =
 (DESCRIPTION =
  (ADDRESS =
    (PROTOCOL = TCP)
    (Host = 194.1.1.253)
    (Port = 1521)
 )
 (CONNECT_DATA = 
    (SID = C4B)
    (SERVICE_NAME = C4B)
 )
)

Re: Problema con ODBC e connessione utente non root

Inviato: 25 ottobre 2018, 14:21
da 4javier
Sembra che isql ignori il file nella tua dir utente. A mali estremi...
Posta:

Codice: Seleziona tutto

strace isql -v C4B

Re: Problema con ODBC e connessione utente non root

Inviato: 25 ottobre 2018, 14:47
da fermat
l'output è troppo lungo.
e non mi fa allegare il file txt perchè mi dice che l'estensione non è valida.......

Re: Problema con ODBC e connessione utente non root

Inviato: 25 ottobre 2018, 15:40
da 4javier

Re: Problema con ODBC e connessione utente non root

Inviato: 25 ottobre 2018, 15:47
da fermat
scusa, non ci avevo proprio pensato.

ecco il link: https://pastebin.com/8VQvrVLg

Re: Problema con ODBC e connessione utente non root

Inviato: 25 ottobre 2018, 19:24
da 4javier
Continuo a non trovare il problema. Prova a dare lo strace anche da root.
E magari posta anche /home/matte/oradiag_matte/diag/clients/user_matte/host_4198202288_110/trace/sqlnet.log

Re: Problema con ODBC e connessione utente non root

Inviato: 26 ottobre 2018, 9:24
da fermat
ciao!

allora, questo il strace da root: https://pastebin.com/zsdC44kk

questo il cat del log: https://pastebin.com/1GBPhw2s

a prima vista, nel log c'è questo di strano:

Codice: Seleziona tutto

Fatal NI connect error 12504, connecting to:
 (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=)(CID=(PROGRAM=isql@matte-port)(HOST=matte-port)(USER=matte)))(ADDRESS=(PROTOCOL=TCP)(HOST=194.1.1.253)(PORT=1521)))
sembrano vuoti i valori, anche se nel tns i valori ci stanno:

Codice: Seleziona tutto

$ cat .tnsnames.ora 
C4B =
 (DESCRIPTION =
  (ADDRESS =
    (PROTOCOL = TCP)
    (Host = 194.1.1.253)
    (Port = 1521)
 )
 (CONNECT_DATA = 
    (SID = C4B)
    (SERVICE_NAME = C4B)
 )
)

Re: Problema con ODBC e connessione utente non root

Inviato: 26 ottobre 2018, 11:16
da 4javier
Prima di leggere lo strace, che mi viene il mal di testa, ti chiedo di postare anche l'output di

Codice: Seleziona tutto

lsnrctl status
sia da root che da utente semplice.

Scusa, ma dal tuo strace dato da root risulta che non riuscito comunque a connettersi, con lo stesso identico errore. Come mai?

Re: Problema con ODBC e connessione utente non root

Inviato: 26 ottobre 2018, 11:33
da fermat
sia da root che da utente nornale:

Codice: Seleziona tutto

lsnrctl status
bash: lsnrctl: comando non trovato
riporto le variabili di ambiente, mi fosse sfuggito qualcosa:

Codice: Seleziona tutto

# env | grep -i oracle
ORACLE_HOME=/usr

# echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/matte/.odbc.ini

Re: Problema con ODBC e connessione utente non root

Inviato: 26 ottobre 2018, 11:46
da 4javier
Probabilmente ti sei perso il mio ultimo edit.
4javier ha scritto:
26 ottobre 2018, 11:16
Scusa, ma dal tuo strace dato da root risulta che non riuscito comunque a connettersi, con lo stesso identico errore. Come mai?

Re: Problema con ODBC e connessione utente non root

Inviato: 26 ottobre 2018, 12:16
da fermat
no, non avevo visto.
la colpa è di questo messo nel home dell mio utente:

Codice: Seleziona tutto

#export ODBCINI=$HOME/.odbc.ini
#PATH=$PATH:$ODBCINI
commentate e riaperto il terminale, non ho problemi da root.
e da utente normale ho gli stessi problemi.

Re: Problema con ODBC e connessione utente non root

Inviato: 26 ottobre 2018, 12:37
da 4javier
Almeno una cosa che ha senso nel funzionamento di 'sto coso...
Puoi postare ora lo strace da root?

Re: Problema con ODBC e connessione utente non root

Inviato: 26 ottobre 2018, 13:50
da fermat
eccolo: https://pastebin.com/jxxY2t7Z

una volta lanciato, il terminale si ferma all'ultima riga senza fare altro.

Re: Problema con ODBC e connessione utente non root

Inviato: 26 ottobre 2018, 16:12
da 4javier
posta
/home/matte/oradiag_matte/diag/clients/user_matte/host_4198202288_110/alert/log.xml
ed anche
/root/.odbc.ini

Re: Problema con ODBC e connessione utente non root

Inviato: 26 ottobre 2018, 16:34
da fermat
allora, questo è il .odbc.ini in root:

Codice: Seleziona tutto

[C4B]
Driver = OracleODBC
DSN = 194.1.1.253
ServerName = C4B
UserID = user
Password = pwd
questo quello nella mia home:

Codice: Seleziona tutto

[C4B]
Driver = OracleODBC
DSN = 194.1.1.253
ServerName = 194.1.1.253
Database = C4B
UserID = user
Password = pwd
questo il log che mi hai richiesto: https://pastebin.com/ApuANrdm