2012-07-26 15 views
5

In Oracle, se l'altro database è all'interno dello stesso server, ho fatto quanto segue per creare un sinonimocreare sinonimo di tabella in un database ospitato in un server diverso

CREATE SYNONYM synonymName FOR databaseName.schema.table; 

Cosa devo fare per creare un sinonimo di tabelle in un database ospitato in un server diverso in modo che potessi fornire le credenziali di connessione al server.

Ho bisogno di questo sia per oracle che per netezza.

Modifica: Durante il tentativo (per Oracle) prendendo riferimento alla risposta riportata di seguito, ho ricevuto un errore di sintassi quando il collegamento remoto contiene l'indirizzo IP o un '-' nel nome del collegamento. per esempio.

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

risposta

8

Per Oracle, è necessario creare un database link al database remoto:

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

Poi creare il sinonimo:

CREATE SYNONYM syn FOR [email protected]; 

poi scegliere x, y, z DA syn ;

Non sono sicuro di netezza.

EDIT:

Non è possibile utilizzare una - nel nome di un collegamento a database "".

Se si sceglie di utilizzare un indirizzo IP in un nome di collegamento, è necessario racchiudere il nome del collegamento tra virgolette. Non sei sicuro del motivo per cui vorresti farlo comunque, e se l'indirizzo IP del tuo database remoto dovesse cambiare? Per me, il nome del collegamento DB dovrebbe essere un mnemonico per il database remoto. Un indirizzo IP mi dice poco.

+0

Ti dispiacerebbe dare un'occhiata alla modifica di cui sopra? – chemicalkt

0

Oltre a @DCookie

Se si desidera creare sinonimo di DB remoto.

CREATE PUBLIC DATABASE LINK rmt CONNECT TO user IDENTIFIED BY pw USING 
'HOST_NAME:PORT/SERVICE_NAME_SID' 
Problemi correlati