Ona ta chyba může mít víc příčin. Můj další popis řeší situaci, kdy to jeden den fungovalo a další den po nějakém restartu už to nejede:
ORA-12505: TNS:listener does not currently know of SID given in connect descriptor
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
Chyba se obvykle vyskytuje krátce po zapnutí nebo restartu počítače. Řešením je pár minut počkat a zkusit se znovu připojit za chvíli.
Pokud čekání nepomohlo, vyzkoušejte na příkazové řádce postupně zadat:
net start OracleXETNSListener
net start OracleServiceXE
@oradim -startup -sid XE -starttype inst > nul 2>&1
Tento postup máme vyzkoušený na Oracle 10g Express Edition. Nevíme, jestli je to účinné i pro jiné verze.
Tip: Na počítači, který nám slouží jako databázový server, jsme změnili nastavení služeb OracleServiceXE a OracleXETNSListener. Defaultně po instalaci Oracle 10g XE mají Typ spouštění: Automaticky. Změnili jsme na Ručně. Do úloh po spuštění počítače jsme zařadili *.bat soubor obsahující ty tři řádky výše a od té doby už nejsou s připojováním k serveru problémy.
Pozor: Internet je plný návodů, jak chybu řešit editací listener.ora a tnsnames.ora, ale ty jsou (přinejmenším pro Express edici s jednou databází) zavádějící - když přechozí den vše fungovalo, jsou tyto soubory nejspíš správně.