6

オラクルでは、他のデータベースが同じサーバー内にある場合、シノニムを作成するために次のことを行いました

CREATE SYNONYM synonymName FOR databaseName.schema.table;

サーバー接続の資格情報を提供できるように、別のサーバーでホストされているデータベースにテーブルのシノニムを作成するにはどうすればよいですか。

oracleとnetezzaの両方にこれが必要です。

編集:(Oracleの場合)以下の回答を参照して試行しているときに、リモートリンクにIPアドレスまたはリンク名に「-」が含まれていると構文エラーが発生しました。例えば。

CREATE PUBLIC DATABASE LINK abc-def.xyz.com CONNECT TO user IDENTIFIED BY pw USING 'databaseName';
4

2 に答える 2

11

Oracleの場合、リモートデータベースへのデータベースリンクを作成します。

CREATE PUBLIC DATABASE LINK rmt CONNECT TO user IDENTIFIED BY pw USING 'remotedb';

次に、同義語を作成します。

CREATE SYNONYM syn FOR schema.table@rmt;

次に、単にSELECT x、y、z FROM syn;

netezzaについてはよくわかりません。

編集:

データベースリンク名に「-」文字を使用することはできません。

リンク名にIPアドレスを使用する場合は、リンク名を二重引用符で囲む必要があります。とにかくこれを実行したい理由がわかりません-リモートデータベースのIPアドレスが変更された場合はどうなりますか?私にとって、DBリンク名はリモートデータベースのニーモニックである必要があります。IPアドレスは私にほとんど教えてくれません。

于 2012-07-26T04:27:45.413 に答える
0

@DCookieに加えて

リモートDBの同義語を作成する場合。

CREATE PUBLIC DATABASE LINK rmt CONNECT TO user IDENTIFIED BY pw USING 
'HOST_NAME:PORT/SERVICE_NAME_SID'
于 2015-12-21T09:49:23.890 に答える