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

Oracle Discussion :

Enregistrer un lien dans une base Oracle


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 21
    Points : 18
    Points
    18
    Par défaut Enregistrer un lien dans une base Oracle
    Bonjour,

    Je souhaite enregistrer un lien de google map dans une base de données Oracle.

    Le lien est celui-ci :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http:/maps.google.fr/maps?f=q&amp;source=s_q&amp;hl=fr&amp;geocode=&amp;q=Rue+du+Champ+de+Mars,+75007+Paris%E2%80%8E&amp;sll=48.858204,2.294359&amp;sspn=0.04207,0.072699&amp;ie=UTF8&amp;hq=&amp;hnear=Rue+du+Champ+de+Mars,+75007+Paris,+Ile-de-France&amp;ll=48.864207,2.309103&amp;spn=0.010518,0.018175&amp;z=14&amp;iwloc=A&amp;output=embed"></iframe><br /><small><a href="htp://maps.google.fr/maps?f=q&amp;source=embed&amp;hl=fr&amp;geocode=&amp;q=Rue+du+Champ+de+Mars,+75007+Paris%E2%80%8E&amp;sll=48.858204,2.294359&amp;sspn=0.04207,0.072699&amp;ie=UTF8&amp;hq=&amp;hnear=Rue+du+Champ+de+Mars,+75007+Paris,+Ile-de-France&amp;ll=48.864207,2.309103&amp;spn=0.010518,0.018175&amp;z=14&amp;iwloc=A" style="color:#0000FF;text-align:left">Agrandir le plan</a></small>
    Je fais la requête suivante pour l'enregistrer :

    UPDATE etablissement
    SET plan = 'le lien tel qu'il est au dessus'
    WHERE id = 1;


    Et le message qui apparaît est le suivant :
    "Entrez une valeur pour amp : "

    J'ai tout essayé de changer le type du champ 'plan' mais rien.
    J'ai doublé les apostrophes, mis dans anti slash ... rien de fonctionne ...

    Si quelqu'un a une petite idée du souci ... Merci d'avance .

    En espérant avoir été assez claire dans l'explication du souci.

    PS: j'ai enlever dans les liens http un slash pour que tout s'affiche entièrement ici sur le forum !

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    SET DEFINE off sous sqlplus

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 21
    Points : 18
    Points
    18
    Par défaut Solution
    Problèmes résolu !!

    Si jamais quelqu'un a le même souci :

    le caractère qui bloquait ma requête est "&" donc après des heures de recherche j'ai finis par trouver la solution.

    Il faut le remplacer par CHR(38) qui le met sous forme ASCII mais dans la requête il faut faire comme ceci :

    pour le mot par exemple 'Fanny & Morganne' il faut le coder ainsi : 'Fanny ' || CHR(38) || ' Morganne'.

    J'utilise le || (alt Gr + 6) pour concaténer le texte 1 et le texte 2.

    Pour mon cas j'ai fais un formulaire où l'utilisateur pouvait me copier le lien du plan souhaité sans rien changer. Je recupère le champ grâce à la méthode $_POST et avant de mettre le champ dans ma requête je fais ceci :

    => Pour doubler les apostrophes :
    $plan = str_replace("'","''",$_POST['plan']);

    => Pour remplacer les & par la chaine que je vous ai cité plus haut.
    $plan = str_replace("&","' || CHR(38) || '",$plan);

    Et voilà maintenant tout fonctionne !!!

    En espérant avoir pu aider quelques personnes.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Lien dans une base
    Par Pias dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 15/04/2006, 15h58
  2. Enregistrement fichier excel dans une base mysql (pas csv)
    Par morph12345 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 27/03/2006, 10h01
  3. changer le type d'un attribut dans une base oracle 8i
    Par vrossi59 dans le forum Oracle
    Réponses: 3
    Dernier message: 24/02/2006, 15h28
  4. enregistrement de matrices dans une base
    Par funkadelic dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 02/06/2005, 17h17

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