Il est probable que ce type de requête ne peut pas être utilisé directement. Il faut passer par une procédure stockée (avec paramètre le nom du fichier).
Il est probable que ce type de requête ne peut pas être utilisé directement. Il faut passer par une procédure stockée (avec paramètre le nom du fichier).
Traductions d'articles :
La mémoire en .NET - Qu'est-ce qui va où ?
Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.
j'ai reussi a supprimer l'erreur donc tous se passe comme prevue sauf que ma base de donner ne recupere pas le contenue de mon fichier .cs pourquoi ?
Traductions d'articles :
La mémoire en .NET - Qu'est-ce qui va où ?
Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.
l'erreur fatal venais du cmd=executequery()
mais j'ai un souci la actuelement c'est que lorsque j'importe mes ligne se trouvant dans mon fichier csv aucune d'elle se voie etre mise dans ma table dite dans la requete hors pourtant la requete et celle generer par phpmyadmin lorsque j'importe en graphique .
Je pense avoir trouver le problem et etre proche a sa resolution mais j'ai besoin d'avoir votre avis .
mon code
J'ai compris que mon erreur venais du fait du bouton parcourire de mon appli qui va chercher le fichier .csv du moin je pense car lors de la requette il le prend comme une simple chaine de caractere ne pouvant donc pas recuperer les donnée contenue a l'interieur . auriez vous un idee pour l'executer et rendre possible cet action d'importation.
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 Dim NbLignes As Integer Dim cmd As MySqlCommand = New MySqlCommand cmd.Connection = connection.MaConnexion cmd.CommandText = "LOAD DATA LOCAL INFILE '" & TxtFichier.Text & "' INTO TABLE test FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"" ' ESCAPED BY '\\' LINES TERMINATED BY '\r\n' IGNORE 1 LINES" Try 'NbLignes = cmd.ExecuteNonQuery() MessageBox.Show(NbLignes & " lignes insérées.") Catch exms As MySqlException MessageBox.Show(exms.Message) Catch ex As Exception MessageBox.Show(ex.Message) End Try
voici le code d emon bouton parcourir
l
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub BtnParcourir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnParcourir.Click OpenFileDialog1.ShowDialog() TxtFichier.Text = OpenFileDialog1.SafeFileName End Sub
À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.
Ô Saint Excel, Grand Dieu de l'Inutile.
Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.
D'ou sort ce cmd=executequery() ?
Efficace; Plus de requête envoyé à la base, donc plus d'erreur, mais pas de ligne chargées. Hein !
______________________________________
Donc résumons, le code devrait se présenter ainsi
En cherchant avec google, pas mal de personnes ont essayé de procéder de la sorte
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Dim cmd As MySqlCommand = New MySqlCommand cmd.Connection = ' la connexion : mettre votre objet de connexion ici cmd.CommandText = "LOAD DATA LOCAL INFILE '" & TxtFichier.Text & "' INTO TABLE test FIELDS TERMINATED BY ';' ESCAPED BY '\\' LINES TERMINATED BY '\r\n'" Try cmd.Connection.Open() cmd.ExecuteNonQuery() Catch exms As MySqlException MessageBox.Show(exms.Message) Catch ex As Exception MessageBox.Show(ex.Message) Finally cmd.Connection.Close() End Try
Mais toutes les questions sont restées sans réponses (ou je n'ai pas trouvé la réponse adéquate), cela veut peut être tout simplement dire qu'il n'est pas possible de procéder de cette façon. (au passage vous n'avez pas dit ce que vous aviez dans les logs de MySQL après l'éxecution de la commande.)
Comme je vous le conseillez au début, faite une procédure stockée, puis appelez celle-ci avec VB.
Ne connaissant pas MySQL je ne peux pas vous aider davantage. (avez-vous suivi mon conseil : Demandez sur le forum MySQL si cette requête (LOAD DATA LOCAL INFILE ) peut être exécutée depuis un langage DOTNET comme VB ou C# ?)
Traductions d'articles :
La mémoire en .NET - Qu'est-ce qui va où ?
Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager