DTS IMPORT/EXPORT

venerdì 11 novembre 2005 - 15.39

damar3 Profilo | Newbie

Come è possibile utilizzare i DTS (non li ho mai utilizzati) per trasferire il contenuto di un intera tabella (o una sua selezione) da un Database A ad un Database B. Ovviamente il tutto deve tener conto dei vincoli d'integrità della tabella destinazione.

I Database A e B non sono geograficamente vicini ed è necessario quindi che il DTS crei un file che venga poi importato sul server destinazione.

P.S.
Sia A che B sono Databse MSDE.

damar3 Profilo | Newbie

Purtroppo i pc non sono connessi tra di loro in nessun modo.

damar3 Profilo | Newbie

Anche questa cosa mi era venuta in mente però ho ancora alcuni dubbi.

1) Come faccio a parametrizzare la query con valori che al momento della creazione del DTS non conosco ?

2) Come faccio a chiamare il mio DTS dalla mia applicazione VB.NET e a passargli i parametri che gli servono per la query ?

3) In fase d'importazione dati che strumenti ho per verificare che i dati che vado da importare non violino il vincolo di chiave primaria sulla tabella ?

Queste sono i miei dubbi + grossi... poi ce ne sono tanti piccoli altri.

Grazie Mille.

damar3 Profilo | Newbie

Ed inoltre il pacchetto DTS come si sposta sul pc dove gira l'applicazione ?

lbenaglia Profilo | Guru

Ciao damar3,

per questo genere di lavoro non scomoderei i DTS e mi affiderei all'utility Bulk Copy Program (bcp.exe).
BCP è una utility via riga di comando che serve appunto per esportare ed impostare una consistente mole di dati in/da file di testo.

Sui Books Online troverai tutte le informazioni che ti servono:
http://msdn.microsoft.com/library/en-us/coprompt/cp_bcp_61et.asp

> 3) In fase d'importazione dati che strumenti ho per verificare che i dati che vado da importare non violino il vincolo di chiave primaria sulla tabella ?
Per quanto riguarda questa domanda, puoi importare i dati in una tabella di appoggio avente la stessa struttura di quella finale, poi con una semplice query andrai a fare tutte le verifiche del caso.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

damar3 Profilo | Newbie

Ho capito!

A questo punto approfondisco meglio la questione del bcp che avevo già usato in passato e vedo di usare quella tecnologia.

Grazie a tutti dell'aiuto!

Marco.

Marzio Profilo | Newbie

>
>per questo genere di lavoro non scomoderei i DTS e mi affiderei
>all'utility Bulk Copy Program (bcp.exe).
>

bcp.exe può, via ODBC, estrarre dati anche da DB Oracle o Informix?

Grazie Marzio

lbenaglia Profilo | Guru

>>
>>per questo genere di lavoro non scomoderei i DTS e mi affiderei
>>all'utility Bulk Copy Program (bcp.exe).
>>
>
>bcp.exe può, via ODBC, estrarre dati anche da DB Oracle o Informix?
No.
Bcp si appoggia ad un particolare set di API implementate esclusivamente in SQL Server (analogamente alle direct path API che puoi richiamare in Oracle con il SQL*Loader specificando l'opzione OPTIONS (DIRECT=TRUE) nel control file).

Se vuoi eseguire una bulk import devi prima provvedere ad esportare su file i dati (ad es. CSV) da Oracle, Informix o qualunque altra fonte dati.

>Grazie Marzio
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5