Je souhaiterai pouvoir mettre à jour des données d'une table dans une table
cible à partir de fichier de données (texte). Je dois pouvoir
- insérer les nouvelles données
- mettre à jour les données existantes.
Le tout en utilisant DTS. Comment faire? Pardon de mon ignorance, j'utilise
habituellement des ETL concurents.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred BROUARD
soprawoman a écrit :
Bonjour,
Je souhaiterai pouvoir mettre à jour des données d'une table dans une table cible à partir de fichier de données (texte). Je dois pouvoir - insérer les nouvelles données - mettre à jour les données existantes.
Le tout en utilisant DTS. Comment faire? Pardon de mon ignorance, j'utilise habituellement des ETL concurents.
Merci par avance
le mieux est d'insérer tout le fichier dans une table tampon puis de faire deux requêtes :
UPDATE table_cible WHERE EXISTS (...)
INSERT INTO table_cible WHERE NOT EXISTS (...)
Pour insérer un fichier dans une table, il n'y a même pas besoin de lot DTS. La commande BULK INSERT permet de le faire en Transact SQL.
Bien entendu on peut aussi utiliser en ligne de commande bcp.exe.
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
soprawoman a écrit :
Bonjour,
Je souhaiterai pouvoir mettre à jour des données d'une table dans une table
cible à partir de fichier de données (texte). Je dois pouvoir
- insérer les nouvelles données
- mettre à jour les données existantes.
Le tout en utilisant DTS. Comment faire? Pardon de mon ignorance, j'utilise
habituellement des ETL concurents.
Merci par avance
le mieux est d'insérer tout le fichier dans une table tampon
puis de faire deux requêtes :
UPDATE table_cible
WHERE EXISTS (...)
INSERT INTO table_cible
WHERE NOT EXISTS (...)
Pour insérer un fichier dans une table, il n'y a même pas besoin de lot
DTS. La commande BULK INSERT permet de le faire en Transact SQL.
Bien entendu on peut aussi utiliser en ligne de commande bcp.exe.
A +
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Je souhaiterai pouvoir mettre à jour des données d'une table dans une table cible à partir de fichier de données (texte). Je dois pouvoir - insérer les nouvelles données - mettre à jour les données existantes.
Le tout en utilisant DTS. Comment faire? Pardon de mon ignorance, j'utilise habituellement des ETL concurents.
Merci par avance
le mieux est d'insérer tout le fichier dans une table tampon puis de faire deux requêtes :
UPDATE table_cible WHERE EXISTS (...)
INSERT INTO table_cible WHERE NOT EXISTS (...)
Pour insérer un fichier dans une table, il n'y a même pas besoin de lot DTS. La commande BULK INSERT permet de le faire en Transact SQL.
Bien entendu on peut aussi utiliser en ligne de commande bcp.exe.
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
Timur
Bonjour,
il existe une tâche "Requête controlée par les données" ("Data Driven Query" en version originale) qui permet cela.
Bien qu'adepte de DTS, je préfère néanmoins parfois utiliser la solution que Fred a préconisée ...
-- Cordialement
Oxiane ---------------------------------------------------------- Omnia vanitas
"soprawoman" a écrit dans le message de news:
Bonjour,
Je souhaiterai pouvoir mettre à jour des données d'une table dans une
table
cible à partir de fichier de données (texte). Je dois pouvoir - insérer les nouvelles données - mettre à jour les données existantes.
Le tout en utilisant DTS. Comment faire? Pardon de mon ignorance,
j'utilise
habituellement des ETL concurents.
Merci par avance
Bonjour,
il existe une tâche "Requête controlée par les données" ("Data Driven Query"
en version originale) qui permet cela.
Bien qu'adepte de DTS, je préfère néanmoins parfois utiliser la solution que
Fred a préconisée ...
--
Cordialement
Oxiane
----------------------------------------------------------
Omnia vanitas
"soprawoman" <soprawoman@discussions.microsoft.com> a écrit dans le message
de news:BD7D1742-9239-4EE2-913F-40335D145728@microsoft.com...
Bonjour,
Je souhaiterai pouvoir mettre à jour des données d'une table dans une
table
cible à partir de fichier de données (texte). Je dois pouvoir
- insérer les nouvelles données
- mettre à jour les données existantes.
Le tout en utilisant DTS. Comment faire? Pardon de mon ignorance,