[asp.net sql] Executer un fichier .sql à partir d'une page .aspx

Executer un fichier .sql à partir d'une page .aspx [asp.net sql] - SQL/NoSQL - Programmation

Marsh Posté le 31-12-2003 à 11:32:40    

Bonjour, je crée un fichier .sql comme cela  
 
 

Code :
  1. Public Sub EcrireRequete(ByVal sSql As String, ByVal Reset As Boolean)
  2.  
  3.   Directory.SetCurrentDirectory(Server.MapPath("" ))
  4.  
  5.   Dim maRequeteSQL As New FileInfo("data\marequete.sql" )
  6.  
  7.   If maRequeteSQL.Exists And Reset Then
  8.   maRequeteSQL.Delete()
  9.   End If
  10.  
  11.   Dim LogStream As New StreamWriter("data\marequete.sql", True)
  12.   LogStream.WriteLine(sSql)
  13.   LogStream.Close()
  14.  
  15.   End Sub


 
 
   
et je le lis comme ca :  
 
 
 

Code :
  1. Public Function LireRequete() As String
  2.  
  3.   Try
  4.  
  5.   Directory.SetCurrentDirectory(Server.MapPath("" ))
  6.  
  7.   Dim maRequeteSQL As New FileInfo("data\marequete.sql" )
  8.  
  9.   If Not maRequeteSQL.Exists Then
  10.   Trace.Write("Le Fichier sql que je viens tt juste de faire à disparu " )
  11.   Exit Function
  12.   End If
  13.  
  14.   Dim LogStream As New StreamReader("data\marequete.sql", True)
  15.   LireRequete = LogStream.ReadToEnd
  16.   LogStream.Close()
  17.  
  18.   Catch ex As Exception
  19.  
  20.   Trace.Warn("Erreur" )
  21.   End Try
  22.  
  23.   End Function


 
 
 
ensuite je fais comme ca sous ma page pour ecrire le fichier :  
 
 
 

Code :
  1. 'reset = true
  2.   For Each InfoMP3 As Mp3Info In ListeInfoMP3
  3.  
  4.   sSQL = "INSERT INTO Mp3 ("
  5.   sSQL &= "Album,"
  6.   sSQL &= "Genre)"
  7.  
  8.   sSQL &= " VALUES ("
  9.  
  10.   sSQL &= "'" & InfoMP3.Album & "',"
  11.   sSQL &= "'" & InfoMP3.Genre.ToString& "');"
  12.  
  13.   EcrireRequete(sSQL, Reset)
  14.   Reset = False
  15.   Next
  16.  
  17.   ' .....
  18.   ' .....
  19.  
  20.   mcommand.CommandText = LireRequete()
  21.  
  22.   Try
  23.   mcommand.ExecuteNonQuery()
  24.   Catch ex As Exception
  25.   mConn.Dispose()
  26.   End Try
  27.  
  28.   mConn.Dispose()


 
 
   
voici la forme de la requete :  
 
 

Code :
  1. ....
  2.   INSERT INTO Mp3 (Album,Genre) VALUES ('ailleurs land',' ');
  3.   INSERT INTO Mp3 (Album,Genre) VALUES ('ailleurs land',' ');
  4.   INSERT INTO Mp3 (Album,Genre) VALUES ('ailleurs land',' ');
  5.   INSERT INTO Mp3 (Album,Genre) VALUES ('ailleurs land',' ');
  6.   INSERT INTO Mp3 (Album,Genre) VALUES ('ailleurs land',' ');
  7.   INSERT INTO Mp3 (Album,Genre) VALUES ('ailleurs land',' ');
  8.   ....


 
 
Et ca marche pas, la requete Sql est bonne, si il n'y a qu'une seule ligne ca marche mais sinon ca marche pas, comment je dois faire.  
Je suis obligé de faire un fichier sql car à l'initialisation de la base j'arrive à avoir qd 3000 mp3 et la requete SQL et beaucoup plus grande (16 champs) et je pense que ca doit faire lourd sur le serveur car une fois tt les mp3 passé le fichier sql pese 1700 ko  
J'ai une autre solution, c'est d'executer chaque ligne une a une, mais ca doit surement etre plus long  
 
Merci de m'aider

Reply

Marsh Posté le 31-12-2003 à 11:32:40   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed