Bonjour,

Je rencontre un petit souci actuellement que je n'arrive pas à résoudre.
J'ai cherché sur le net plusieurs exemples mais rien n'y fait.

Mon problème est le suivant :

J'ai un package SSIS sur Microsoft Sql Serveur v11.0.3153 dans lequel j'ai un script en VB.NET qui, entre autre, à moment donné, doit importer des données à partir d'une url d'un fichier .csv
La procédure actuelle que j'ai mise en place est fonctionne correctement, par lecture ligne à ligne du contenu du fichier .csv, 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
16
17
18
19
20
21
22
Dim csvFile As String = srv_url_sources & file_name
Dim sLine As String = ""
If System.IO.File.Exists(csvFile) Then
   Dim fileReader As StreamReader = My.Computer.FileSystem.OpenTextFileReader(csvFile)
   While (Not (fileReader.EndOfStream))
      sLine = Trim(fileReader.ReadLine().ToString() & "")
      Dim sRecords() As String = sLine.Split(New Char() {";"c})
          '// mon code d'insertion ici...
          Dim strSql As String = "INSERT INTO [MATABLE] ("
          strSql = strSql & " mon_champ1, mon_champ2, ....  "
          strSql = strSql & " ) VALUES ( "
          strSql = strSql & " @mon_champ1, @mon_champ2, ....  "
          strSql = strSql & " ) "
          CmdInsert.Parameters.AddWithValue("@mon_champ1", sRecords(0).ToString())
          CmdInsert.Parameters.AddWithValue("@mon_champ2", sRecords(1).ToString())
          ....
          connSql.Open()
	  CmdInsert.ExecuteNonQuery()
	  connSql.Close()
	  CmdInsert = Nothing
   Wend
End If
Mais ce code est super lent. Pour 8000 lignes, cela met 5 à 8 minutes.
J'ai plusieurs fichiers à importer qui peuvent être plus volumineux encore, ce qui porte mon traitement à des temps super longs.

Je voudrais savoir si il est possible d'importer, par une requête SQL, le fichier csv directement en une seule étape du style :
INSERT INTO [maTable] FROM [C:\MONSITE\monfichier.csv]
Cela via un driver ou quelque chose d'autre ????

Merci pour votre aide ou les liens que vous voudrez bien m'indiquer pour quelques pistes....