Operazioni sui sinonimi nel database Oracle
L'adapter Oracle Database consente di eseguire operazioni sui sinonimi. Un sinonimo è un alias o un nome descrittivo per gli oggetti di database, ad esempio tabelle, viste, stored procedure, funzioni e pacchetti. Per altre informazioni sui sinonimi in Oracle, vedere https://go.microsoft.com/fwlink/?LinkId=138058.
Vantaggi dell'uso dei sinonimi
I sinonimi sono utili negli scenari seguenti:
Utilizzo di schemi diversi: se si usano schemi diversi ed è necessario accedere agli oggetti tra gli schemi, è necessario usare istruzioni SQL diverse per accedere a tali oggetti. È possibile creare un sinonimo di un oggetto in uno schema e usare il sinonimo nell'istruzione SQL per accedere all'oggetto. Se è necessario accedere all'oggetto sottostante in uno schema diverso, modificare la definizione del sinonimo in modo che punti all'oggetto in uno schema diverso. Di conseguenza, le applicazioni basate sul sinonimo continuano a funzionare senza modifiche nell'istruzione SQL.
Si supponga, ad esempio, di avere due schemi identici per gli ambienti di test e di produzione: "Test" e "Prod". Per accedere a una tabella denominata "Employee" nello schema "Test", è necessario usare
Test.Employee
oEmployee
(se "Test" è lo schema predefinito) nell'istruzione SQL. Se si vuole usare la tabella "Employee" nello schema di produzione, è ora necessario usareProd.Employee
oEmployee
(modificare lo schema predefinito in "Prod") nell'istruzione SQL. Per risolvere questo problema, è possibile creare un sinonimo della tabella "Test.Employee" (ad esempio "EMP") e quindi usarlo nelle istruzioni SQL. Ogni volta che è necessario eseguire l'operazione nella tabella "Prod.Employee", modificare la definizione del sinonimo "EMP" in modo che punti alla tabella "Prod.Employee". In questo modo non è necessario modificare le istruzioni SQL per eseguire operazioni sull'oggetto in schemi diversi.Modifiche negli oggetti sottostanti: i sinonimi isolano le eventuali modifiche apportate al nome o alla posizione degli oggetti sottostanti in cui si esegue un'operazione. È possibile modificare la definizione del sinonimo in modo da adattare le modifiche apportate al nome o alla posizione degli oggetti sottostanti.
Si supponga, ad esempio, di usare una tabella in una delle stored procedure. A questo punto, se il nome della tabella cambia o la tabella viene spostata in un'altra posizione, la stored procedure smetterà di funzionare. Per risolvere questo problema, è possibile usare un sinonimo per la tabella nella stored procedure e aggiornare la definizione del sinonimo in caso di modifica del nome o della posizione della tabella.
Accesso semplificato e sicuro: in un ambiente distribuito, è necessario usare il nome dello schema insieme ai nomi degli oggetti per assicurarsi di accedere all'oggetto corretto. Inoltre, è necessario assicurarsi che l'utente disponga dei privilegi necessari per l'oggetto di destinazione. Per semplificare questa operazione, è possibile assegnare un nome semplice per un oggetto creando un sinonimo con il percorso completo all'oggetto e quindi concedere privilegi appropriati al sinonimo.
Uso dei sinonimi nell'adapter
L'adapter Oracle Database espone i sinonimi in Oracle per:
Tabelle
Viste
Stored procedure
Funzioni
Pacchetti
I sinonimi per ognuno di questi artefatti vengono esposti insieme al rispettivo artefatto sottostante nel componente aggiuntivo Consume Adapter Service Add-in, Add Adapter Metadata Wizard e Add Adapter Service Reference Plug-in. Ad esempio, il nodo Tabella in uno schema visualizzerà tutti i sinonimi per le tabelle insieme alle tabelle di database in uno schema, il nodo Visualizza in uno schema visualizzerà tutti i sinonimi per le viste insieme alle viste di database in uno schema e così via.
Per i sinonimi creati in tabelle e viste, le stesse operazioni vengono esposte rispettivamente per le tabelle e le viste sottostanti. Ad esempio, se le tabelle e le viste sottostanti contengono colonne LOB, i sinonimi per tali tabelle e viste esporranno anche le operazioni ReadLOB e UpdateLOB.
Per i sinonimi creati in stored procedure, funzioni e pacchetti, i sinonimi vengono esposti come operazioni insieme alle rispettive stored procedure, funzioni e pacchetti sottostanti in uno schema.
Nota
L'adapter Oracle Database supporta solo sinonimi locali. Ciò implica che solo i sinonimi sono supportati dall'adattatore che ha come destinazione gli artefatti nel server locale.
Inoltre, le azioni del messaggio per i sinonimi sono uguali all'oggetto sottostante, ad eccezione del nome dell'artefatto su cui viene eseguita l'azione. Ad esempio, l'azione messaggio per l'operazione Select in una tabella nello schema SCOTT è: http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/[TABLE_NAME]/Select
. Se si esegue un'operazione Select su un sinonimo della stessa tabella nello schema SCOTT, l'azione del messaggio sarà: http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/[SYNONYM_NAME]/Select
.
Quando si richiama un'operazione su un sinonimo nell'adapter, l'adapter chiama il sinonimo nel database Oracle per eseguire l'operazione. Tuttavia, l'adattatore usa il nome dell'oggetto sottostante nella definizione del sinonimo per recuperare i metadati.
I sinonimi possono essere usati nelle normali operazioni in uscita, nelle operazioni composite e nel polling.
Nota
È possibile cercare sinonimi in Utilizzare il componente aggiuntivo del servizio adapter o aggiungere un plug-in di riferimento al servizio adapter esattamente come altri oggetti. Tuttavia, non è possibile cercare le procedure all'interno di pacchetti sinonimi da un nodo a livello di skip perché è possibile eseguire per le procedure all'interno dei pacchetti. Per informazioni sulla ricerca di operazioni nell'adapter, vedere Esplorare, cercare e ottenere i metadati per le operazioni di Oracle Database.