IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Restriction concernant l’insertion de texte dans une bdd mysql ?


Sujet :

Bases de données Delphi

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut Restriction concernant l’insertion de texte dans une bdd mysql ?
    bonjour

    non chanceux avec les différents composants de gestion d'une bdd mysql (toujours des beugs, fonctionne quelques heures puis lâche alors que l'application doit tourner h24), je me suis résolu a passer par des requêtes POST grâce à IdHttp (je ne sais pas si c'est une bonne solution)

    le texte est envoyé en POST à un script php qui l'insère dans ma table (de type texte)

    mon soucis est que parfois le texte n’apparaît pas dans ma table ...

    pour information, ce qui est inséré est du texte normal, tout ce qui peut être saisie au clavier (comme un message de forum par exemple)

    depuis une page php, tout type de texte peut être inséré dans une table, donc le problème vient forcément de mon composant IdHttp ?

    je n'ai pas encore fait de test poussé pour savoir ce qui est inséré, et ce qui ne l'est pas, mais j'ai comme l'impression que ça merde quand le texte est assez long ...

    une idée ? dois je faire quelque chose de spécial avant l'insertion ?

    merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 044
    Points : 40 962
    Points
    40 962
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    Citation Envoyé par Coussati Voir le message
    non chanceux avec les différents composants de gestion d'une bdd mysql (toujours des bogues, fonctionne quelques heures puis lâche alors que l'application doit tourner h24)
    Cela doit beaucoup dépendre du set de composants utilisé, de la version de Delphi etc...

    mon soucis est que parfois le texte n’apparaît pas dans ma table ...
    La seule restriction à laquelle je pense est la taille totale de la chaine envoyée via POST, pas celle d'une colonne particulière
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    merci pour ta réponse,

    je pense que le mieux sera de faire des tests grandeur nature et de voir à quel moment ça bloque

    mais selon toi je devrais limiter à combien le nombre de caractère ?

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 044
    Points : 40 962
    Points
    40 962
    Billets dans le blog
    62
    Par défaut
    Une ansi string peut normalement aller jusqu'à deux Gigas dans les dernières versions mais Indy a peut-être des restrictions ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    je reviens avec du nouveau

    j'ai mis un TRY ... EXCEPT afin d'avoir l'erreur et j'ai ça : EidsocketError error raised with message : erreur de socket # 1100230xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    (les xxxx = représente le reste de l'erreur que je ne vois pas parce que les logs sont dans un Tlistbox, mais au moins on a le début)

    mon problème ressemble beaucoup à ça : https://www.developpez.net/forums/d1...reset-by-peer/

    ma requête est créée dynamiquement et libéré comme conseillé le dernier intervenant

    j'ai effectué un test, essayant d'ajouter cette chaîne : "testtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt"

    et elle n'a pas fonctionné

    j'ai été voir les access.log et j'ai trouvé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [Mon Mar 30 23:45:15.481648 2020] [mpm_winnt:notice] [pid 2788:tid 332] AH00428: Parent: child process 51248 exited with status 255 -- Restarting.
    [Mon Mar 30 23:45:15.512848 2020] [alias:warn] [pid 2788:tid 332] AH00671: The Alias directive in C:/wamp/alias/phpmyadmin_original.conf at line 1 will probably never match because it overlaps an earlier Alias.
    [Mon Mar 30 23:45:15.575248 2020] [mpm_winnt:notice] [pid 2788:tid 332] AH00455: Apache/2.4.9 (Win64) PHP/5.5.12 configured -- resuming normal operations
    [Mon Mar 30 23:45:15.575248 2020] [mpm_winnt:notice] [pid 2788:tid 332] AH00456: Apache Lounge VC11 Server built: Mar 16 2014 12:42:59
    [Mon Mar 30 23:45:15.575248 2020] [core:notice] [pid 2788:tid 332] AH00094: Command line: 'c:\\wamp\\bin\\apache\\apache2.4.9\\bin\\httpd.exe -d C:/wamp/bin/apache/apache2.4.9'
    [Mon Mar 30 23:45:15.575248 2020] [mpm_winnt:notice] [pid 2788:tid 332] AH00418: Parent: Created child process 55672
    [Mon Mar 30 23:45:15.856049 2020] [alias:warn] [pid 55672:tid 212] AH00671: The Alias directive in C:/wamp/alias/phpmyadmin_original.conf at line 1 will probably never match because it overlaps an earlier Alias.
    [Mon Mar 30 23:45:15.902849 2020] [alias:warn] [pid 55672:tid 212] AH00671: The Alias directive in C:/wamp/alias/phpmyadmin_original.conf at line 1 will probably never match because it overlaps an earlier Alias.
    [Mon Mar 30 23:45:15.949649 2020] [mpm_winnt:notice] [pid 55672:tid 212] AH00354: Child: Starting 64 worker threads.
    par contre cette chaîne fonction : 2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (plus ça plante)

  6. #6
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    salut

    j'ai du nouveau, et du concret

    le problème vient de la taille du texte, de la variable ...

    on ne peut pas avoir plus de 255 caractères !

    par contre il y a un moyen de l'attribuer plus, mais je n'ai trouvé que manuellement pour le moment !

    trouvé dans la faq :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    mon_string:='Ceci est un texte vraiment long qui ne tiens par sur une ligne,' 
               +' mais quelle idée aussi de saisir un texte comme cela alors que ' 
               +'la ligne ne tiens même pas dans l''éditeur et qu''il faut ' 
               +'utiliser les barres de défilement horizontales pour le lire ' 
               +'en entier ! Non mais bon sang de bon soir !';
    j'ai affecté 2 fois ce texte à mon string, et bingo ça marche !!! la requête fonctionne sans erreur !!!

    le plus dur est de le faire avec une fonction

    j'ai essayé plusieurs possibilité, ça ne fonctionne pas

    disons que ma chaîne (de plus de 255 caractères) à envoyer en POST (ou GET) se trouve dans un Tedit, comment faire ?

    tout j'ai remplacé la variable du haut par un memo1.txt puis j'ai ajouté au mem le contenu de l'edit avec add.line, et aussi ça fonctionne

    j'ajoute que le contenu de l'edit, ça ne fonctionne pas (alors que le texte est plus court)

    et on dirait que je ne suis pas le seul à avoir eu ce problème : https://www.developpez.net/forums/d5...55-caracteres/
    :/

Discussions similaires

  1. [Python 3.X] Insertion de texte dans une bdd avec mysql connector
    Par Daviloppeur dans le forum Général Python
    Réponses: 13
    Dernier message: 23/04/2019, 10h24
  2. [MySQL] Importer du texte dans une BDD
    Par Patr77 dans le forum PHP & Base de données
    Réponses: 27
    Dernier message: 30/03/2015, 15h11
  3. [MySQL] insérer du texte dans une bdd
    Par esther60 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 01/06/2008, 17h05
  4. Réponses: 5
    Dernier message: 17/12/2007, 17h50
  5. insérer un fichier texte dans une bdd
    Par capucine1983 dans le forum JDBC
    Réponses: 14
    Dernier message: 22/07/2007, 02h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo