Wątek przeniesiony 2017-07-30 15:05 z C# i .NET przez somekind.

Konfiguracja C# pod Oracle

0

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".

0

podaj connection stringa i dane do bazy. Ewidentnie podajesz złe dane do connection stringa

0

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.

1

4p.png

0
abrakadaber napisał(a):

4p.png

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 ?

0

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)

0

Poszukaj w plikach *.config

0

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

1

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.

0

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

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1