Temat: ORA-12154 Nie udało się rozstrzygnąć podanego...

System operacyjny: Windows XP
Baza danych: Oracle 10g

Chcę stworzyć formularz wykorzystując narzędzie Forms Builder. Cały moduł został skompilowany pomyślnie. Próba uruchomienia kończy się niepowodzeniem. Pojawia się okna logowania do bazy, gdzie wprowadzam prawidłowe dane. W wyniku otrzymuję komunikat błędu: 'ORA-12154 Nie udało się rozstrzygnąć podanego identyfikatora połączenia'

Co i gdzie powinnam zmienić?

Pozdrawiam,
MałgosiaMałgorzata Ewa Bąba edytował(a) ten post dnia 27.04.09 o godzinie 19:31
Igor Piotr I.

Igor Piotr I. IT manager/Senior
Oracle Developer

Temat: ORA-12154 Nie udało się rozstrzygnąć podanego...

napisz na jakiej wersji forms'ów wyskakuje Ci taki błąd

1.)
prawdopodobnie masz nieprawidłowy zapis w TNSNAMES.ora

znajdź TNS'a

dla forms 6i
C:\orant\NET80\ADMIN\tnsnames.ora
dla 9/10 ten plik jest w (ale nie pamiętam dokładnie ścieżki)
C:\oradevsuite\NETWORK\ADMIN\tnsnames.ora

i sprawdź czy wygląda w ten sposób
pola [*TEXT] musisz uzupełnić o twoje dane


[*ALIAS_DO_BAZY] =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = [*IP_SERWERA])(PORT = [*PORT_DOMYSLNIE 1521]))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = [*BAZA])
)
)

-- Przykład

MOJA_BAZA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)



2.)
jeśli to nie pomoże zmień wpis z


[*ALIAS] =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = [*LOCALHOST])(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = [*BAZA])
)
)

na

[*ALIAS] =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = [*LOCALHOST])(PORT = 1521))
)
(CONNECT_DATA =
(SID = [*BAZA])
)
)


lub odwrotnie

a tu jeszcze wrzucam opis błędu

TNS-12154 TNS:could not resolve service name
Cause: The service name specified is not defined correctly in the TNSNAMES.ORA file.
Action: Make the following checks and correct the error:
-Verify that a TNSNAMES.ORA file exists and is in the proper place and
accessible. See the operating system specific manual for details on the
required name and location.
-Check to see that the service name exists in one of the TNSNAMES.ORA
files and add it if necessary.
-Make sure there are no syntax errors anywhere in the file. Particularly look
for unmatched parentheses or stray characters. Any error in a
TNSNAMES.ORA file makes it unusable. See the SQL*Net V2 Net8 Messages (TNS) 25-75
-Administrator's Guide. If possible, regenerate the configuration files using
the Oracle Network Manager.Igor Piotr I. edytował(a) ten post dnia 28.04.09 o godzinie 08:48

Temat: ORA-12154 Nie udało się rozstrzygnąć podanego...

Dziękuję serdecznie nie miałam wpisu w plik (u mnie zadziałał ten pierwszy :) ).

Pozdrawiam,
Małgosia
Maciej Kurzak

Maciej Kurzak Application
Development
Associate

Temat: ORA-12154 Nie udało się rozstrzygnąć podanego...

Witam,
podłączę się do tematu, bo posiadam ten sam komunikat, próbując łączyć się z bazą przez Report Buildera przez Oracle SQL*PLUS jest okay, wersja oracla to: 10.2.0.1.0
W katalogu bazy danych db_1\NETWORK\ADMIN\tnsnames.ora


ORACLE1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.153)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oracle1)
)
)

ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.153)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)

Podaje numery IP dlatego, że w sieci prywatnej i z systemu na wirtualnej maszynie.
Czy dobrze rozumiem, że ten sam plik tnsnames.ora muszę z folderu bazy danych przekopiować do katalogu Developer Suita?Maciej Kurzak edytował(a) ten post dnia 13.07.09 o godzinie 23:05

Temat: ORA-12154 Nie udało się rozstrzygnąć podanego...

Ja zmodyfikowałam wpis w pliku tnsnames.ora (D:\Oracle\DevSuiteHome_1\NETWORK\ADMIN)

Bazę mam lokalnie
Wcześniej miałam:

EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = j200710010276)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = PLSExtProc)
)
)


Zmieniłam na:

ORCL =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ORCL)

)

)
Małgorzata Ewa Bąba edytował(a) ten post dnia 14.07.09 o godzinie 20:59
Maciej Kurzak

Maciej Kurzak Application
Development
Associate

Temat: ORA-12154 Nie udało się rozstrzygnąć podanego...

Chyba nakombinowałem, bo po zmianie powinno być już okay, na to by wyglądało, ale nadal ten sam numer błędu, tylko treść inna: "TNS: no listener", a patrzyłem w net managerze i mam ustawione listenery.Maciej Kurzak edytował(a) ten post dnia 14.07.09 o godzinie 23:45
Marcin B.

