Dane jpg, pdf i baza Firebird

0

Czy jest możliwośc zapisu danych (zdjęć w jpg, pdf) w bazie danych Firebird? Znalazłem coś takiego:

Typ danych: image
Firebird: BLOB
Opis: Variable-length binary data with a maximum length of 231 - 1 (2,147,483,647) bytes.

Czy w tym polu danych można zapisać jpg? i jak to zrobić w javie? zwykłym insertem?

Prosze o odesłanie do jakiś przykładów, materiałów nic sensownego nie udało sie sie odszukać.

0

To juz dawno znalazłem ale coś nie działa:

To mój kod:

ArrayList <Licznik> lista_konfiguracja = new ArrayList<Licznik>();
lista_konfiguracja = new ArrayList<Licznik>(EmployeeListDecorator_konfiguracja.readList("konfiguracja.txt"));
String sciezka_do_bazy=(lista_konfiguracja.get(1)._licznik);
String STEROWNIK ="org.firebirdsql.jdbc.FBDriver";
String databaseURL = "jdbc:firebirdsql://"+sciezka_do_bazy;
Properties props = new Properties();
props.put("user", "apw_user");
props.put("password", "apw_user");
props.put("charSet", "Cp1250");
Connection polaczenie=DriverManager.getConnection(databaseURL,props);
polaczenie.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
PreparedStatement pstmt = null;

    pstmt = polaczenie.prepareStatement( "Insert into pliki values"+" (?,?)");
    pstmt.setString(1, "Testowy");
    pstmt.setBlob(2, new FileInputStream("c:/updaty.txt"));
    pstmt.executeUpdate();

Niby wszystko ok ale nie rusza ;/

Znalzalem tez inne przykłądy ale niestety to mój kod:

ArrayList <Licznik> lista_konfiguracja = new ArrayList<Licznik>();
lista_konfiguracja = new ArrayList<Licznik>(EmployeeListDecorator_konfiguracja.readList("konfiguracja.txt"));
String sciezka_do_bazy=(lista_konfiguracja.get(1)._licznik);
String STEROWNIK ="org.firebirdsql.jdbc.FBDriver";
String databaseURL = "jdbc:firebirdsql://"+sciezka_do_bazy;
Properties props = new Properties();
props.put("user", "apw_user");
props.put("password", "apw_user");
props.put("charSet", "Cp1250");
Connection polaczenie=DriverManager.getConnection(databaseURL,props);
polaczenie.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
PreparedStatement pstmt = null;

    pstmt = polaczenie.prepareStatement("insert into pliki(nazwa, plik) values (?, ?)");

    FileInputStream fis = null;
    PreparedStatement ps = null;
    File file = new File("c:/updaty.txt");
    fis = new FileInputStream(file);
    pstmt.setString(1, "Testowy");
    ps.setBinaryStream(2, fis, (int) file.length());
    pstmt.executeUpdate();
   
    System.out.println("Dodano!!!!!!!!");

SQL:

CREATE TABLE pliki
(
nazwa VARCHAR(200),
plik BLOB sub_type 0
);

Uprawnienia oczywiście nadane, nie moge rozgryść dlaczego to nie działa ;/

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