Problema campo Blob MYSql

martedì 24 maggio 2011 - 09.29
Tag Elenco Tags  C#  |  .NET 2.0  |  Windows Vista  |  Visual Studio 2005  |  MySQL 5.0

AntCiar Profilo | Expert

Buongiorno a tutti.
Utilizzo MySql 5.0.26 come database. Ho il seguente problema: nella mia applicazione leggo dei dati da alcune tabelle del db tramite oggetti datatable. Converto il contenuto del DataTable in formato XML e poi verso il contenuto in un campo di tipo Blob all'interno di una tabella del database. Sommariamente faccio questo tipo di operazioni:

System.IO.StringWriter tst = new System.IO.StringWriter(); dataset.WriteXml(tst, XmlWriteMode.WriteSchema);

Utilizzo per l'insert nella tabella una query parametrica:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Quando eseguo la query mi va in errore e mi restituisce: "#22001Data too long for column 'BODY' at row 1"

Leggendo un po in giro sulla rete ho visto che si può impostare la dimensione massima dei pacchetti. Ho aggiornato il codice inserendo come istruzione primaria la seguente:

runSQLCommand("set max_allowed_packet=1073741824");
Il valore l'ho preso dalla guida di MySql e dovrebbe rappresentare 1Giga. Controllando a database il valore effettivamente viene modificato ma quando eseguo la query da sempre lo stesso errore.

Ho anche controllato che "System.Text.Encoding.Default.GetBytes(tst.ToString()).LongLenght" non eccedesse la lunghezza massima. Dal controllo immediato mi dice che è 119680 byte, quindi un valore di gran lunga inferiore al limite di 1G.

Come posso risolvere il problema?
Grazie a tutti.

PS in allegato trovate la struttura xml della tabella che provo a scrivere nel campo blob. Sono 70 righe circa.
Cristian Barca
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5