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

VB.NET Discussion :

Transférer des données SQL express vers Excel


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 16
    Par défaut Transférer des données SQL express vers Excel
    Bonjour,


    Après avoir essayé plusieurs solutions et plusieurs syntaxes, je tourne en rond.
    Je souhaite récupérer des données dans une base sql express et alimenter un fichier excel avec du vb.net. J'ai systématiquement des erreurs.

    Voici la dernière version testée:

    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
    16
    17
    18
    19
    20
    21
    22
    23
    Dim vTab As Excel.Worksheet
    Dim vSql as String
     
    vTab = vWorkbook.Sheets("Test")
    vSql = "SELECT Client.Nom, Client.Prenom FROM Client"
     
    With vTab.QueryTables.Add(Connection:="OLEDB;Provider=SQLOLEDB;Data Source=.\SQLEXPRESS;AttachDbFilename=C:\WWW\VS2010\Test\App_Data\Client.mdf;Integrated Security=True;User Instance=True", Destination:=vTab.Range("A5"))
      .CommandText = vlSql
      .Name = vTab.Name
      .FieldNames = True
      .RowNumbers = True
      .FillAdjacentFormulas = False
      .PreserveFormatting = True
      .RefreshOnFileOpen = False
      .BackgroundQuery = True
      .RefreshStyle = Excel.XlCellInsertionMode.xlOverwriteCells
      .SavePassword = False
      .SaveData = False
      .AdjustColumnWidth = True
      .RefreshPeriod = 0
      .PreserveColumnInfo = True
      .Refresh(BackgroundQuery:=True)
    End With
    A l'exécution, j'ai systématiquement une erreur sur la ligne .Refresh
    Exception from HRESULT: 0x800A03EC
    J'ai trouvé plusieurs sujets similaires mais rien ne m'a permis de résoudre le probleme pour le moment.

    Merci de m'aider.

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    hello,
    Regarde cette discussion http://www.developpez.net/forums/d35...es-vers-excel/
    et dit nous si ca t'aide...
    Bien à toi.

    P.S. : Quand tu mets du code, n'oublie as les balises CODE, c'est plus lisible

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 16
    Par défaut
    Bonsoir, et merci pour ton aide

    J'avais vu cette discussion.

    J'avais essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Refresh(BackgroundQuery:=True)
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Refresh(BackgroundQuery:=False)
    avec le même résultat.

    Dans cette discussion la connexion se fait avec ODBC
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Connection:="ODBC;DRIVER=SQL Server;...
    Dans mon exemple j'utilise OLEDB
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Connection:="OLEDB;Provider=SQLOLEDB...
    Je pense que mon problème viens de la chaîne de connection.
    Je voudrais bien essayé avec ODBC, mais je ne connais pas le mot de passe du compte "sa" par défaut et je ne sais pas comment créer un compte.
    J'utilise SQL Server Express installé par Visual Studio 2010 (la dernière béta) et je n'ai pas le souvenir qu'il m'ait demandé un mot de passe pour le serveur SQL.
    S'il le faut, je veux bien refaire l'installation.

  4. #4
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Excuse mais je suis assez pressé donc je fais court pour maintenant.
    Si tu as un doute sur ton string de connections : http://www.connectionstrings.com/
    Mis à part cela, je pense que même en OleDb il te faut mettre un mot de passe et un user...
    Je n'ai jamais essayé cette méthode, mais elle m'intéresse grandement (Cela doit être bien plus rapide) je testerai cette solution en OleDb quand j'aurai le temps au boulot...
    Bien à toi et bon dimanche

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 16
    Par défaut
    Mes différents tests avec les connections strings n'ont rien donné.
    Je reviens vers une solution antérieure basée sur une connexion ODEDB et la fonction CopyFromRecordset.

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 319
    Par défaut
    Bonjour
    tu n'as pas de mot de passe pour le compte "sa"!
    Nasty

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

Discussions similaires

  1. [XL-2003] Transférer des données d'ACCESS vers EXCEL
    Par MichaSarah dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/10/2011, 22h44
  2. [XL-2003] Bouton pour transférer des données d'un fichier Excel vers un autre
    Par Alfred23 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 07/09/2011, 16h46
  3. Réponses: 4
    Dernier message: 26/11/2008, 13h59
  4. extraction des données de MySQL vers excel
    Par wiama dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 03/05/2007, 11h37
  5. Réponses: 1
    Dernier message: 07/07/2006, 18h13

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