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 :

Import data UTF-8 vers 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
    Développeur .NET
    Inscrit en
    Décembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2011
    Messages : 12
    Par défaut Import data UTF-8 vers SQL-Server 2005
    Bonjour,

    Après plusieurs jours de recherche, je me résigne à venir poster mon problème :

    J'ai un soucis lors de l'import d'un fichier csv encodé en UTF-8, je dois l'importer dans ma base SQL Server qui elle est sous le format suivant : "FRENCH_CI_AS" (sauf erreur de ma part)

    j'ai un problème avec les caractères accentués qui sont converties.

    Comment faire pour le résoudre ?

    ASP.NET / VB.NET
    Merci

  2. #2
    Membre Expert

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Par défaut
    as-tu essayé avec la clause COLLATE côté SQL ?

    Peux-tu montrer un exemple de caractère accentué mal converti ?
    Etienne ZINZINDOHOUE
    Billets-Articles

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2011
    Messages : 12
    Par défaut
    "propriétaire âge" ou encore "proposition jugée trop faible. attends 3000 € de"

    En fait je passe par une fonction qui effectue un

    "SELECT * FROM " &monfichier.csv et retourne le tout dans un datatable.

    Je ne connais la clause COLLATE, existe t-il une source qui explique cette clause ?

    Merci

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    Comment faites vous l'import ?
    Avec BULK INSERT ? Avec bcp.exe ??
    Montrez le code...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2011
    Messages : 12
    Par défaut
    Comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Dim Req As String = "SELECT * FROM " & monfichier.csv
    Dim dtable As New DataTable(dtName)
     
    Dim MaBase As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='source';Extended Properties='text;HDR="withEntete";FMT=Delimited'"
     
    Using cmd As New OleDb.OleDbCommand(Req, New OleDb.OleDbConnection(MaBase))
        cmd.Connection.Open()
        cmd.Transaction = cmd.Connection.BeginTransaction
                Using dr As OleDb.OleDbDataReader = cmd.ExecuteReader()
                    dtable.Load(dr)
                End Using
        cmd.Transaction.Commit()
    End Using
     
    Return dtable

  6. #6
    Membre Expert

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Par défaut
    avec cette méthode il faut créer un fichier de format schema.ini afin d'appliquer le bon encodage. ce fichier doit être dans le même répertoire que ton fichier .CSV

    Exemple de fichier schema.ini

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    [Nomfichier.csv]                    
    Format = CSVDelimited       
    CharacterSet=UTF-8
    ColNameHeader=True         
    Col1=ID Integer Width 4
    Col2=NOM Char Width 20
    Col3=PRENOM Char Width 20
    Col4=Date_NAISSANCE Date
    Un lien pour t'aider :
    Etienne ZINZINDOHOUE
    Billets-Articles

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

Discussions similaires

  1. Importer une BD access vers SQL Server 2005
    Par ravaid dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 19/08/2011, 12h43
  2. Importation d'une feuille excel vers sql server 2005
    Par transistor49 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 16/09/2009, 19h31
  3. importer une BDD MySQL vers SQL Server 2005
    Par Ajite dans le forum Outils
    Réponses: 3
    Dernier message: 08/10/2007, 18h06
  4. Importer du Mysql vers Sql Server 2005
    Par Mickael Scofild dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 18/05/2007, 20h18

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