Pergunta : Armazenar a lima no mysql using connector.net e o campo da gota

Olá!, o
I am que trabalha em um projeto onde eu tenha que armazenar retratos em um campo da GOTA em meu MySql database.
I esteja tentando lotes de maneiras diferentes de armazenar a disposição que do byte eu crio como uma gota na base de dados, mas eu termina sempre acima a obtenção deste erro ou similar: o
" você tem um erro em sua sintaxe do SQL; verific o manual que corresponde a sua versão do usuário de MySQL para a sintaxe direita ao uso próximo do “ä é ³ \ “¿ do ü_ do ¿ ól6? ) Do ¿ Ï \ 0 ír ¹ D do RÌÁ de S 7~ (óù \ \ lw do ¿ de ËÞPì do ¿ do ¸£rÁÁ do ¿ v/ ¢hnfP7 ³ ¼ L§S do ¿ mx®òMÓ´” na linha 1 "

I passaram diversas horas que tentam cada pequena notícia que do exemplo e de código eu encontrei a pesquisa em torno mas eu termino sempre acima com o mesmo ambiente de problem.

My estou: tabela que do usuário 5.0.67
mysql-connector-net-6.2.3

Database de
VS 2010
MySql eu me uso: DEFEITO CHARSET=latin1 de ENGINE=InnoDB AUTO_INCREMENT=5 do quadro de

CREATE (auto_increment NAO NULO não assinado do smallint do file_id do
5) (, ZERO varchar do defeito do file_name do
(64),
file_size o ZERO do defeito do mediumint (8), o mediumblob da lima do
, o
da CHAVE PRELIMINAR do
(file_id)); o

I tentou armazenar uma lima na mesma tabela que eu estou tentando usar de VB.net using o MySql QueryBrowser e esse trabalhos, assim que nós sabemos que não há nada erradamente com o MySql Server.

I uniu o retrato usado ao começ a mensagem de erro acima e a função que eu me uso exatamente como are.
Picture se usou: nome de arquivo " vazio " >

sample.png " fileSize " > (741 bytes) Javascript” do href= o " dos " attachmentDetails do class= de (tipo de lima detalhes) largura do style= >
Picture usou-se ao começ: 82px; altura: 58px; alt= " de http://filedb.experts-exchange.com/incoming/2010/05_w22/t310618/sample.png o " do” src= class= " de 310618 "/>


Code >
1 do >

Private codeBody WriteFileToDb secundário do " prettyprint " " do class= do id= " codeSnippet671035 do >

Has qualquer um de

Very grato para algum ajuda… :-)
class= do

Resposta : Armazenar a lima no mysql using connector.net e o campo da gota

Eu fiz um teste onde eu mudasse o campo da GOTA a LONGTEXT e em vez da tentativa armazenar a disposição do byte, mim converto a disposição a uma corda Base64. Isto trabalhou para alguma razão estranha e com aquele eu posso armazenar e limas do read-out da base de dados.

Entretanto, eu não sei se a codificar a base64 é a melhor maneira de fazer isto e sente mais como uma ac1ão alternativa do que uma boa solução. Eu uni meu código novo aqui e esperançosamente alguém pode dar-me uma sugestão em porque a GOTA não trabalha para mim.

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 secundário confidencial (strFileName de ByVal como o strFilePath da corda, do ByVal como a corda)
        FileSize não ofuscante como UInt32
        rawData não ofuscante () como o byte
        Fs não ofuscante como FileStream
        Conexão não ofuscante como MySqlConnection novo
        O strSql não ofuscante como a corda = “SELECIONA * da lima”
        Ds não ofuscante como a série de dados nova (“FileStore”)
        tempAP não ofuscante como MySqlDataAdapter novo (strSql, conexão)
        objCommand não ofuscante como MySqlCommandBuilder novo (tempAP)

        connection.ConnectionString = sConnString

        fs = FileStream novo (strFilePath, FileMode.Open, FileAccess.Read)
        FileSize = fs. Comprimento - 1

        rawData = byte novo (FileSize) {}
        fs. Lido (rawData, 0, FileSize)
        fs. Fechar ()

        tempAP.Fill (ds, “lima”)
        Tentativa
            conexão. Abrir ()
            Escurecer o objNewRow como DataRow = ds. Tabela (“lima”) .NewRow ()
            objNewRow (“file_name”) = strFileName
            objNewRow (“file_size”) = rawData.Length
            objNewRow (“lima”) = Convert.ToBase64String (rawData)
            ds. Tabelas (“lima”). Rows.Add (objNewRow)
            tempAP.Update (ds, “lima”)
        Prendedor ex como a exceção
            Escurecer o traço como System.Diagnostics.StackTrace novo (ex, verdadeiro): WriteLogFile (System.Reflection.MethodBase.GetCurrentMethod.Name & “- Undermetod: ” & trace.GetFrame (1) .GetMethod (). Nome, “erro, rad: ” & trace.GetFrame (1) .GetFileLineNumber () & “Kolumn: ” & trace.GetFrame (1) .GetFileColumnNumber (), ex. Mensagem)
        Finalmente
            conexão. Fechar ()
        Terminar a tentativa
    Terminar o submarino
Outras soluções  
 
programming4us programming4us