Delphi: Oracle TNS-12560 hiba hálózati meghajtó esetén

Programozással kapcsolatos cikkek / Delphi (146 katt)

A Turbo Delphi használata során azt tapasztaltam, hogy ha egy TADOConnection komponenst használó programot egy hálózati meghajtón (pl. egy z: nevű bemappelt network drive-on) fejlesztek, és a futás során hozzá szeretnék kapcsolódni egy Oracle adatbázishoz, akkor a program kivételt dob. Az Oracle által visszaadott hibakód a ORA-12560 (TNS: protokoll csatoló hiba) volt. Ha a lefordított programot átmásoltam a c: meghajtóra, akkor rendben lefutott.

Kivonat az sqlnet.log-ból:

Tns error struct:
ns main err code: 12560
TNS-12560: TNS: protokoll csatoló hiba
ns secondary err code: 0
nt main err code: 530
TNS-00530: Protokoll adapter hiba
nt secondary err code: 38
nt OS err code: 0



Az internetes keresés során kiderült, hogy mások is találkoztak már ezzel a hibával (például a Visual Studio használata során). Elegáns megoldást sajnos nem sikerült találnom.

Egy lehetséges megkerülő megoldás az, hogy a fordítás során létrejövő exe-t nem a hálózati meghajtóra, hanem a c:-ra hozzuk létre. Ehhez a projekt Options menüpontjában az Output Directory-t kell átállítani úgy, hogy a c:-re mutasson:


Előző oldal Kapitány