Importer datatable vers table temporaire de sql server.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Importer datatable vers table temporaire de sql server.

Re: Importer datatable vers table temporaire de sql server.

par moogli » 26 juil. 2015, 22:36

salut,

c'est forcément réalisable :)
il te faut faire le parse du fichier en vb.net.
Tu comptes le nombre de colonne (si tu as les entêtes c'est top).
Tu commences par créer la table sql (create table) en utilisant l'entête des colonnes xls pour nommer les colonnes (si tu as) sinon avec des noms générique (col1 à colx).
Ensuite pour chaque ligne du fichier tu peux insérer dans la table créé avant.
en pseudo code.
pour chaque ligne
créer une variable qui va contenir la requete d'insertion (insert into latable values())
pour chaque colonne
ajouter à la requête la colonne courante et une virgule
fin pour chaque
Supprimer la dernière virgule, ajouter la parenthèse fermante;
exécuter la requête.
fin pour chaque.

Pour ce qui est du déplacement à posteriori des données select / insert feront l'affaire.
Il te reste a savoir comment tu feras la liaison entre les tables et les fichiers (si tu utilises les noms de fichiers il faudra penser a les nettoyer (pas d'espace, point etc. etc. dans le nom de la table mais aussi des colonnes.

@+

Importer datatable vers table temporaire de sql server.

par archi89 » 21 juil. 2015, 14:06

Bonjour,


Je vous sollicite pour un problème de transfert de fichier excel vers une base sql.
Je travaille avec VB.NET et SQL server Management.
Mon souhait est d'importer un fichier excel (xlsx ou xls) vers une table temporaire dans une base SQl (par une appli vb net).

A terme j'aimerais selectionnner les colonnes que je veux de cette table temporaire vers une autre table bien définie.
J'ai déjà écrit un petit programme (vb net) qui importe le fichier excel vers un datagridview (il est chargé dans une datatable).
Je connais le nom des feuilles, etc

Mais là je bloque, comment importer cette datatable vers une table temporaire sql dans le même format?
Il y a peut être une autre stratégie sans passer par une datatable.


PS : Je ne suis pas sûr de la section.Mais, je peux écrire des instructions sql que je lance depuis VB NET.
Donc si on peut importer un fichier Excel vers une table temporaire seulement en requête sql, je prends avec plaisir.
PS2: LE fichier excel est variable en termes de type de données et nombre de colonne.

Merci par avance de vos réponses.