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 :

Connexion d'une table SQL server au Visual Basic-Impossible d'accéder à la table de destination [Débutant]


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2014
    Messages : 46
    Points : 31
    Points
    31
    Par défaut Connexion d'une table SQL server au Visual Basic-Impossible d'accéder à la table de destination
    Salut tout le monde, j'ai besoin de votre aide !
    J'ai créé une application qui a pour but d'importer un fichier Excel, de l'afficher sur un DataGrid, et de copier les données des différents champs de ce fichier vers une autre table crée sur SQL Server. Quand je demarre mon application, les données s'affichent sur le DataGrid comme s'est programmé, et après, un message d'erreur s'affiche (Impossible d'accéder à la table de destination)(voir la prise d'écran).
    D'abord, voilà mon Code VB :
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    Imports System.Data.SqlClient
    Imports System.Data.OleDb
    Public Class Form1
        Private Sub BTN_PARC_Click(sender As Object, e As EventArgs) Handles BTN_PARC.Click
            OpenFileDialog1.ShowDialog()
            TXTB_PATH.Text = OpenFileDialog1.FileName
        End Sub
        Private Sub ComboBox1_SelectedValueChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedValueChanged
            'Le Label "Vous choisi la table :" est actif
            Label2.Enabled = True
            'Affecter la valeur de la combobox au label 
            Label3.ForeColor = Color.ForestGreen
            Label3.Width = 25
            Label3.Text = ComboBox1.Text
        End Sub
        Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
            'Activation du boutton "Suivant" après que la Progress Bar atteind son Max
            ProgressBar1.Increment(1)
            If ProgressBar1.Value = ProgressBar1.Maximum Then
                BTN.Enabled = True
            End If
        End Sub
        Private Sub BTN_IMP_Click(sender As Object, e As EventArgs) Handles BTN_IMP.Click
            'Demarrage de la Progress Bar après le clic sur "Importer" 
            ProgressBar1.Visible = True
            Timer1.Start()
            'Importer le fichier Excel après une connexion SQL 
            Dim CnxExcel As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & TXTB_PATH.Text & ";Extended Properties=""Excel 12.0 XML;HDR=YES"";")
            Dim CnxSQL As New SqlConnection("Data Source=AIMAN-PC;Initial Catalog=Excel1;Integrated security=True")
            Dim da As New OleDbDataAdapter
            Dim ds As New DataSet
            Dim cmd As New OleDbCommand("Select * from [TT1$]", CnxExcel)
            da.SelectCommand = cmd
            da.Fill(ds, "page2")
            DataGridView1.DataSource = ds.Tables("page2")
            'Affectation des valeurs du fichier à la base données SQL crée
            Dim InterTest As New SqlBulkCopy(CnxSQL)
            CnxSQL.Open()
            InterTest.DestinationTableName = "TT1"
            InterTest.WriteToServer(ds.Tables("page2"))
     
     
        End Sub
    End Class
    Nom : Capture.JPG
Affichages : 272
Taille : 232,5 Ko

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    C'est bizarre, quand tu déclares ta commande, tu utilises ceci :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    Select * from [TT1$]
    Le nom de la table est "TT1$".

    Ensuite, quand tu définis la table de destination, tu utilises ceci :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    InterTest.DestinationTableName = "TT1"
    Le nom de la table n'est plus le même.

    Est-ce intentionnel ?

    Si oui, est-ce que la table "TT1" existe bien dans la base de données ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2014
    Messages : 46
    Points : 31
    Points
    31
    Par défaut
    Salut ! Je pense que le signe "$" après TT1 est juste pour dire que la table contient des entêtes !

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Est-ce que votre table TT1 existe sur votre serveur de destination ?

    Si c'est le cas, précisez peut-être le schéma, surtout s'il est différent de dbo.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2014
    Messages : 46
    Points : 31
    Points
    31
    Par défaut
    Merci pour vos réponse ! Le problème est résolu

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

Discussions similaires

  1. erreur lors d'une connexion a une base sql server
    Par kifouillou dans le forum JDBC
    Réponses: 16
    Dernier message: 14/05/2013, 12h52
  2. Réponses: 12
    Dernier message: 25/05/2011, 15h47
  3. bug de connexion a une base sql server 2000
    Par discogarden dans le forum Visual Studio
    Réponses: 0
    Dernier message: 03/10/2008, 10h55
  4. Connexion a une base SQL server
    Par Flamby38 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/06/2008, 08h21
  5. [VB]Importer une vue SQL Server via Visual Basic
    Par NoViceDel dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 24/05/2006, 19h57

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