Olisin kiitollinen esimerkkikoodista / linkistä sopivaan tutorialiin jossa kerrotaan miten kirjoitetaan binääritiedosto (esim. kuva) sql-tietokantaan käyttäen javaa.
Tauluja osaan tehdä/poistaa/muokata mutta miten binääritiedostoa en osaa kantaan kirjoittaa.
Tauluja osaan tehdä/poistaa/muokata mutta miten binääritiedostoa en osaa kantaan kirjoittaa.
Vastaukset 5
Vanhimmat
Ei kait sitä tiedostoa sinne voi laittaakaan, tiedoston nimen voit kylläkin sinne laittaa.
Laitat vaikka yhteen tauluun kentiksi kuvan järjestysnumeron (00000001) ja toiseksi kentäksi kuvan nimen (pimppi.jpg)
Sitten vaikka toiseen tauluun avaimeksi sen järjestysnumeron (00000001) ja polun missä kuva sijaitsee (C:kuvat
sitten noita tauluja vertaamalla löytyy aina kuva ja sen sijainti.
Eli tarvitset kantaan binääridatatyyppisen kentän. Näiden määritys vaihtelee jonkin verran eri kantatoimittajilla. BLOB (DB2) lienee yleinen nimi, toinen esim. image (SQLServer).
Määrittelet kentän max.pituuden riittäväksi.
Lue file sisään muistialueelle ja talleta sitten kantaan, vastaavalla tavalla kuin esim stringit.
Joku, joka on käyttänyt JDBC:tä osannee kertoa tuosta enemmän.
BTW. Jostain syystä kehoittavat välttämään kyseisten kenttien indeksointia... hehe.
Kyllä kuvien (tai minkä tahansa muun tiedostoformaatin) työntäminen kantaan on mahdollista. Hieman joudut päätäsi vaivaamaan, mutta ei homman pitäisi olla mitenkään ylitsepääsemättömän vaikeaa. Olen itse noin vuosi sitten vääntänyt homman kasaan sekä postgresql:llä sekä Oraclella. MySQL:n dokumentaatio antaa ymmärtää, että homma toimisi myös siellä.
No, joka tapauksessa tässä on ainakin yksi linkki, jossa väännetään samantyypisten asioiden parissa: http://www.j-elite.com/pgprimer/blobs.jsp
ps: Löydät itse tietoa huomattavasti helpommin, kun työnnät googleen hakusanoiksi: "insert binary data into database java BLOB" tms..
ps2: järkevien neuvojen antaminen helpottuisi kummasti, mikäli kertoisit kannan jota käytät.
MySql on tietokanta.
Yritin eilen googlettaa mutta en silloin löytänyt sopivia ohjeita. Oli kiire ja turhauduin. En tosin vieläkään löydä riittävän rautalankaisia ohjeita :)
Nyt tiedot ovat kannassa tauluna jossa on nimi ja sijainti. En tiedä onko millään tavalla järkevää upottaa itse binääriä kantaan?
OK, tieto mysql:stä auttaa.. MySQL käsittelee binääridataa BLOB:eina (Binary Large OBject).
Vilkaise vaikka sivua http://forum.java.sun.com/thread.jsp?forum=48&thread=227252
Tuokaan ei ole vielä 100% vastaus kysymykseesi, mutta lähellä oikeaa..