Bonjour,
Je travaille le framework 2.0, pour une application ASP.net avec le langage c#. J'ai une base de données SQL Server 2005.
L'application doit permettre de charger de centaine de milliers de données tous les jours sur demande.
Actuellement pour charger ces données, l'insertion se faisait 1 à une dans la base des procedure stockées. Pour des dizaine de millier de données le chargement ne posé pas de problème. Or pour inserer environ 300 000 ligne d'enregistrement en base j'ai l'erreur suivanteJe suis donc passé par l'enregistrement en bloc via BULK INSERT. Mais l'insertion ne fonctionne pas non plusn j'e dirais même plus que le traitement prend encore plus de temp.“Sys.WebForm.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was 12002”
Mais peut être que je m'y prend mal. J'insere chaque ligne d'enregistrment dans un fichier via la fonction :Il y peut être d'autre solution, ou amelioration de ma façon de faire.
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 public static bool CreateBulkInsertFile(string p_sNameTable,string p_sLigne) { try { StreamWriter v_fileBulkInsert = new StreamWriter(CHEMIN+ "//" + p_sNameTable+".txt", true); //Ajout de la trace dans le fichier Bulk Insert v_fileBulkInsert.WriteLine(p_sLigne); //Fermeture du fichier Bulk Insert v_fileBulkInsert.Close(); return true; } catch(Exception) { return false; } }
Merci d'avance.
Partager