Tiedoston kirjoittaminen tietokantaan (Java JDBC SQL)

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.
5460
Äänestä

Muut lukivat myös

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.

Äänestä

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.

Äänestä

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.

Äänestä
  • 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?

    Äänestä

  • väsynyt kirjoitti:

    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..

    Äänestä

Kommentoi aloitusta


väsynyt kirjoitti:

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.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu