Compartir a través de


Operaciones en sinónimos en Oracle Database

El adaptador de Oracle Database permite realizar operaciones en sinónimos. Un sinónimo es un alias o un nombre descriptivo para los objetos de base de datos (como tablas, vistas, procedimientos almacenados, funciones y paquetes). Para obtener más información sobre los sinónimos en Oracle, vea https://go.microsoft.com/fwlink/?LinkId=138058.

Ventajas del uso de sinónimos

Los sinónimos son útiles en los escenarios siguientes:

  • Trabajar con distintos esquemas: si está trabajando con esquemas diferentes y necesita tener acceso a los objetos entre esquemas, debe usar diferentes instrucciones SQL para acceder a esos objetos. Puede crear un sinónimo de un objeto en un esquema y usar el sinónimo en la instrucción SQL para tener acceso al objeto. Si necesita tener acceso al objeto subyacente en un esquema diferente, modifique la definición del sinónimo para que apunte al objeto en un esquema diferente. Por lo tanto, las aplicaciones basadas en el sinónimo siguen funcionando sin modificaciones en la instrucción SQL.

    Por ejemplo, supongamos que tiene dos esquemas idénticos para los entornos de prueba y producción: "Test" y "Prod". Para tener acceso a una tabla denominada "Employee" en el esquema "Test", debe usar Test.Employee o Employee (si "Test" es el esquema predeterminado) en la instrucción SQL. Si desea usar la tabla "Employee" en el esquema de producción, ahora debe usar Prod.Employee o Employee (cambiar el esquema predeterminado a "Prod") en la instrucción SQL. Para solucionar este problema, puede crear un sinónimo para la tabla "Test.Employee" (por ejemplo, "EMP") y, a continuación, usarla en las instrucciones SQL. Siempre que necesite realizar la operación en la tabla "Prod.Employee", modifique la definición del sinónimo "EMP" para que apunte a la tabla "Prod.Employee". Esto garantiza que no es necesario modificar las instrucciones SQL para realizar operaciones en el objeto en esquemas diferentes.

  • Cambios en los objetos subyacentes: los sinónimos le aíslan de los cambios en el nombre o la ubicación de los objetos subyacentes en los que está realizando una operación. Puede modificar la definición de sinónimos para dar cabida a los cambios en el nombre o la ubicación de los objetos subyacentes.

    Por ejemplo, supongamos que usa una tabla en uno de los procedimientos almacenados. Ahora, si cambia el nombre de la tabla o la tabla se mueve a otra ubicación, el procedimiento almacenado dejará de funcionar. Para solucionar esto, puede usar un sinónimo de la tabla en el procedimiento almacenado y actualizar la definición del sinónimo si hay un cambio en el nombre o la ubicación de la tabla.

  • Acceso simplificado y seguro: en un entorno distribuido, debe usar el nombre del esquema junto con los nombres de objeto para asegurarse de que tiene acceso al objeto correcto. Además, también debe asegurarse de que el usuario tiene privilegios necesarios en el objeto de destino. Para simplificar esto, puede asignar un nombre simple para un objeto mediante la creación de un sinónimo que tenga la ruta de acceso completa al objeto y, a continuación, conceder privilegios adecuados en el sinónimo.

Trabajar con sinónimos en el adaptador

El adaptador de Oracle Database expone los sinónimos de Oracle para:

  • Tablas

  • Vistas

  • Procedimientos almacenados

  • Functions

  • Paquetes

    Los sinónimos de cada uno de estos artefactos se exponen junto con el artefacto subyacente correspondiente en el Complemento consumir servicio adaptador, el Asistente para agregar metadatos del adaptador y el complemento Agregar referencia del servicio adaptador. Por ejemplo, el nodo Tabla de un esquema mostrará todos los sinónimos de las tablas junto con las tablas de base de datos de un esquema, el nodo Ver debajo de un esquema mostrará todos los sinónimos de las vistas junto con las vistas de base de datos de un esquema, etc.

  • En el caso de los sinónimos creados en tablas y vistas, se exponen las mismas operaciones que para las tablas y vistas subyacentes, respectivamente. Por ejemplo, si las tablas y vistas subyacentes contienen columnas LOB, los sinónimos de esas tablas y vistas también expondrán las operaciones ReadLOB y UpdateLOB.

  • En el caso de los sinónimos creados en procedimientos almacenados, funciones y paquetes, los sinónimos se exponen como operaciones junto con los respectivos procedimientos almacenados, funciones y paquetes subyacentes en un esquema.

Nota

El adaptador de Oracle Database solo admite sinónimos locales. Esto implica que solo los sinónimos son compatibles con el adaptador que tiene como destino los artefactos en el servidor local.

Además, las acciones de mensaje para los sinónimos son las mismas que el objeto subyacente, excepto el nombre del artefacto en el que se realiza la acción. Por ejemplo, la acción de mensaje de la operación Seleccionar en una tabla del esquema SCOTT es: http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/[TABLE_NAME]/Select. Si va a realizar una operación Select en un sinónimo de la misma tabla en el esquema SCOTT, la acción del mensaje será: http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/[SYNONYM_NAME]/Select.

Cuando se invoca una operación en un sinónimo del adaptador, el adaptador llama al sinónimo de la base de datos de Oracle para ejecutar la operación. Sin embargo, el adaptador usa el nombre de objeto subyacente en la definición de sinónimos para capturar los metadatos.

Los sinónimos se pueden usar en operaciones de salida normales, operaciones compuestas y sondeo.

Nota

Puede buscar sinónimos en Consume Adapter Service Add-in o Add Adapter Service Reference Plug-in Just like other objects. Sin embargo, no puede buscar procedimientos dentro de paquetes de sinónimos desde un nodo de nivel de omisión, como puede hacer para los procedimientos dentro de los paquetes. Para obtener información sobre cómo buscar operaciones en el adaptador, vea Examinar, Buscar y obtener metadatos para las operaciones de Oracle Database.

Consulte también

¿Qué operaciones se pueden realizar con el adaptador?