[ORACLE, JDBC] ORA-17070 - nie wiem co z tym zrobić...
Adamzrk - 09-12-2005 19:52
[ORACLE, JDBC] ORA-17070 - nie wiem co z tym zrobić...
Witam Jest sobie typ samolot: create or replace type samolot_typ as object ( numer_samolotu number, marka varchar2(50), opis varchar2(2000), ile_miejsc number(3), ile_miejsc_przy_oknie number(3), ile_miejsc_dla_palacych number(3), zdjecia tabela_zdjec, constructor function samolot_typ(numer_samolotu_in number, marka_in in varchar2, opis_in in varchar2, ile_miejsc_in in number, ile_miejsc_przy_oknie_in in number, ile_miejsc_dla_palacych_in in number) return self as result,
member function get_numer_samolotu return number, member function get_marka return varchar2, member function get_opis return varchar2, member function get_ile_miejsc return number, member function get_ile_miejsc_przy_oknie return number, member function get_ile_miejsc_dla_palacych return number, member function get_zdjecia return tabela_zdjec, member function get_zdjecie(index_in in integer) return BLOB ); oraz tabela tych obiektów: create table samoloty of samolot_typ nested table zdjecia store as zdjecia_samolotow;
Mam problem z dodawaniem zdjęć do kolekcji zawartej w tym obiekcie. Dodawanie to realizuje następująca procedura - zawarta w pakiecie pakiet_admina:
procedure dodaj_zdjecie_samolotu(numer_samolotu_in in number, zdjecie blob, wynik out number) is samolot_temp samolot_typ; zdjecia tabela_zdjec; begin select value(s) into samolot_temp from samoloty s where s.numer_samolotu = numer_samolotu_in;
zdjecia := samolot_temp.zdjecia;
zdjecia(zdjecia.count+1) := zdjecie; update samoloty s set s.zdjecia = zdjecia where s.numer_samolotu = numer_samolotu_in;
wynik := 0;
exception when no_data_found then wynik := 2; -- nie ma takiego samolotu when others then wynik := 1;
end;
Gdy chcę dodać z poziomu javy jakieś zdjęcie:
File imageFile = new File("Zadan_1-41.PNG"); InputStream in = new FileInputStream( imageFile ); CallableStatement stat = conn.prepareCall("{ call pakiet_admina.dodaj_zdjecie_samolotu(?,?,?) }"); stat.setInt(1,44); stat.setBinaryStream(2,in,(int) imageFile.length()); stat.registerOutParameter(3,Types.INTEGER); stat.execute(); int result = stat.getInt(3); conn.commit();
dostaję dla większych zdjęć wyjatek: java.sql.SQLException: Rozmiar danych jest większy niż maksymalny, dopuszczalny dla tego typu: 205750
Z tego co dowiedziałem się nie można przekazywać więcej niż 32 kb. I to jest mój problem - czy da sie jakoś to ograniczenie zmienić? Bo ja jeszcze się super na administracji oraclem nie znam i nie wiem jak to osiągnać. Jeśli dodaję jakiegoś bloba za pomocą OraclePreparedStatement wszystko jest ok. Może coś z kolekcjami, nested table? Będę wdzięczny za pomoc.
Pozdrawiam
Adamzrk - 09-12-2005 19:54
help me :(
Lucyna Witkowska - 09-12-2005 19:54
Adamzrk <adamzrk@gazeta.pl> napisał: > dostaję dla większych zdjęć wyjatek: > java.sql.SQLException: Rozmiar danych jest większy niż maksymalny, > dopuszczalny dla tego typu: 205750
> Z tego co dowiedziałem się nie można przekazywać więcej niż 32 kb. I to jest > mój problem - czy da sie jakoś to ograniczenie zmienić? Bo ja jeszcze się > super na administracji oraclem nie znam i nie wiem jak to osiągnać. Jeśli > dodaję jakiegoś bloba za pomocą OraclePreparedStatement wszystko jest ok. > Może coś z kolekcjami, nested table? Będę wdzięczny za pomoc.
Wersja bazy? Pozdrowienia, LW
Adamzrk - 09-12-2005 19:54
Użytkownik "Lucyna Witkowska" <ypwitkow@nospamcyf-kr.edu.pl> napisał w wiadomości news:dnbb57$d57$1@srv.cyf-kr.edu.pl... > Adamzrk <adamzrk@gazeta.pl> napisał: >> dostaję dla większych zdjęć wyjatek: >> java.sql.SQLException: Rozmiar danych jest większy niż maksymalny, >> dopuszczalny dla tego typu: 205750 > >> Z tego co dowiedziałem się nie można przekazywać więcej niż 32 kb. I to >> jest >> mój problem - czy da sie jakoś to ograniczenie zmienić? Bo ja jeszcze się >> super na administracji oraclem nie znam i nie wiem jak to osiągnać. Jeśli >> dodaję jakiegoś bloba za pomocą OraclePreparedStatement wszystko jest ok. >> Może coś z kolekcjami, nested table? Będę wdzięczny za pomoc. > > Wersja bazy? > Pozdrowienia, > LW
Oracle 9i release 2 Używam sterownika jdbc z oracle 10g, gdyż z tym z 9i wstawianie większych blobów zwykłym insertem do bazy nie działa
Pozdrawiam
Lucyna Witkowska - 09-12-2005 19:54
Adamzrk <adamzrk@gazeta.pl> napisał: > Z tego co dowiedziałem się nie można przekazywać więcej niż 32 kb. I to jest > mój problem - czy da sie jakoś to ograniczenie zmienić?
Obawiam sie nie - to jest problem w przesyłaniu BLOBa do procedury PL/SQL. Myslałam, ze to zmienili, ale w podreczniku do JDBC (10g) dalej jest to ograniczenie. Pozdrowienia, LW
Adamzrk - 09-12-2005 19:55
Użytkownik "Lucyna Witkowska" <ypwitkow@nospamcyf-kr.edu.pl> napisał w wiadomości news:dnbtja$ja7$1@srv.cyf-kr.edu.pl... > Adamzrk <adamzrk@gazeta.pl> napisał: >> Z tego co dowiedziałem się nie można przekazywać więcej niż 32 kb. I to >> jest >> mój problem - czy da sie jakoś to ograniczenie zmienić? > > Obawiam sie nie - to jest problem w przesyłaniu BLOBa do procedury PL/SQL. > Myslałam, ze to zmienili, ale w podreczniku do JDBC (10g) dalej jest to > ograniczenie. > Pozdrowienia, > LW
Hmm... Dziwne jest dla mnie aby ograniczać rozmiar BLOBa przekazywanego do procedury. A istnieje jakiś inny sposób aby wstawić BLOBa (lub kilka) jako element kolekcji do obiektu w bazie inaczej niż procedurą składowaną? Ps. jaki to podręcznik?
Pozdrawiam
Lucyna Witkowska - 09-12-2005 19:55
Adamzrk <adamzrk@gazeta.pl> napisał: > Ps. jaki to podręcznik?
tahiti.oracle.com JDBC Developer's Guide and Reference 10g release 1
Pozdrowienia, LW
Adamzrk - 09-12-2005 19:55
Użytkownik "Lucyna Witkowska" <ypwitkow@nospamcyf-kr.edu.pl> napisał w wiadomości news:dnc59h$mmg$1@srv.cyf-kr.edu.pl... > Adamzrk <adamzrk@gazeta.pl> napisał: >> Ps. jaki to podręcznik? > > tahiti.oracle.com > JDBC Developer's Guide and Reference 10g release 1 > > Pozdrowienia, > LW
Trudno zrezygnuję z kolekcji. Będzie zwykła tabela z BLOBami. Dzięki za pomoc.
Pozdrawiam
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?=
Oracle 19g +Insert +Insert +Insert...
[oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?=
[Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?=
=?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?=
[oracle] czy da =?ISO-8859-2?Q?si=EA_z_poziomu_procedury_?==?ISO-8859-2?Q?zrobi=E6_kopi=EA_zapasow=B1=3F?=
[oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?=
MSSQL Express czy Oracle Express
=?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?=
=?ISO-8859-2?Q?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?=
zanotowane.pldoc.pisz.plpdf.pisz.ploefg.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|