Próba połączenia się z Oracle 12 za pomocą FireDac kończy się błędem

0

Czego mi brakuje
Próbuję się połączyć z Oracle za pomocą FireDac dostaję taki błąd:
screenshot-20191206113550.png

mogę się połączyć za pomocą konsoli dbForge Studio
screenshot-20191206113846.png

mogę się połączyć za pomocą SQL Developer

screenshot-20191206113957.png

moj tnsnames.ora

# tnsnames.ora Network Configuration File: C:\app\Ori\product\12.1.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

FK_APSH =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = APSH-LAB)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = FK_APSH)
    )
  )

LISTENER_FKAPSH =
  (ADDRESS = (PROTOCOL = TCP)(HOST = APSH-LAB)(PORT = 1521))


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

LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = APSH-LAB)(PORT = 1521))


ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = APSH-LAB)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
0

Zajebiście - wszystko podałeś tylko najważniejsze pominąłeś - jak ustawiasz połączenie w FireDACu???

0

Nie musisz być złośliwy

screenshot-20191206142543.png

0

FK_APSH != ORCL

0

tutaj chyba jest wszystko: http://docwiki.embarcadero.com/RADStudio/Rio/en/Connect_to_Oracle_Server_(FireDAC)
Pytanie, masz zainstalowanego klienta Oracle czy też tylko skopiowane biblioteki?
Następne pytanie, jaka wersja tego klienta (lub bibliotek) chodzi o ilość bitów.

Tutaj masz coś o błędzie ORA-12154
https://www.benthicsoftware.com/faq.html

0

klient oracle 11g tak jak zaleca embarcadero klient 32bit, biblioteki tylko skopiowane

0

Nie pamiętam dokładnie, ale czy dodałeś TFDPhysORADriverLink ? Wrzuć dll tam gdzie exe ustaw jej VendorLib na nazwę dll Oracla.

0

Niestety nie pomaga :(

0

Nie korzystam z Oracla ale łącząc informacje które podałeś z linkiem wymienionym wyżej: http://docwiki.embarcadero.com/RADStudio/Rio/en/Connect_to_Oracle_Server_(FireDAC)
to database powinienem mieć ustawione na: APSH-LAB

0

Obecnie efekt jest taki dla komponentów FireDac

  • w design time
    screenshot-20191208092944.png

  • w runtime
    screenshot-20191208094605.png

W przypadku UniDac-a w design time to samo co w FireDac natomiast w runtime nawiązuje połaczenie.
Ponoć ma to związek z wersją klienta Oracle, jednak sprawdziłem dokładnie i to chyba nie to.
Jakieś pomysły ktoś ma?

0

Dobrze by było jakbyś napisał co (jeśli) zmieniłeś. Jesteś pewien że w desing i runtime masz te same dane? Trochę mało prawdopodobne żeby runtime się łączył a design już nie, dla tych samych parametrów.
Masz zrzucony tnsnames.ora do folderu z exe?
Podałeś na samym początku screeny z próbą połączenia różnymi sposobami. Raz podajesz login "Ori", raz "system". Próbowałeś łączyć się wszędzie na te same dane?

0

teraz łączę się na user: system i wszędzie mam te same parametry

0

W runtime masz łączenie z bazą tylko podajesz błędne logowania - literówka, połączenie z inną bazą?
W design odpalasz aplikacje z kompilatora i ścieżka aplikacji nie jest ścieżką do exe. Jeśli podajesz jakieś ścieżki dostępu to coś się może rozjeżdżać np. lokalizacja tnsnames.ora. Debugowałeś to i sprawdzałeś co konkretne masz przekazywane w FireDac podczas łączenia?

0

ok, problem rozwiązany, pomogła weryfikacja zmiennych systemowych i usunięcie wpisów w rejestrze które odnosiły się do nieistniejącego katalogu

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