[ Pablo46 @ 21.08.2013. 11:25 ] @
Pregledala sam forum u potrazi za odgovorom, ali ne nadjoh sta mi treba.
Elem, radim web aplikaciju u Visual Studiu 2012 i htela bih da sa klijentskog aspekta postavim sliku u bazu sql. U bazi imam tabelu slike, preko dataseta sam tu tabelu ubacila u aplikaciju i nemam pojma kako dalje. Totalni sam pocetnik u ovome, pa ako moze neka pomoc? Hvala :)
[ Pablo46 @ 21.08.2013. 12:23 ] @
Opet ja! Ne znam kako, ali proradilo mi je! :) Izvinjavam se na nepotrebnoj uxzbuni, sto se mene tice, administratori mogu slobodno da obrisu ovu temu. :) Hvala.
p.s. imam ja jos puno pitanja, ali polako... :)
[ nkrgovic @ 21.08.2013. 12:24 ] @
Nikad nisam radio MS SQL, ali kao neko opste pravilo: Slike ne idu u bazu. Baza nek ti drzi podatke gde su fajlovi na fajl sistemu, i ostale podatke - a sam fajl drzi na disku.

Fajl, slika, nema nikakvu relaciju i nije mu mesto u relacionoj bazi. Nista, osim imena i lokacije fajla ne moze da ima relacije.
[ Zidar @ 22.08.2013. 14:57 ] @
@ Pablo46: pitanje koje si postavio jako je dobro. Nema mnogo ljudi koji znaju kako se to radi, pa ako ti je vec uspelo, bilo bi lepo da nam opises kako si resio problem, mnogo ljudi ce biti zahvalno d anauci kako se to radi.

Uno slika u tabelu radi se uglavnom preko front enda (MS Access mi pada napamet, tamo je to veoma jednostavno), ali u MS SQL moze i T-SQL metodama. Ostali RDBMS (ORACLE, [email protected], SYBASE etc.) imaju svoje metode. U MS SQL to moze ovako da se uradi:
Code:

-- Izvor: Knjiga "Inside MS SQL Server 2008: T-SQL Querying", Itzik Ben-Gan:
CREATE TABLE dbo.CustomerData
(
CustID           int              NOT NULL PRIMARY KEY
, txt_data       varchar(max)      NULL    -- long text
, ntxt_data       nvarchar(max)  NULL    -- long text with inetrnationa characters
, binary_data  varbinary(max) NULL    -- images and similar stuff
, xml_data       XML              NULL    -- XML files

)
;
INSERT INTO dbo.CustomerData (CustID, xml_data)
VALUEs (101
        ,    (
            SELECT binary_data 
            FROM Openrowset(BULK 'c:\temp\binaryfile01.jpg', SINGLE_BLOB) AS F(binary_data)
            )
         )
;
UPDATE dbo.CustomerData 
   SET Binary_data = (
                     SELECT binary_data 
                     FROM Openrowset(BULK 'c:\temp\binaryfile02.jpg', SINGLE_BLOB) AS F(binary_data)
                     )
      , txt_data = (
                     SELECT txt_data 
                     FROM Openrowset(BULK 'c:\temp\textfile.txt', SINGLE_CLOB) AS F(txt_data)
                     )
      , ntxt_data = (
                     SELECT ntxt_data 
                     FROM Openrowset(BULK 'c:\temp\unicodefile.txt', SINGLE_NCLOB) AS F(ntxt_data)
                     )

      , xml_data = (
                     SELECT xmlt_data 
                     FROM Openrowset(BULK 'c:\temp\xmlfile.xml', SINGLE_CLOB) AS F(xml_data)
                     )
WHERE CustID = 101
;



Sto se tice rasprave da li sliek idu ili ne idu u bazu, ostavimo to proizvodjacima softvera da rese kako najbolje znaju. Relaciona teorija definitivno ne zabranjuje kompleksne atribute. Sta je prakticno i izvodivo u datom trenutku, to zavisi od raspolozivosti potrebnih alata u RDBMS i front end aplikaciji koju koristite.