NevemTeve Creative Commons License 2016.07.21 0 0 5579

dblink-nél jött szembe egy probléma, amit nemnagyon látok megoldhatónak (illetve nagyobbacska beavatkozást igényel, ami bármilyen következménnyel is járhat, bár ez persze mindenre igaz, kezdve a számítógép bekapcsolásával).

 

Mondjuk én a LOCAL.LOC-NET adatbázisban vagyok, és DBLINK-et nyitok REMOTE.REMDOMAIN adatbázisra. Namostan tegyük fel, hogy a DBLINK neve rögzített (mert bele van heggesztve különféle nézetekbe/programokba), és abban a névben nincs .pont. Hanem mondjuk SZEMELYZETI_DBLINK. Tehát ilyesmit ténykedek:

 

create database link SZEMELYZETI_DBLINK
connect to HR identified by HR
using 'TNSNAMES-ENTRY';

Most jön az első jó hír: a DBLINK igazi neve SZEMELYZETI_DBLINK.LOC-NET lesz. Sebaj, azért egy-s-más működik (pl. SELECT COUNT(*) FROM DUAL@SZEMELYZETI_DBLINK)

 

Próbálunk valami bonyolultabbat, és jön a második jó hír: az Ora ránk pirít, hogy aljas módon beraktunk egy érvénytelen -hyphen jelet a névbe, és ez bizony szintaktikus hiba.

 

Google barátunk sok okos tanácshoz elvezet, a legtöbben azt mondják, hogy a távoli gép domain nevének van jelentősége. Hát nincs: valamilyen lelki okból a lokális domain-nevet csapja dblink nevéhez; kivéve, ha a névben eleve van egy vagy több .pont karakter.

 

További zsákutca: dblink-hez nem lehet szinonímát csinálni, csak a dblink-et át elért objektumhoz. (Tehát ha kétszáz kell, akkor nyilván kétszáz szinonímát csinálok, nem? Hát nem.)

 

Tehát csak két lehetőséget vélek látni:

1. nevezzük a dblink-et SZEMELYZETI.DBLINK-re

2. nevezzük át az adatbázist LOCAL.LOCNET-re

 

Ha egyik sem megy, akkor gondolkodóba esünk.

 

PS: ja és van egy global_names nevű session-paraméter, ami jobb, ha false, különben csak REMOTE.REMDOMAIN@VALAMI nevű dblink-et szeret a derék Ora a REMOTE.REMDOMAIN adatbázishoz. (Ez nagyon megkönnyítené a különféle migrációkat, élesítéseket, szolgáltatás-áthelyezéseket, az már biztos. (gyk: ez irónia volt))