Marcin B. Oracle Developer

Temat: ORA-12154 Nie udało się rozstrzygnąć podanego...

Może gdzieś masz spacje w TNS?
Jeśli masz wpis typu np.COSTAM.WORLD w tnsnames, warto w pliku SQLNET.ORA wpisać: "names.default_domain = world" i można łączyć się podając tylko COSTAM.
Warto sprawdzić jaka jest ścieżka, tj.START > programy > Oracle Installation Products > Home Selector, u mnie jest to C:\oracle\oradev, więc tnsnames.ora musi być tu C:\oracle\oradev\network\admin\

Do sprawdzenia działania TNSów watro używać TNSPINGa, dostępny z poziomu konsoli cmd.
Maciej Kurzak

Maciej Kurzak Application
Development
Associate

Temat: ORA-12154 Nie udało się rozstrzygnąć podanego...

po sprawdzeniu ping dostałem coś takiego:
C:\Documents and Settings\Maciej>tnsping oracle1

TNS Ping Utility for 32-bit Windows: Version 10.1.0.4.2 - Production on 15-LIP-2
009 23:01:14

Copyright (c) 1997, 2003, Oracle. All rights reserved.

U┐yte pliki parametrˇw:


U┐yto adaptera TNSNAMES w celu rozstrzygniŕcia tego aliasu
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhos
t)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = oracle1)))

TNS-12541: TNS:brak procesu nas│uchu


mój tnsnames.ora:
# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

ORACLE1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oracle1)
)
)

ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.153)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)


mój sqlne:

# sqlnet.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.

# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)


żeby był komplet to jeszcze listener

# listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.153)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)



Przepraszam, za długość posta

Tylko widzę, że swoje pliki też ma w oddzielnym katalogu DeveloperSuite, to muszę zmieniać tam czy te z katalogu "bazy danych"??Maciej Kurzak edytował(a) ten post dnia 15.07.09 o godzinie 23:14
Marcin B.

Marcin B. Oracle Developer

Temat: ORA-12154 Nie udało się rozstrzygnąć podanego...

A co ci mówi LSNRCTL? jaki status? Masz uruchomioną usługę?
Maciej Kurzak

Maciej Kurzak Application
Development
Associate

Temat: ORA-12154 Nie udało się rozstrzygnąć podanego...

Dzięki wielkie, po restarcie sama się uruchomiła, bo jak wspomniałem na razie testuje bazę na Windowsie XP postawionym na wirtualnej maszynie.
Pozdrawiam

konto usunięte

Temat: ORA-12154 Nie udało się rozstrzygnąć podanego...

Ja mam problem innej natury. TNSPING pokazuje mi że wszystko jest ok, ale nie mogę się połączyć przez SQLPLUSa do bazy:

E:\dziex>tnsping XE

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 17-GRU-2009 15:37:28

Copyright (c) 1997, 2005, Oracle. All rights reserved.

Used parameter files:
C:\oracle\app\oracle\product\10.2.0\server\network\admin\sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = zuzia)(PORT = 1521)) (CONNECT_DATA = (SERVER = D
EDICATED) (SID = XE)))
OK (20 msec)


E:\dziex>sqlplus dziex@XE

SQL*Plus: Release 10.2.0.1.0 - Production on Cz Gru 17 15:41:09 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Proszŕ podaŠ has│o:
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified


Proszŕ podaŠ nazwŕ u┐ytkownika: dziex
Proszŕ podaŠ has│o:
ERROR:
ORA-12560: TNS:protocol adapter error


O co może chodzić?

Zrzut tnsnames.ora
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = zuzia)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = XE)
)
)

EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)

ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)


Zrzut sqlnet.ora:
# This file is actually generated by netca. But if customers choose to 
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES = (NTS)
NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT)

konto usunięte

Temat: ORA-12154 Nie udało się rozstrzygnąć podanego...

Grzegorz Dziekan:
SQLNET.AUTHENTICATION_SERVICES = (NTS)

Zakomentuj to i sprawdź ponownie.

konto usunięte

Temat: ORA-12154 Nie udało się rozstrzygnąć podanego...

Nie ma to jak podejście praktyczne. Na 99% pomoże, bo miałem kiedyś podobny problem i straciłem ładnych parę godzin.

tnsping ogólnie jest tak średnio przydatny - łączy się do listenera, a nie do bazy. Więcej tutaj:
http://www.goldenline.pl/forum/oracle-dba/877540

P.S. Trochę nie ta grupa. Na następny raz - Oracle DBA. :]Adam Michalski edytował(a) ten post dnia 17.12.09 o godzinie 21:49

konto usunięte

Temat: ORA-12154 Nie udało się rozstrzygnąć podanego...

Ten post mi w google wyskoczył, więc nie kombinowałem.

Dzięki za pomoc - po zakomentowaniu już się mogę połączyć.



Wyślij zaproszenie do