Strona 1 z 1

Typ pola w tabeli

: śr kwie 25, 2018 11:28 am
autor: erper
Witam,
Słabo znam LO Base stąd moje pytanie. Jaki typ pola ustawić w tabeli, żeby przechowywała linki do plików z obrazami .jpg (skany znaczków). Pytam, gdyż pierwotnie ustawiłem na LONGVARBINARY i skany wchodzą jako OBIECT, ale po jakimś czasie cały system się "wywala" z komunikatem o błędzie "S1000 general error java.lang. nullpointerexception in statement". Na angielskojęzycznym forum znalazłem post wyjaśniający, że po zapisaniu w tabeli większej liczby obrazów java często tego nie wytrzymuje i zawiesza system, usuwając przy tym część rekordów. Czegoś takiego właśnie doświadczyłem. Chciałbym zmienić typ pola na taki, który pozwoliłby przechowywać linki do plików z obrazami (w formularzu klikam na obraz, a w tabeli zapisuje się link do niego). Chciałbym mieć możliwość wyświetlenia obrazu w formularzu i kwerendzie, utworzonych na podstawie tabeli z takim linkiem. Próbowałem z polem typu VARCHAR, ale wówczas w formularzu i kwerendzie wyświetla się tylko tekst, a nie obrazek.
Będę wdzięczny za pomoc i podpowiedź. Tylko proszę o taką dla laika, a nie gościa biegłego w programowaniu itp.

erper :D

Re: Typ pola w tabeli

: śr kwie 25, 2018 1:27 pm
autor: Jan_J
Base nie jest bazą danych, tylko dość ograniczonym interfejsem do baz danych.
Domyślnie współpracuje z wbudowaną w LibreOffice bazą HSQL DB w nieco przestarzałej wersji 1.8.
Potrafi współpracować, przede wszystkim poprzez sterownik JDBC, z wieloma innymi bazami,
w tym z nie wymagającymi instalacji osobnego serwera JDBC 2.x oraz Firebird, ale także z klasycznymi serwerowymi MySQL, MariaDB oraz PostgreSQL.
W eksperymentalnych opcjach znajduje się możliwość obsługi wbudowanej bazy Firebird. Firebird jest dojrzałym i stabilnym systemem relacyjnych baz plikowych. Eksperymentalny jest interfejs, co oznacza brak gwarancji na kontynuację sposobu współpracy obu modułów w przyszłych wydaniach.
Oprócz tego, Firebirda da się uzywać poprzez sterownik JDBC (https://firebirdsql.org/en/jdbc-driver/) jako bazę zewnętrzną. Wtedy plik Base'a .odb nie mieści samej bazy, tylko odwołuje się do niej jako do osobnego pliku.
Podobnie da się korzystać z nowszej wersji HSQL DB. Trochę więcej o tej możliwości napisano w https://forum.openoffice.org/en/forum/v ... 13&t=55220

Re: Typ pola w tabeli

: śr kwie 25, 2018 4:14 pm
autor: erper
Dziękuję za tę odpowiedź. Na forum angielskojęzycznym znalazłem post odnoszący się do podobnych kłopotów jak moje, w którym autor radzi zainstalowanie pakietu Split_HSQLDB_2.3.3+Wizard_v3d.odb. Ale jeśli zainstaluję sobie np. Firebirda, to czy będę musiał od podstaw tworzyć to wszystko co mam w LO Base (tabele- wypełnione już rekordami, formularze, kwerendy), czy też jest możliwość przeniesienia tego do Firebirda. LO Base w zasadzie nie daje możliwości eksportu i importu danych. To co można w nim zrobić (tak wyczytałem w "Pomocy") to - chcąc wyeksportować: skopiować zawartość tabel, wkleić je do arkusza "Calc" ; chcąc zaimportować - skopiować dane z arkusza "Calc" i wkleić je jako rekordy do tabeli w "Base". Ale będą one "Tylko do odczytu", bez możliwości edycji.
Z góry dziękuję za rzeczową poradę.
erper

Re: Typ pola w tabeli

: śr kwie 25, 2018 8:21 pm
autor: belstar
Spróbuj tego rozwiązania, może spełni twoje wymogi. Kiedyś pobrałem z angielskiego forum, autora nie znam.

Re: Typ pola w tabeli

: pt kwie 27, 2018 11:56 am
autor: erper
Dziękuję za tę podpowiedź. Spróbuję - może Java przestanie sygnalizować błąd i usuwać już zapisane rekordy z bazy.
erper

<SOLVED>Re: Typ pola w tabeli

: pt kwie 27, 2018 2:20 pm
autor: erper
Rozwiązanie podesłane przez "belstara" z forum angielskojęzycznego nie zadziałało tak jak bym chciał, ale jeszcze raz przeszukałem net wreszcie znalazłem to czego chciałem, tzn. rozwiązania dla zapisywania w bazie linków do plików graficznych, taż żeby w formularzach i kwerendach były widoczne obrazki. Teraz tylko czeka mnie trochę pracy żeby wprowadzić zmiany w dotychczasowych tabelach, ale nie stracę żadnego z wprowadzonych już rekordów. Jeśli ktoś miałby podobny przypadek, to poniżej link z rozwiązaniem:
https://www.youtube.com/watch?v=IsHqqvn2zYg

erper