IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Problème suppression de données avant insertion SQL Server [2005]


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2015
    Messages : 14
    Par défaut Problème suppression de données avant insertion SQL Server
    Bonjour,

    Voila je suis novice dans l'utilisation de Windows Server et de SQL Server, mon objectif est d'importer automatiquement et régulièrement des données présentes dans un fichier CSV dans une table.

    J'ai réussi à automatiser et à importer des données à l'intérieur d'une table à l'aide d'un fichier SQL éxécuté en ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlcmd -U utilisateur - P password -S nomDuServeur -d nomBDD -i import.sql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    BULK INSERT dbo.MACHINES
    FROM 'c:\MACHINES.csv'
    WITH (
    FIELDTERMINATOR = ';',
    ROWTERMINATOR = '\n',
    FIRSTROW=2
    );
    Le script permet l'importation de données via un fichier CSV, mon problème est que ce fichier CSV est actualisé assez souvent (ex: toutes les cinq minutes), donc au lancement de la commande j'ai une erreur qui apparaît me signalant que l'insertion est impossible car certaines données (clé primaire) existe déjà.
    Après quelques recherches à mon problème, j'ai pu voir que l'utilisation de Transaction pourrait être une solution, mais je ne comprend pas comment utiliser cette méthode car celle-ci devrait vider ma table puis la remplir avec le fichier CSV.

    Pouvez-vous m'aider pour ce genre de méthode ou avec d'autres méthodes ?

    Merci d'avance (en espérant avoir été le plus clair possible).

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2015
    Messages : 14
    Par défaut
    Après plusieurs recherches et essais, j'ai trouvé une solution à mon problème mais je ne sais pas si c'est la plus optimal/propre. Cela supprime toutes les données présentes dans la table puis importe les données du CSV. La solution la plus propre serait la détection de doublons dans la table puis de supprimer ces derniers hélas je ne possède pas les connaissances pour le faire.

    Voici le code de ma solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    USE nomBDD
    GO
    DELETE dbo.nomTable
    GO
    BULK INSERT dbo.nomTable
    FROM 'C:\...\fichier.csv'
    WITH (
    FIELDTERMINATOR = ';',
    ROWTERMINATOR = '\n',
    FIRSTROW=2
    );
    Voici le code de mon fichier CSV qui est importer :
    Mon seul problème qui persiste est la présence des guillements dans la visualiser des données de la table :
    CODE_MACH LIB_MACH PAS_MACH
    "1" "Machine 1" NULL

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Problème lors de l'instruction INSERT + SQL SERVER CE
    Par Invité dans le forum VB.NET
    Réponses: 13
    Dernier message: 09/03/2015, 10h27
  2. Données faussées extraction access/insertion SQL Server
    Par Lucorah dans le forum kettle/PDI
    Réponses: 1
    Dernier message: 18/08/2011, 11h56
  3. problème avec bulk insert sql server 2000
    Par siyassine dans le forum Administration
    Réponses: 1
    Dernier message: 25/08/2010, 08h31
  4. Réponses: 1
    Dernier message: 30/04/2009, 17h17
  5. Récupérer les données Insert - SQL Server 2000
    Par jfc dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/04/2006, 07h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo