Question : Stocker le dossier dans le mysql using connector.net et le champ de goutte

Bonjour, le
I AM travaillant sur un projet où je dois stocker des images dans un domaine de BLOB dans mon MySql database.
I avais essayé un bon nombre de différentes manières de stocker la rangée de byte que je crée comme goutte dans la base de données, mais moi finissent toujours obtenir vers le haut cette erreur ou semblable : le
" vous avez une erreur en votre syntaxe de SQL ; vérifier le manuel qui correspond à votre version de serveur de MySQL pour la bonne syntaxe à l'utilisation près « ä de l'é ³ \ « ¿ d'ü_ du ¿ ól6 ? ) Du ¿ Ï \ 0 ír ¹ D du RÌÁ de S 7~ (óù \ \ lw de ¿ d'ËÞPì de ¿ de ¸£rÁÁ du ¿ v/ ¢hnfP7 ³ ¼ L§S du ¿ mx®òMÓ´ » à la ligne 1 " le

I ont passé plusieurs heures essayant chaque extrait d'exemple et de code que j'ai trouvé la recherche autour de mais je finis toujours vers le haut avec le même environnement de problem.

My est : utilisation de Tableau I du serveur 5.0.67
mysql-connector-net-6.2.3

Database de
VS 2010
MySql : DÉFAUT CHARSET=latin1 d'ENGINE=InnoDB AUTO_INCREMENT=5 de fichier de table de

CREATE (smallint de file_id de
(5) l'auto_increment NON NUL non signé, NULLES varchar de défaut de file_name du
(64), le
file_size le mediumint (8) NULLE non signée de défaut, le mediumblob de dossier de
, le
de CLÉ PRIMAIRE de
(file_id)) ; le

I ont essayé de stocker un dossier dans la même table que j'essaye d'employer de VB.net using le MySql QueryBrowser et ce des travaux, ainsi nous savons qu'il n'y a rien mal avec le MySql Server.

I ont attaché l'image utilisée en recevant le message d'erreur ci-dessus et la fonction que j'emploie exactement comme elles are.
Picture ont employé : nom de fichier » " de >

sample.png " fileSize " > (741 bytes) Javascript de href= le " de " attachmentDetails de class= » de (type de dossier détails) largeur de " style= de > de http://filedb.experts-exchange.com/incoming/2010/05_w22/t310618/sample.png de » src=


Code le " le " de >
1 de >

Private " de

Has n'importe qui de

Very reconnaissant pour certains aide… : -)
class= de

Réponse : Stocker le dossier dans le mysql using connector.net et le champ de goutte

J'ai fait un essai où j'ai changé le champ de BLOB en LONGTEXT et au lieu de l'essai de stocker la rangée de byte, je convertis la rangée en corde Base64. Ceci a fonctionné pour une certaine raison étrange et avec celui je peux stocker et des dossiers de lecture de la base de données.

Cependant, je ne sais pas si le codage de elle à base64 est la meilleure manière de faire ceci et il se sent plutôt un work-around qu'une bonne solution. J'ai attaché mon nouveau code ici et si tout va bien quelqu'un peut me donner un conseil sur pourquoi le BLOB ne fonctionne pas pour moi.

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 :
34 :
StoreFileInDb secondaire privé (strFileName de ByVal comme strFilePath de corde, de ByVal comme corde)
        Faible FileSize comme UInt32
        Faible rawData () comme byte
        Faible fs comme FileStream
        Faible raccordement en tant que nouveau MySqlConnection
        Le faible strSql comme corde = « CHOISISSENT * À PARTIR du dossier »
        Faible ds en tant que nouvel ensemble de données (« mémoire fichier »)
        Faible tempAP en tant que nouveau MySqlDataAdapter (strSql, raccordement)
        Faible objCommand en tant que nouveau MySqlCommandBuilder (tempAP)

        connection.ConnectionString = sConnString

        fs = nouveau FileStream (strFilePath, FileMode.Open, FileAccess.Read)
        FileSize = fs. Longueur - 1

        rawData = nouveau byte (FileSize) {}
        fs. Lu (rawData, 0, FileSize)
        fs. Se fermer ()

        tempAP.Fill (ds, « dossier »)
        Essai
            raccordement. S'ouvrir ()
            Obscurcir l'objNewRow comme DataRow = ds. Ajourne (« dossier ») .NewRow ()
            objNewRow (« file_name ») = strFileName
            objNewRow (« file_size ») = rawData.Length
            objNewRow (« dossier ») = Convert.ToBase64String (rawData)
            ds. Tableaux (« dossier »). Rows.Add (objNewRow)
            tempAP.Update (ds, « dossier »)
        Crochet ex comme exception
            Obscurcir la trace en tant que nouveau System.Diagnostics.StackTrace (ex, vrai) : WriteLogFile (System.Reflection.MethodBase.GetCurrentMethod.Name et « - Undermetod :  » et trace.GetFrame (1).GetMethod (). Nom, « erreur, rad :  » et trace.GetFrame (1).GetFileLineNumber () et « Kolumn :  » et trace.GetFrame (1).GetFileColumnNumber (), ex. Message)
        Enfin
            raccordement. Se fermer ()
        Finir l'essai
    Finir le sous-marin
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us