Data ultimo aggiornamento: 13/12/2018

Clicca per accedere al sito di NTS Informatica
Clicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomento
Clicca per accedere al sito di NTS Informatica

Import/export da OLEDBProvider generico

Configurando un tipo schema tabelle esterne di tipo OLEDBConnection c'è la possibilità di eseguire import e/o export con OLEDBProvider di tipo generico. In teoria possono essere gestiti tutti i tipi di database che accettano come sintassi di query SELECT (per import) INSERT e UPDATE (per export) con sintassi SQL SERVER (vedi, ad esempio, il formato dei campi Datetime da utilizzare nelle query). Per il momento è possibile gestire i soli database SQL SERVER indicando come stringa di connessione ad esempio:

Provider=SQLOLEDB;Data Source=NB-16;Initial Catalog= PROVA20;User Id=sa;Password=nts;

Sia per i profili di import che per quelli di export non viene utilizzato il percorso del file fisico, ma il database e le tabelle da leggere/scrivere devono già esistere all'avvio dell'elaborazione. Ad oggi in fase di import non è possibile eseguire una query complessa che preleva i dati da più tabelle del database esterno collegate in join. In fase di export non sono gestite le transazioni.

Per l'impostazione delle tabelle esterne, nello specifico, il nome della tabella/campi nello schema deve essere uguale al nome fisico della tabella/campi nel database esterno, il tipo di campo deve essere mappato correttamente (char, int, ...), così come la chiave primaria, mentre la dimensione del campo è ininfluente. Ad esempio:

Immaginiamo che nell'esempio indicato sopra della tabella TABHHDE, vogliamo inserire l'elenco dei gruppi e relativi sottogruppi:

Procediamo a definire quindi un nuovo profilo di export, che dalle tabelle di Business dei gruppi e sottogruppi, popolerà la tabella TABHHDE definita nel precedente schema tabelle esterne.

Quindi impostiamo nel programma di impostazione del profilo (8-2) di esportare:

  • i dati di TABGMER (tabella gruppi) in TABHHDE (inserendo come filtro WHERE : codditt = 'PROVA')
  • i dati di TABSGME (tabella sottogruppi) in TABHHDE

Impostiamo poi per le due corrispondenze tabelle, la relativa corrispondenza campi, ad esempio:

Impostiamo inoltre per la prima corrispondenza tabella (tabgmer->tabhhde), la relazione con la seconda corrispondenza tabella (tabsgme->tabhhde), nel modo indicato:

A questo punto lanciando l'export andremo a popolare la tabella TABHHDE, con i gruppi e i relativi sottogruppi della ditta PROVA (filtrati dalla calusola WHERE inserita nell'impostazione del profilo).

Verificando da SQL Server il contenuto di TABHHDE troveremo:

 
 
Clicca per accedere al sito di NTS Informatica