Witam,
Mam problem ze skonfigurowaniem połączenia miedzy C# (VS 2015) a Oracle database.
Podczas testowanie połączenia otrzymuje komunikat: "ORA-12505, TNS:listener does not currently know of SID given in connect descriptor".
Może ktoś kto miał taki problem Ci odpowie, ale po wpisaniu w google wyskakuje trochę wyników, między innymi błąd w jdbc string: https://stackoverflow.com/questions/18192521/ora-12505-tnslistener-does-not-currently-know-of-sid-given-in-connect-descript
zobacz też to: https://stackoverflow.com/questions/5661610/tns-12505-tnslistener-does-not-currently-know-of-sid-given-in-connect-descript
podaj connection stringa i dane do bazy. Ewidentnie podajesz złe dane do connection stringa
przeglądałem stock'a w 1 kolejności.
stanąłem na tym, że odblokowałem domyślnego usera HR z poziomu konsoli ale dalej nie mogę się połączyć przez VS2015
trafiłem na info ze z poziomy przeglądarki można odblokować tego użytkownika, ale myślę ze to to samo co odblokowanie z poziomu konsoli.
abrakadaber napisał(a):
a skąd mogę pobrać connection stringa ?
chodzi o fragment kodu mainWidow który będzie przesyłał dane do bazy ?
czy zawartość tnsnames.ora ?
gdzieś w aplikacji podajesz do jakiej bazy ma się połączyć. Może to wyglądać np tak: Data Source=ORCL;User Id=urUsername;Password=urPassword;
. Ja nie wiem ja Ty się łączysz - w końcu to Twój program. Co do danych połączenia to co masz w tnsnames.ora
, i jakie są dane do bazy (ip, port, sid lub service_name)
Poszukaj w plikach *.config
ale ja robię dopiero test połączenia. czyli do testu połączenia już powinienem mieć napisany kod w programie tak ?
TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Nekropolia_2016)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TEST)
)
)
XE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Nekropolia_2016)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
z tym blok "test" dopisałem ręcznie sugerująca się postem z jakiegoś forum
na 99% masz źle service_name
w test
- powinno być xe
bo zapewne tak się nazywa serwis jak nic nie zmieniałeś. Poza tym już miałeś wpis w tnsnames.ora
- XE
i nie musiałeś dodawać nowego.
Napisałeś w pierwszym poście
Mam problem ze skonfigurowaniem połączenia miedzy C# (VS 2015) a Oracle database.
Podczas testowanie połączenia otrzymuje komunikat: "ORA-12505, TNS:listener does not currently know of SID given in connect descriptor".
To gdzie jak nie w programie próbujesz się połączyć? Bo z tego, jak dla mnie, wynika, że testujesz to połączenie z programu.
znalazłem filmik na podstawie, którego chciałem się łączyć z bazą bez gotowego projektu.
i co najdziwniejsze w tym filmiku (4:40) widać połączaną base danych przy jeszcze nie utworzonym projekcie
czyli jednak da się przez VS połączyć z baza danych bez kodu w programie
znalazłem rozwiązanie tego błędu (może komuś się przyda)
w pliku ``` tnsnames.ora
LISTERNER_ORCL =
(ADRESS = (PROTOCOL = TPC)(HOST = localhost)(PORT = 1521))
plus skopiować zedytowany plik wygląda identycznie w obu katalogach