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

Requêtes PostgreSQL Discussion :

inscrire des valeurs cidr dans un champ inet provenant de champs texte


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 92
    Points : 53
    Points
    53
    Par défaut inscrire des valeurs cidr dans un champ inet provenant de champs texte
    Bonjour,

    J'ai un fichier xls contenant dans une colonne les adresses IP dans une autre cellules le masque de réseau.

    Mon programme doit délimiter son accès aux seuls postes représentés dans ce fichier.

    Dans la BD postgres j'ai un champ inet (IP_pc). J'ai d'abord créé une table pour récupérer les valeurs du fichier. Ensuite j'ai concaténé les adresses IP et les valeurs des masques (que j'ai préalablement calculé). Voici en gros la requête d'insertion :

    insert into table_adresse (IP_pc) select ip || '/'||'valeur' as ipnet from table_source;

    A l'exécution postgres me demande de convertir le format texte de ipnet parce qu'il est reconnu comme format texte et comme un format inet.

    J'ai essayé de passer par un champ texte qui enverrai son contenu vers le champ inet... même condamnation.

    Que faire ? Quelqu'un a une idée ?

    Christian.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 92
    Points : 53
    Points
    53
    Par défaut
    J'ai trouvé !

    J'avais une adresse qui était mal formaté, la saisie avait été faite avec à un endroit une virgule et non un point. Tout ça pour une virgule.

    La suite est plus simple j'update mon champ ip avec les informations du masque pour obtenir en format texte la forme suivante xxx.xxx.xxx.xxx/yy

    ensuite dans ma requête d'insertion je fais ip::inet et le tour est joué. J'le dis une virgule c'est méchant les gars faut s'en méfier...

    Christian.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/03/2015, 01h50
  2. Réponses: 2
    Dernier message: 21/09/2013, 15h18
  3. Recuperer des valeurs listebox dans un champs
    Par emarketer dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/08/2009, 17h42
  4. Réponses: 7
    Dernier message: 07/05/2009, 13h09
  5. Réponses: 1
    Dernier message: 13/03/2007, 09h52

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