2012-07-26 19 views
5

en Oracle, si la otra base de datos se encuentra dentro del mismo servidor, hice lo siguiente para crear un sinónimocrear sinónimo de tabla en una base de datos alojada en un servidor diferente

CREATE SYNONYM synonymName FOR databaseName.schema.table; 

¿Qué debo hacer para crear una sinónimo de tablas en una base de datos alojada en un servidor diferente para que yo pueda proporcionar las credenciales de conexión del servidor.

Necesito esto para oráculo y netezza.

Editar: Al intentar (para Oracle) tomando como referencia la respuesta a continuación, recibí un error de sintaxis cuando el enlace remoto contiene una dirección IP o un '-' en el nombre del enlace. p.ej.

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

Respuesta

8

Para Oracle, debe crear un enlace de base de datos a la base de datos remota:

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

continuación, crear el sinónimo:

CREATE SYNONYM syn FOR [email protected]; 

A continuación, sólo tiene que seleccionar x, y, z SYN ;

No estoy seguro acerca de netezza.

EDIT:

No se puede utilizar un - en el nombre de enlace de base de datos "".

Si elige usar una dirección IP en un nombre de enlace, debe rodear el nombre del enlace entre comillas dobles. No estoy seguro de por qué querría hacer esto de todos modos, ¿qué ocurre si la dirección IP de su base de datos remota cambia? Para mí, el nombre del enlace DB debe ser un mnemónico para la base de datos remota. Una dirección IP me dice poco.

+0

¿Le importaría echar un vistazo a la edición anterior? – chemicalkt

0

Además de @DCookie

Si desea crear sinónimo de DB remoto.

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