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

WinDev Discussion :

Lire un varbinary de SQLServer et retrouver le fichier correspondant [WD16]


Sujet :

WinDev

  1. #1
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut Lire un varbinary de SQLServer et retrouver le fichier correspondant
    Salut,

    Désolé pour le titre, pas évident à expliquer.
    Ce que je veux faire à la base c'est stocker des fichiers dans une base de donnée SQLServer et de pouvoir ensuite les rouvrir grâce à WinDev...
    Stocker un fichier dans une table en SQLServer est simple, il suffit d'avoir une colonne varbinary et de mettre le fichier dedans avec une requête du type :
    Code SQLServer : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from OPENROWSET(BULK 'c:/temp/temp.txt', SINGLE_BLOB)
    Cette partie, j'ai bon (en tout cas, la requête marche )

    Ensuite quand je fais un select sur cette colonne, j'obtiens une valeur du type 0x3465153c1cd4f654... et ce que j'aimerai faire, c'est de récupérer cette chaine d'octet et de la reconvertir en fichier pour pouvoir l'ouvrir. C'est là que je bloque.
    Dans d'autres langages, il suffit de stocker cette chaine dans un tableau d'octet et de créer un objet avec ce tableau, mais en WinDev, après moult recherche, je n'ai rien vu d'équivalent !
    J'ai regardé les Mémo binaire, les Octet, les Buffer, les fonction Mem*, mais rien trouver qui marche

    Est-ce que quelqu'un a eu cette brillante idée et à réussi à le faire en WinDev ?
    Est-ce que stocker des fichiers dans une base de données est une bonne idée ou pas ? => Dans mon cas, ça sert à ne gérer la sécurité de ces fichiers que dans mon application et pas en plus au niveau fichier aussi !

    Merci à tous pour votre aide à venir

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour,

    en fait, si j'ai bien lu la doc autour du bulk insert, il te faudrait utiliser l'utilitaire bcp pour extraire le fichier directement à partir de SQL et le rendre disponible dans le résultat de la requête ... Est-ce ce que tu fais déjà ?

    à bientôt,

    Nicolas

  3. #3
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    Je n'ai pas vu de solution dans ce sens, donc non...
    Je fais une bête requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select Fichier from Fichiers
    qui me renvoie la chaine d'octet...

    Je vais regarder l'utilitaire bcp. A première vue, ça me semble être ce que je cherche !

    Affaire à suivre donc.

    Et en passant par WinDev, ca ne serait pas possible alors ?

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Je crains que Windev ne soit pas capable de défaire ce qu'à fait SQL Server car je suppose qu'il y a une optimisation, un cryptage ou plein de choses encore qui peuvent être faite lors de l'insertion en base ...

  5. #5
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    Je suis pas vraiment sûr de ça.
    A mon avis, c'est vraiment un bête tableau d'octet que j'obtiens avec mon select (d'ailleurs plusieurs exemple sur le Net montre comment faire)...

    En tout cas, j'ai réussi à retrouve mes fichiers grâce à bcp
    Reste à savoir si je veux vraiment intégrer ça dans mon programme

    Si quelqu'un d'autre à une idée WinDev like, je suis preneur, en attendant je passe cette discussion en Résolu, même si c'est pas complètement ok

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

Discussions similaires

  1. [MS SQLSERVER 2000] Retrouver des lignes supprimées
    Par Sytchev3 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 04/05/2007, 14h23
  2. [SQLServer 2K]Importer un fichier .dat
    Par Djangogol dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/05/2006, 15h41
  3. Retrouver un fichier deziper
    Par sondo dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 13/02/2006, 13h01
  4. Copie de 2 bases SQLserver en utilisant des fichiers
    Par dimdidi dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 17/08/2005, 09h26
  5. Réponses: 3
    Dernier message: 29/12/2004, 17h10

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