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

VB 6 et antérieur Discussion :

[VB6] Problème mysql avec type données BLOB


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    mai 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : mai 2005
    Messages : 192
    Points : 113
    Points
    113
    Par défaut [VB6] Problème mysql avec type données BLOB
    Bonjour,

    Dans mon appli VB, je souhaite insérer dans une base mysql (EasyPhp 1.8) des fichiers PDF, que je récupère ensuite par une appli Web.

    Le problème est que lorsque je souhaite ouvrir le fichier PDF avec mon navigateur, il me met :
    Une erreur est survenue lors de l'ouverture de ce document. Le fichier est endommagé et n'a pas pu être réparé.
    Par contre, ca marche très bien avec des fichiers JPG, et lorsque j'insere des fichiers PDF directement avec mon appli Web (sans utiliser VB), je peux les ré-ouvrir sans problème.

    Je pense donc que l'erreur provient du code VB :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Private Sub InsereImage(fichier As String)
    'fichier = "C:\...\doc.pdf"
    Dim conn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim mystream As ADODB.Stream
     
    'Connexion à la base
    Set conn = New ADODB.Connection
    conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=127.0.0.1;DATABASE=test;UID=root;"
    conn.CursorLocation = adUseClient
    conn.Open
     
    Set rs = New ADODB.Recordset
     
    Set mystream = New ADODB.Stream
    mystream.Type = adTypeBinary
     
    rs.Open "SELECT * FROM table1 WHERE 1=0", conn, adOpenStatic, adLockOptimistic
    rs.AddNew
     
    mystream.Open
    mystream.LoadFromFile fichier
     
    'Insertion des données
    rs!nom = "defaut.pdf"
    rs!taille = mystream.Size
    rs!fichier = mystream.Read
    rs.Update
    mystream.Close
    rs.Close
    conn.Close
     
    End Sub

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    mai 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : mai 2005
    Messages : 192
    Points : 113
    Points
    113
    Par défaut
    Finalement, l'erreur ne vient pas du code.
    En fait, je récupère des fichiers JPEG que je convertis en PDF.
    J'ai fait le test avec deux fichiers JPEG : un de 11 Ko et un de 82 Ko (les fichiers convertis en PDF font sensiblement la même taille).

    Lorsque j'enregistre le premier et que je veux l'ouvrir à partir de mon appli Web, pas de problème.
    Pour le deuxième, j'ai une erreur lorsque je veux l'ouvrir à partir de mon appli Web (erreur du dessus), alors que je peux l'ouvrir manuellement.

    Je pense que désormais ca n'a plus trop de rapport avec VB, mais quelqu'un a t il une idée ?

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/11/2012, 11h53
  2. [vb6] probléme de conversion de donnée
    Par lumbroso dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 06/11/2008, 00h22
  3. Réponses: 5
    Dernier message: 06/02/2008, 17h01
  4. [VB6]problème d'insertion des donneés dans une base d'Access2003
    Par lanbok dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/05/2006, 13h17
  5. [VB6]Problème connexion avec une base ACCESS
    Par mcay dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 15/05/2006, 18h47

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