Napojení do jiné DB

Top  Previous  Next

Seznam témat:

pripojení ASA do jiné databáze/serveru

 

Pripojení ASA do jiné databáze/serveru

 

1. Nejdříve je třeba nadefinovat vzdálený server (zde se bude jmenovat např. remote_srv). Formát řetězce za slovem USING záleží na třídě serveru.

Pokud se použije třída ODBC, tak USING obsahuje název ODBC zdroje (DSN). Pro ASA existuje speciální třída ASAODBC. Na konec lze volitelně dát READ ONLY, čímž pak server nedovolí změny.

CREATE SERVER "remote_srv" CLASS 'odbc' USING 'test_dsn' READ ONLY

 

 

2. Dále je treba zajistit správné prihlášení k cizí DB. To se dá zařídit buď tak, že do naší DB se přidá stejný účet jako je ve vzdálené databázi a pod tímto účtem se pak bude pracovat. Nebo je druhá možnost, že se v naší DB nadefinuje "externlogin", kterým se logicky spojí stávající login s loginem v cizí DB. Syntaxe je taková:

CREATE EXTERNLOGIN "admin" TO "remote_srv" REMOTE LOGIN "ext_user_name"

IDENTIFIED BY "ext_password"

 

I teď však platí, že pod daným účtem se pak musí pracovat.

 

 

3. Jako poslední krok se namapují tabulky ze vzdálené databáze do naší. Pozornost je třeba věnovat řetězci za AT. Pokud je některá jeho část prázdná, nesmí se vynechat (budou tam dvě tečky vedle sebe).

CREATE EXISTING TABLE remote_table_1 AT 'remote_srv.db_name.owner.table_name1';

CREATE EXISTING TABLE remote_table_2 AT 'remote_srv.db_name.owner.table_name2';

 

Nyní se lze v SQL dotazech odkazovat na nově vzniklé tabulky remote_table_1, remote_table_ 2 tak, jako by to byly normální místní tabulky.

 

Poznámky:

- k príkazu CREATE je reciproční příkaz DROP. Takže vytvořené objekty lze uklidit takto:

DROP EXTERNLOGIN "admin" TO "remote_srv";

DROP SERVER "remote_srv";

- všechny výše zmiňované operace lze provádět i vizuálně pomocí Sybase Central.

- pro bližší info viz nápověda k Sybase ASA

 

Související témata