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

SQL Oracle Discussion :

manipuler les octer d un blob en sql


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 357
    Par défaut manipuler les octer d un blob en sql
    Bonjour

    Je doit creer une fonction qui comparer le n eme octet d un blob et renvoi une valeur VARCHAR2.

    Quelque chose du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE FUNCTION GIVETYPE(I_DATA BLOB)
    as
    ...
    IF BLOB[4] /*4 eme octet*/ = 0x01 THEN RETURN 'TYPE1'
    ELSE RETURN 'TYPE2'
    ENDIF
    ....
    afin d'etre utiliser dans une requete du genre :

    select count(*),givetype(data) from table_data group by givetype(data);

    J'ai regarder du coté de DMBS_LOB mais le package est rudimentaire donc je pense que je suis obligé de passé par une procedure codée en c ou c# (java connait pas). Quelq'un peut til m'orienter ou me donnner le squelette de la procedure car j'ai toujours uniquement coder dans oracle uiquement en pl/sql

    Merci d'avance

  2. #2
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Juste avec un SUBSTR du package DBMS_LOB, ensuite la comparaison avec chr(1) (je pense que c'est ça ton 0x01)
    Attention le DBMS_LOB.SUBSTR a ses paramètres inversés avec le SUBSTR classique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE FUNCTION GIVETYPE(I_DATA BLOB)
    AS
    ...
    IF dbms_lob.SUBSTR(i_date, 1, 4) = chr(01) 
    THEN RETURN 'TYPE1'
    ELSE RETURN 'TYPE2'
    ENDIF

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 357
    Par défaut
    ha oui pas mal pas contre dans mon cas exact je doit faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (blob[4] & 0x0F == XXX)
    c ''est possible l operation & ou pas ?

  4. #4
    Expert confirmé 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
    Par défaut
    Citation Envoyé par ZashOne Voir le message
    ha oui pas mal pas contre dans mon cas exact je doit faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (blob[4] & 0x0F == XXX)
    c ''est possible l operation & ou pas ?
    Cherchez BitAnd et Utl_Raw.

  5. #5
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 357
    Par défaut
    ouf ,

    j espere que ca passera car tout ce que j ai trouvé suivant mes connaissances c 'est

    Development and Deployment of a
    .NET Stored Function Demo

    dans

    Extensions for .NET Developer’s Guide

    Et ca me parraissait un peu lourd.

Discussions similaires

  1. [WD14] Manipuler les champs blobs sous une base externe
    Par devalender dans le forum WinDev
    Réponses: 15
    Dernier message: 20/04/2020, 15h23
  2. Réponses: 2
    Dernier message: 18/08/2009, 21h14
  3. [DAO] [SQL] [VBA] manipuler les proprietes d'une requete
    Par cafeine76 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 01/07/2008, 14h48
  4. [SQL Server 2005] Manipuler les positions d"un champ
    Par Supergilga dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 03/07/2007, 08h51
  5. Les commandes SQL*Plus manipulant les fichiers
    Par Maria1505 dans le forum Sql*Plus
    Réponses: 3
    Dernier message: 08/11/2006, 11h30

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