Backlink

Navigation:  APPENDICI >

Backlink

Previous pageReturn to chapter overviewNext page

Un package IrionEDM  è in grado di eseguire query su database esterni ad esso, attraverso i Database Link.

 

Le query definite in un Database Link possono essere arricchite di altri dati precedentemente elaborati nel package attraverso l'utilizzo di:

iteratori;

Backlink.

La tecnologia Backlink permette di richiamare dati di un Package in query eseguite su spazi di dati esterni allo stesso.

 

ex

ESEMPIO DI BACKLINK

Date le seguenti tabelle:

[Orders] presente nel Package (e.g. Query Engine);

[Order Details] esterna al Package (e.g. su una base dati terza)

si supponga di  voler associare agli ordini i propri dettagli.

È possibile operare in due modi:

uso di una query con iteratore;

uso di una query con Backink.

 

Nel caso di una query con iteratore, si definisce l'iteratore in base all'oggetto del Package che estrae i dati della tabella [Orders], quindi si scrive una query parametrica nel modo seguente:

 

SELECT d.*

FROM

  [Order Details] d

WHERE d.OrderID=:OrderID

 

Con questo approccio il tempo di esecuzione cresce linearmente in funzione del numero degli Ordini. Se l’elenco degli ordini è di decine o centinaia di record può essere adeguato ma, su volumi di decine o centinaia di migliaia di record, le performance risultano insoddisfacenti ed è opportuno utilizzare un approccio che esuli dall’uso di iterazioni.

 

Nel caso di una query con Backlink, è sufficiente mettere in join la tabella desiderata con il contenuto del Data Link che definisce l’elenco degli ordini.

Quest’ultimo va utilizzato tramite il prefisso IrionDQ.Package. come se accedesse ad un linked server. La query, pertanto, ha la forma:

 

SELECT d.*

FROM

  [Order Details] d

  INNER JOIN IrionDQ.Package.[Orders] s

          ON s.OrderID = d.OrderID 

 

A differenza dell'iteratore, il Backlink opera estraendo dati con una sola query in un singolo contesto di esecuzione.

 

 

La sintassi del Backlink è del tipo "Three-Part Name" (Microsoft SQL Server).

Una query che usa i Backlink accede, infatti, a:

il database esterno;

lo schema “Package” del database interno “IrionDQ”.

 

Benché il Catalog repository non contenga alcun database denominato IrionDQ, il framevwork è in grado di:

riconoscere questa struttura di nomi;

sostituire il riferimento con quello opportuno, in modo totalmente trasparente per l'utente;

gestire l'attivazione di adeguati permessi di lettura nelle sue tabelle interne.

 

I Backlink possono essere utilizzati nelle query eseguite su Databox o Database terzi, purché su tecnologia Microsoft SQL Server.

info

L'uso particolare dei Backlink nelle query definite in un DataBox Link non richiede la creazione di un linked server in quanto il DB IrionDQDataShelf  risiede sulla stessa istanza SQL Server dello speciale DB IrionEDM.

 

warning

Se il database terzo risiede su un'istanza SQL Server diversa da quella dove è installato Il Catalog repository di IrionEDM, l’amministratore di quel database deve definire un opportuno Linked Server. Il nome di questo Linked Server dovrà essere specificato nella proprietà “IrionDQLinkedServer” della Database Connection.

 

I punti in cui è possibile utilizzare Backlink in IrionEDM sono:

Database Datalink;

Databox Datalink;

Command di Export Book to DB;

Command di Export Book to Datashelf.

 

Nei Database Link e nei Databox Link, la sintassi da utilizzare per richiamare un Backlink è:

IrionDQ.Package.DataLinkName

 

warning

Se il nome del Data Link contiene caratteri non validi per un identificativo dovrà essere quotato opportunamente.

 

Nei Command di export su DB e DataShelf, la sintassi da utilizzare per richiamare un Backlink è:

IrionDQ.Model.TableName

dove Model è lo schema del database interno IrionEDM che rappresenta il Model del Book.