jdbc, Oracle, problem z zapisem do Blob

0

Witam. Mam problem z zapisem tablicy bajtow do pola blob w oraclu. Probowalem na wiele sposobow i ciagle wykonanie zatrzymuje mi sie na operacjach dotyczacych tego pola. Np kiedy mialem odkomentowane tworzenie strumienia wejsciowego dla pola, program zatrzymywal mi sie na tej instrukcji. W tej chwili zatrzymuje mi sie na wywolaniu metody open(). O co moze chodzic?


public Object dodajBlob(BlobInsert blob)
        {
                String succesfull = "no";
                ResultSet res = null;
                try
                {
                        res = zapytanie.executeQuery("select " + blob.getHeadBlob()[1] + " from " + blob.getHeadBlob()[0] + " where pesel='" + blob.getPesel() + "\'");
                        res.next();
                        System.out.println("select " + blob.getHeadBlob()[1] + " from " + blob.getHeadBlob()[0] + " where pesel='" + blob.getPesel() + "\'");
                        oracle.sql.BLOB blobDB = (oracle.sql.BLOB)((OracleResultSet)res).getBlob(blob.getHeadBlob()[1]);
                        //OutputStream outBlob = blobDB.getBinaryOutputStream();
                        //outBlob.write(blob.getBytes());
                        blobDB.open(blobDB.MODE_READWRITE);
                        System.out.println("stworzylem output Blob");
                        if(blobDB.isOpen())
                                System.out.println("stworzylem output Blob");
                        blobDB.setBytes(blob.getBytes());
                        blobDB.close();
                        //outBlob.close();
                        System.out.println("Zapisalem bloba");
                        succesfull = "succesfull";
                //}catch(IOException e)
                //{
                        //e.printStackTrace();
                } catch (SQLException e) {
                        e.printStackTrace();
                }finally
                {
                        return succesfull;
                }
        } 

Nie wyswietla mi sie ten tekst "stworzylem output Blob" nie wyrzuca mi tez bledow :/
Z gory dziekuje za pomoc. Pozdrawiam

0

Ale który? Jak rozumiem pierwszy, bo masz dwa.
Dodaj jeszcze uogólniony wyjątek bo może gdzieś coś po drodze zgubiłeś.

0

Zaden z tych napisow sie nie wyswietla. A wyjatkow mi zadnych nie wyrzuca. po prostu zatrzymuje sie na wykonaniu tej metody.

0

Zmienilem catch'a tak zeby przechwytywal wszystkie wyjatki i wyrzuca mi teraz null pointer. Czemu blobDB moze byc null?

0

Z tego co widzę to BLOB jest pobierany z zapytania. Czy zapytanie zwraca BLOBa? IMO nie dlatego masz NPE. Sprawdź zapytanie dokładnie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1