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
Typ pola w tabeli
Typ pola w tabeli
LibreOffice 5.4.6.2(x64); Win10 (x64; komp 1709)
Re: Typ pola w tabeli
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
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
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Typ pola w tabeli
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
Z góry dziękuję za rzeczową poradę.
erper
LibreOffice 5.4.6.2(x64); Win10 (x64; komp 1709)
Re: Typ pola w tabeli
Spróbuj tego rozwiązania, może spełni twoje wymogi. Kiedyś pobrałem z angielskiego forum, autora nie znam.
- Załączniki
-
- picture_links.zip
- (92.8 KiB) Pobrany 181 razy
LibreOffice 5.1.2.2 Ubuntu 16 LTS
Re: Typ pola w tabeli
Dziękuję za tę podpowiedź. Spróbuję - może Java przestanie sygnalizować błąd i usuwać już zapisane rekordy z bazy.
erper
erper
LibreOffice 5.4.6.2(x64); Win10 (x64; komp 1709)
<SOLVED>Re: Typ pola w tabeli
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
https://www.youtube.com/watch?v=IsHqqvn2zYg
erper
LibreOffice 5.4.6.2(x64); Win10 (x64; komp 1709)