[ MarkoBalkan @ 17.09.2008. 20:02 ] @
imam ovaj code, međutim ne ubacuje mi dokument u bazu, u čemu je fora?

Code:

Imports MySql.Data.MySqlClient
Imports System.IO

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim conn As New MySqlConnection
        Dim cmd As New MySqlCommand

        Dim SQL As String

        Dim FileSize As UInt32
        Dim rawData() As Byte
        Dim fs As FileStream

        conn.ConnectionString = "server=127.0.0.1;uid=root;pwd=;database=proba"
        Try
            fs = New FileStream("c:\a.pdf", FileMode.Open, FileAccess.Read)
            FileSize = fs.Length


            rawData = New Byte(FileSize) {}
            fs.Read(rawData, 0, FileSize)
            fs.Close()

            conn.Open()

            SQL = "INSERT INTO proba(ID,DOC) VALUES(1,@Filename)"

            cmd.Connection = conn
            cmd.CommandText = SQL
            cmd.CommandType = CommandType.Text
            cmd.Parameters.AddWithValue("@FileName", rawData)
            cmd.ExecuteNonQuery()


            MessageBox.Show("File Inserted into database successfully!", _
            "Success!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)

            conn.Close()
        Catch ex As Exception
            MessageBox.Show("There was an error: " & ex.Message, "Error", _
                MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try



    End Sub
End Class
[ mmix @ 17.09.2008. 20:28 ] @
kojeg tipa ti je polje proba.doc?

[ MarkoBalkan @ 17.09.2008. 20:52 ] @
longblob, veličina prihvata fileova je postavljena na 50 MB, inače je jedan po defaultu.
ovdje sam promijenio u bazi na blob i probao sa blob i opet ne radi.
ovo je iz MSDN-a primjer, s time sto je u primjeru u pitanju slika, i kod MS servera potoji tip image.
i opet ne radi.

Code:


Imports System.IO
Imports MySql.Data.MySqlClient

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim photo() As Byte = GetPhoto("C:\a.jpg")


        Dim st As String = "server=127.0.0.1;uid=root;pwd=;database=proba;"
        Dim con As New MySqlConnection(st)
        Dim ad As New MySqlCommand("insert into proba(id,doc) values(1,@file)", con)

        ad.Parameters.Add("@file", MySqlDbType.Blob, photo.Length).Value = photo

        con.Open()

        ad.ExecuteNonQuery()
        con.Close()

    End Sub

    Public Shared Function GetPhoto(ByVal filePath As String) As Byte()
        Dim stream As FileStream = New FileStream( _
           filePath, FileMode.Open, FileAccess.Read)
        Dim reader As BinaryReader = New BinaryReader(stream)

        Dim photo() As Byte = reader.ReadBytes(stream.Length)

        reader.Close()
        stream.Close()

        Return photo
    End Function
End Class

[ MarkoBalkan @ 18.09.2008. 18:37 ] @
evo slike.
ne znam u cemu je problem, mozda zato sto je verzija baze comunity?

pa ne prima izvana file-ove osim kad se dodaju rucno?
[ MarkoBalkan @ 18.09.2008. 18:54 ] @
problem je vjerojatno u mysql bazi, jer u firebird ubaci bez problema na isti način.
[ Igor Gajic @ 19.09.2008. 10:36 ] @
Da li si postavio u MySql Administratoru, pod Startup Variables/Advanced Networking/Max packet size na odgovarajucu velicinu (50MB) ?

Meni je to svojevremeno pravilo probleme oko ubacivanja slika u MySql bazu...
[ MarkoBalkan @ 19.09.2008. 12:48 ] @
jesam u ini file.jer preko admin alata nisam mogao, jer mi je zasijenjeno.
ali kad dodam ručno onda ide.
po defaultu mi je 1 mb i još to uvijek stoji.

a preko aplikacije ne mogu dodati ni file koji je 100 KB.
[ Igor Gajic @ 19.09.2008. 13:09 ] @


Klikni na checkbox i postaje enabled!
[ MarkoBalkan @ 19.09.2008. 15:46 ] @
koji checkbox?
[ Igor Gajic @ 19.09.2008. 16:14 ] @


Ovako izgleda kod mene, pretpostavljam da neke opcije menjas preko ini fajla pa nemaju check box pored opcije.

Probaj da izbrises Max packet size opciju iz ini fajla pa onda da promenis vrednost.