Oracle connect c++ / Linux

Oracle connect c++ / Linux
« kdy: 20. 10. 2010, 08:33:18 »
Zdravím ,
pracujem dlhší čas pod Fedorou12 v ktorej programujem pod Eclipsom ( Galileo ) .
Používam pripojenie na Oracle / Mysql . Všetko fungovalo ako malo , ale keď som po víkende skúšal skompilovať program , Eclipse nemohol nájsť tnsnamesi.
( ORA-12154: TNS:could not resolve the connect identifier specified )
Na pripojenie k Oraclu používam Oracle Instant Client + SQLAPI .
Cez terminál pomocou testovacieho programu priamo od  SQLAPI sa ale pripojím normálne.
Predpokladám ,že to bude iba nejaké nastavenie v Eclipse , aj keď doteraz som tam nič extra nemusel nastavovať. Knižnice / Tnsnamesi / Systémove premenné sú správne.
Doteraz to fungovalo normálne , tak neviem v čom môže byť chyba. Skúšal som už aj reinstall ale nepomohol.


Roman

Re: Oracle connect c++ / Linux
« Odpověď #1 kdy: 20. 10. 2010, 10:18:33 »
Ved vam jasne pise, ze nevie najst tnsnames.ora .... takze tam by som hladal cestu. Tnsnames.ora je subor, kde su definovane aliasy na Oracle DB. Pozrel by som premenne pre ORACLE_HOME ....
R

Re: Oracle connect c++ / Linux
« Odpověď #2 kdy: 20. 10. 2010, 10:39:52 »
Ako som napísal , TNSNAMES.ORA sú na svojom mieste a systémová premenná ORACLE_HOME je nastavená správne.

Problém je v tom ,že projekty skompilované predtým idú normálne , ale tie ktoré skompilujem teraz už hlásia ORA: 12154 .
« Poslední změna: 20. 10. 2010, 10:45:57 od lubokla »

Ivan

Re: Oracle connect c++ / Linux
« Odpověď #3 kdy: 20. 10. 2010, 11:16:03 »
Instant client ma jine poradi hledani souboru tnsnames.ora nez ten thick client. Zkus si spustit strace -e trace=file a uvidis kde ho hleda. Instant client hleda tnsnames.ora v /etc a pak taky jako $HOME/.tnsnames.ora. Pokud je ovsem nastaven $ORACLE_HOME tak se snazi byt kompatibilni s thick clientem.

Ivan
PS: trochu jsem to zjednodusil, pokud ti to nebude fungovat najdi si prislusnou kapitolu v dokumentaci k instantClientu.
PS1: krome SQLAPI jeste existuji i knihovny jako OTL, SOCI nebo orclib.

Re: Oracle connect c++ / Linux
« Odpověď #4 kdy: 20. 10. 2010, 11:25:35 »
Vďaka za návrhy , idem vyskúšať a dám vedieť ako to fungovalo .


Logik

  • *****
  • 973
    • Zobrazit profil
    • E-mail
Re: Oracle connect c++ / Linux
« Odpověď #5 kdy: 20. 10. 2010, 11:28:36 »
A exportuješ to $ORACLE_HOME? Zkus si ho vypsat přímo v programu....

I když to by asi nefungovali i ty ostatní programy, takže beru zpět.... No ale za vyskoušení nic nedáš :-)
« Poslední změna: 20. 10. 2010, 11:54:18 od Matyáš Novák »

Re: Oracle connect c++ / Linux
« Odpověď #6 kdy: 21. 10. 2010, 11:37:57 »
$ORACLE_HOME mam exportnute .

Nainštaloval som Fedoru 13 + Oracle Instant client.
Prostredie Eclipse Galileo , pripájam sa pomocou OCCI priamo od Oraclu ale chyba zostáva:
ORA-12154: TNS:could not resolve the connect identifier specified.
Už naozaj neviem v čom je problém.

Honza

Re: Oracle connect c++ / Linux
« Odpověď #7 kdy: 21. 10. 2010, 12:18:52 »
zkus jeste nastavit promennou TNS_ADMIN na adresar kde mas tnsnames.ora

Roman

Re: Oracle connect c++ / Linux
« Odpověď #8 kdy: 21. 10. 2010, 12:35:30 »

Re: Oracle connect c++ / Linux
« Odpověď #9 kdy: 21. 10. 2010, 12:36:48 »
« Poslední změna: 21. 10. 2010, 13:57:26 od lubokla »

Roman

Re: Oracle connect c++ / Linux
« Odpověď #10 kdy: 21. 10. 2010, 19:31:30 »
Ja by som spravil nasledovne:

- uistil si nazov SID databazy
- vytvoril si adresar /home/bux0/ORACLE_HOME/network/admin/tnsnames.ora
- upravil si  tnsnames.ora podla http://www.orafaq.com/wiki/Tnsnames.ora a spravne nastavil SID DB
- potom ako uzivatel bux0 zadal prikaz
export TNS_ADMIN=/home/bux0/ORACLE_HOME/network/admin
malo by to ist


Re: Oracle connect c++ / Linux
« Odpověď #11 kdy: 22. 10. 2010, 07:46:56 »
Zaujmavé , nič som neprestavoval , nemenil , PC neresetoval a pustil som program ktorý posledné 4 dni nešiel a ide  :o