INSERTION D'UN GRAND NOMBRE DE DONNEES

Résolu
issousam
Messages postés
17
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
3 septembre 2008
- 22 juil. 2008 à 15:21
issousam
Messages postés
17
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
3 septembre 2008
- 23 juil. 2008 à 10:35
Bonjour,


J'ai un probleme au niveau de l'insertion de mes données sous SQL SERVER 2005 Express Edition.

En effet, je developpe en ASP.NET (C#) et j'ai parse un document XML contenant certaines informations que je veux integrer à ma base de données.


J'ai reussi à integrer une premiere partie à ma base de données où les informations n'eatient que des string 'de petits formats" (une dizaine de lettres voire une vingtaine).


Le problème est qu'aprés, j'ai voulu integrer une autre partie de mon fichier XML dans ma base de données sachant que cette partie est de l'information en format texte et qu'il correspnd à une description (DONC une centaines de cararctères par information). Ces informations sont stockés dans une variable string que j'arrive à afficher (jusque là tout va bien !!!).


Mais lorsque je veux integrer le tout dans ma base de données, cela ne le fait que pour une partie (les 35 premiers noeuds de mon fichier XML) sacahnt qu'il y a prés d'un milliers de noeuds dans mon fichier !!!!!


Et l'erreur qu'il m'affiche est imcomprehensible pour moi (qui n'a pas l'habitude d'utiliser SQL SERVER Express Edition)) :

Server Error in '/Savoirs' Application.


<hr width= "100%" color="silver" size="1" />


Syntaxe incorrecte vers 'Safe'.










Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Syntaxe incorrecte vers 'Safe'.





Source Error:













Line 122:                        cn.Open();
Line 123:                        SqlDataReader rdr   = cmd.ExecuteReader(CommandBehavior.CloseConnection);






Source File: c:\Inetpub\wwwroot\Savoirs\ParseXML.aspx    Line: 123
Stack Trace:





[SqlException (0x80131904): Syntaxe incorrecte vers 'Safe'.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +857370
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +734982
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +188
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1838
System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +31
System.Data.SqlClient.SqlDataReader.get_MetaData() +62
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +886
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +132
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +122
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) +62
ASP.parsexml_aspx.page_load(Object sender, EventArgs E) in c:\Inetpub\wwwroot\Savoirs\ParseXML.aspx:123
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061







Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42







Voilà...


J'ai pensé à 
   - un problème de taille memoire de ma table mais je ne sais pas comment la modifier
    - ou un probleme au niveau de la pile vu que je lui envoie une succession de requêtes NON-STOP (et ça je ne sais pas gerer aussi !!!)


Si quelqu'un a une idée là dessus ou a déjà un bout de réponse -> Merci de me la faire parvenir !!!!


MERCI d'avance.

2 réponses

nhervagault
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
35
22 juil. 2008 à 19:20
Salut

Cf lien

Pour la réponse

merci de valider  si la réponse convient
3
issousam
Messages postés
17
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
3 septembre 2008

23 juil. 2008 à 10:35
Merci pour la réponse, mais j'ai testé (hier j'y avais pensé) et cela n'a pas resolu mon problème.

En faite la chaine que je souhaite stocker est une chaine de cararctère super longue correspondant à une description d'un produit (environ 250 caractères), ce n'est ni une video, ni une photo, ni un podcast. Le taille "512" que j'ai mise a été retrouvé grace à la fonction length (lorque je mets <256 -> ça ne m'affiche pas toutes les description et pour <512 ça marche !!).


Moi, ce qui me derange c'est au niveau de l'erreur -> "Syntaxe incorrect vers "Safe"" : J'ai cherché comme un fou cette erreur sur le net mais j'ai rien trouve, même pas quelque chose qui puisse y ressembler. "Safe" en anglais correspond à securité (voire coffre fort) et je ne comprend pas l'origine de mon problème sachant qu'il s'agit d'une SQLException. Et ce qui rend encore plus malade, c'est qu'il ecrit bien dans la base de données les 35 premieres description mais aprés rien du tout (sacahnat qu'il y a environ 1500 lignes à ecrire donc 1500 autres descritpion à ecrire dans la base de données)

Ca me rend fou parce que j'ai besoin de cette base de données pour travailler sur mes autres bases.

En tout cas, merci pour ton idée et si il y en a d'autres -> je suis preneur !!!! MERCI
0