Wstęp
Apache Open Office to nie tylko świetny i zupełnie darmowy pakiet biurowy, idealnie zastępujący drogie aplikacje Microsoft, ale co najwazniejsze, jest to bardzo dobrze zaprojektowane i otwarte na modułową rozbudowę oprogramowanie, które, za pomocą drobnych dodatków, bez większego wysiłku można połączyć z innymi aplikacjami, w tym także z serwerem MySQL.
W tym artykule wyjaśnię jak połączyć się z serwerem bazy danych MySQL (w tym konkretnym przypadku MariaDB) z poziomu Open Office oraz w jaki sposób pozyskiwać dane do arkusza kalkulacyjnego z wybranej bazy danych i tabeli.
Stosowane wersje oprogramowania
W celach niniejszego artykułu zastosowałem poniżej wymienione oprogramowanie:
Komputer z zainstalowanym pakietem OpenOffice
System operacyjny Windows 8.1 Pro;
Apache Open Office v. 4.0.1;
Sterownik (rozszerzenie) MySQL do Apache Open Office, v. 1.2.0 - do pobrania tutaj
Serwer MySQL
System operacyjny Linux Centos 7.0 x86_64;
Serwer MariaDB v. 5.5.40
Firewall
Jeżeli na serwerze uruchomione jest oprogramowanie pełniące rolę firewalla, to należy umożliwić nawiązanie połączenia mysql z serwerem, poprzez dodanie odpowiednich reguł lub portów.
Przykładowo, w przypadku stosowania Firewalld, w zależności od skonfigurowanych w oprogramowaniu stref, można posłużyć się poleceniem typu:
[root@filemon1 ~]# firewall-cmd --permanent --zone=internal --add-service mysql
success
success
Utworzenie bazy danych i tabeli na serwerze MySQL
Na serwerze MySQL należy utworzyć nową bazę danych i wymagane tabele i ewentualnie wprowadzić do tabeli początkowe dane. Dla przykładu tworzę bazę danych noszącą nazwę OpenOffice, oraz jedną bardzo prostą, przykładową tabelę o nazwie kartoteka, do której wprowadzam kilka początkowych wierszy danych.
[root@filemon1 ~]# mysql -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3624
Server version: 5.5.40-MariaDB MariaDB Server
Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database OpenOffice;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> use OpenOffice;
Database changed
MariaDB [OpenOffice]> create table kartoteka (
-> id tinyint unsigned not null auto_increment primary key,
-> nazwisko varchar(30) not null,
-> imie varchar(20) not null,
-> adres varchar(40) not null,
-> miasto varchar(20) not null
-> ) engine=InnoDB charset utf8;
Query OK, 0 rows affected (0.08 sec)
MariaDB [OpenOffice]> insert into kartoteka values('','Kowalski','Jan','ul. Kowalskiego Jana, 1','Warszawa'),('','Kowalski','Janek','ul. Kowalskiego Janka, 1','
Warszawa'),('','Kowalski','Jasiek','ul. Kowalskiego Jaśka, 1','Warszawa');
Query OK, 3 rows affected, 3 warnings (0.02 sec)
Records: 3 Duplicates: 0 Warnings: 3
MariaDB [OpenOffice]> select * from kartoteka;
+----+----------+--------+---------------------------+----------+
| id | nazwisko | imie | adres | miasto |
+----+----------+--------+---------------------------+----------+
| 1 | Kowalski | Jan | ul. Kowalskiego Jana, 1 | Warszawa |
| 2 | Kowalski | Janek | ul. Kowalskiego Janka, 1 | Warszawa |
| 3 | Kowalski | Jasiek | ul. Kowalskiego Jaśka, 1 | Warszawa |
+----+----------+--------+---------------------------+----------+
3 rows in set (0.00 sec)
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3624
Server version: 5.5.40-MariaDB MariaDB Server
Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database OpenOffice;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> use OpenOffice;
Database changed
MariaDB [OpenOffice]> create table kartoteka (
-> id tinyint unsigned not null auto_increment primary key,
-> nazwisko varchar(30) not null,
-> imie varchar(20) not null,
-> adres varchar(40) not null,
-> miasto varchar(20) not null
-> ) engine=InnoDB charset utf8;
Query OK, 0 rows affected (0.08 sec)
MariaDB [OpenOffice]> insert into kartoteka values('','Kowalski','Jan','ul. Kowalskiego Jana, 1','Warszawa'),('','Kowalski','Janek','ul. Kowalskiego Janka, 1','
Warszawa'),('','Kowalski','Jasiek','ul. Kowalskiego Jaśka, 1','Warszawa');
Query OK, 3 rows affected, 3 warnings (0.02 sec)
Records: 3 Duplicates: 0 Warnings: 3
MariaDB [OpenOffice]> select * from kartoteka;
+----+----------+--------+---------------------------+----------+
| id | nazwisko | imie | adres | miasto |
+----+----------+--------+---------------------------+----------+
| 1 | Kowalski | Jan | ul. Kowalskiego Jana, 1 | Warszawa |
| 2 | Kowalski | Janek | ul. Kowalskiego Janka, 1 | Warszawa |
| 3 | Kowalski | Jasiek | ul. Kowalskiego Jaśka, 1 | Warszawa |
+----+----------+--------+---------------------------+----------+
3 rows in set (0.00 sec)
Tworzenie użytkownika MySQL oraz nadawanie uprawnień
Należy utworzyć użytkownika MySQL, który będzie stosowany do połączeń z serwerem z programu OpenOffice. Należy nadać użytkownikowi hasło oraz odpowiednie uprawnienia, w zależności od potrzeb:
MariaDB [(none)]> grant usage on *.* to 'OpenOfficeUser'@'%' identified by 'OpenOfficePass';
Query OK, 0 rows affected (0.02 sec)
MariaDB [(none)]> grant insert, select, update, delete on OpenOffice.kartoteka to 'OpenOfficeUser'@'%';
Query OK, 0 rows affected (0.00 sec)
Powyższe polecenie GRANT powoduje nadanie przykłądowych uprawnień (wstawianie wierszy danych, odczyt wierszy danych, aktualizacja danych oraz usuwanie danych) użytkownikowi o nazwie OpenOfficeUser (łączącego się z serwerem MySQL z dowolnego hosta) do tabeli kartoteka, należącej do bazy danych o nazwie OpenOffice. Posługując się poleceniem GRANT można nadawać utworzonemu uzytkownikowi dowolne uprawnienia.Query OK, 0 rows affected (0.02 sec)
MariaDB [(none)]> grant insert, select, update, delete on OpenOffice.kartoteka to 'OpenOfficeUser'@'%';
Query OK, 0 rows affected (0.00 sec)
Po pomyślnym utworzeniu użytkownika i nadaniu mu odpowiednich uprawnień warto wykonać polecenie FLUSH PRIVILEGES i sprawdzić aktualne uprawnienia użytkownika:
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.02 sec)
MariaDB [(none)]> show grants for 'OpenOfficeUser'@'%';
GRANT SELECT, INSERT, UPDATE, DELETE ON `OpenOffice`.`kartoteka` TO 'OpenOfficeUser'@'%'
Query OK, 0 rows affected (0.02 sec)
MariaDB [(none)]> show grants for 'OpenOfficeUser'@'%';
GRANT SELECT, INSERT, UPDATE, DELETE ON `OpenOffice`.`kartoteka` TO 'OpenOfficeUser'@'%'
Instalacja rozszerzenia MySQL dla pakietu Apache Open Office
Po ściągnięciu instalatora rozszerzenia MySQL należy go uruchomić. Gdy zostanie wyświetlony komunikat z prośbą o potwierdzenie instalacji rozszerzenia, w celu potwierdzenia należy kliknąć przycisk OK.
Potwierdzenie instalacji rozszerzenia MySQL dla Open Office - System Windows 8.1 |
Po zatwierdzeniu instalacji, aby kontynuować należy przewinąć w dół umowę licencyjną, a następnie ją zaakceptować.
Instalacja rozszerzenia MySQL dla Open Office - Akceptacja umowy licencyjnej |
Po dokonanej akceptacji umowy licencyjnej, powinno pojawić się okienko menedżera rozszerzeń Open Office, z nowo zainstalowanym rozszerzeniem MySQL. Oznacza to, że wszystko poszło świetnie i rozszerzenie MySQL dla Open Office zostało prawidłowo zainstalowane.
Menedżer rozszerzeń Open Office |
Konfiguracja połączenia z bazą danych MySQL
Aby nawiązać połączenie z istniejącą bazą danych MySQL na zdalnym serwerze MySQL, po pomyślnej instalacji rozszerzenia MySQL dla pakietu Apache Open Office, należy skorzystać z menu Open Office wybierając pozycję Plik->Nowy->Baza danych, w poniżej wskazany sposób:
Konfiguracja połączenia arkusza Open Office z bazą danych MySQL |
Po podjęciu wyżej opisanego kroku, zostaje uruchomiony kreator bazy danych, w którym należy wybrać opcję "Połącz z istniejącą bazą danych" oraz wybrać rodzaj bazy danych - MySQL - z listy wyboru obsługiwanych typów baz danych, jak pokazano poniżej. Aby zatwierdzić wybór należy kliknąć w przycisk "DALEJ".
Konfiguracja połączenia MySQL - Open Office - Wybierz bazę danych |
W następnym okienku, jak pokazano poniżej, zależy wybrać bezpośrednie połączenie z bazą danych oraz przejść do dalszych ustawień połączenia.
Konfiguracja połączenia MySQL - Open Office - Skonfiguruj połączenie MySQL |
Kolejnym kropiem jest uzupełnienie informacji dotyczących portu oraz adresu serwera MySQL. Należy wprowadzić nazwę bądź adres IP serwera MySQL oraz ustawiony na serwerze port dla połączeń mysql. Standardowo jest to port 3306.
Konfiguracja połączenia MySQL - Open Office - Adres i port serwera |
W kolejnym kroku należy wprowadzić nazwę użytkownika MySQL, który został utworzony na serwerze MySQL i który będzie stosowany do nawiązywania połączeń z serwerem MySQL z programu Open Office. Należy zaznaczyć wybór 'Wymagane Hasło' i przetestować połączenie przyciskiem 'Testuj połączenie'. Po wpisaniu nazwy użytkownika oraz hasła w okienku testu połączania, powinna się pojawić informacja o udanym nawiązaniu połączenia.
Konfiguracja połączenia MySQL - Skonfiguruj uwierzytelnienie użytkownika |
Wszystko wygląda OK |
W kolejnym kroku konfiguracji połączenia z serwerem MySQL należy wybrać opcję zarejestrowania bazy danych MySQL w programie OpenOffice.Wybranie tej opcji powoduje zarejestrowanie bazy danych w bieżącej instalacji pakietu OpenOffice. Po zarejestrowaniu baza staje się widoczna w oknie Widok - Źródła danych. Po wybraniu odpowiednich opcji należy wcisnąć przycisk 'Utwórz'.
Konfiguracja połączenie Open Office - MySQL - Zapisz i kontynuuj |
Po zapisaniu pliku konfiguracyjnego w wybranym folderze, utworzona uprzednio tabela, wraz z wprowadzonymi danymi, jest dostępna w OpenOffice. Aby uzyskać widok przedstawiony poniżej, należy przejść w menu głównym programu do pozycji widok->Źródła danych. Teraz dane z tabeli mogą być wykorzystywane do dowolnych zadań w programie Open Office.
Dane MySQL są dostępne w źródłach danych programu Open Office |
Wprowadzanie danych, modyfikacja, usuwanie oraz kwerendy
W zależności od nadanych utworzonemu użytkownikowi uprawnień za pomocą narzędzia GRANT, można teraz wyświetlać dane z tabeli, wprowadzać nowe wiersze danych, modyfikować istniejące dane, bądź nawet usuwać wiersze z tabeli. Można również tworzyć (przykładowo posługując się narzędziem o nazwie Kreator kwerendy Open Office) i uruchamiać dowolne kwerendy oparte na danych z tabeli MySQL.Wprowadzanie, modyfikacja, usuwanie wierszy danych MySQL w Open Office |
Kreator kwerendy Open Office |
Dobrze, że w mojej firmie na etacie jest informatyk i to wszystko ogarnia bez najmniejszego problemu. Jak dla mnie również ważne jest to jakie programy używamy. Przede wszystkim numerem jeden jest elektroniczny obieg dokumentów https://www.connecto.pl/jak-elektroniczny-obieg-dokumentow-wplywa-na-dzialanie-firmy/ bez którego aktualnie nie wyobrażam sobie dalszej pracy.
OdpowiedzUsuńBardzo fajny artykuł. Jestem pod wrażeniem.
OdpowiedzUsuńW odniesieniu do tematu obsługi komputera, warto zwrócić uwagę na mniej popularne funkcje, takie jak Scroll Lock. Jest to klawisz, który powoduje przewijanie tekstu lub obrazów w pionie na ekranie. Jeśli chcesz sprawdzić, czy twoja klawiatura ma ten klawisz, polecam zerknąć na stronę https://martwepiksele.pl/scroll-lock-co-robi-i-jak-wylaczyc/ i poczytać o jego funkcjach. Choć nie jest to często używana opcja, jest to dobrym pomysłem jest zapoznanie się z nią, aby w razie potrzeby móc z niej skorzystać.
OdpowiedzUsuń