czwartek, 4 grudnia 2014

Open Office - MySQL

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

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)

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.
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'@'%'

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.

MySQL - Open Office - Instalacja
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 Apache Open Office
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.

Instalacja rozszerzenia MySQL - Open Office
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:

Dane MySQL w Open Office
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 OpenOffice
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.

Open Office - MySQL - Połącz bezpośrednio
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
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 - Open Office
Konfiguracja połączenia MySQL - Skonfiguruj uwierzytelnienie użytkownika

Test połączenia MySQL Open Office
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
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.


OpenOffice - rozszerzenie MySQL
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.

Tabela danych MySQL - Open Office
Wprowadzanie, modyfikacja, usuwanie wierszy danych MySQL w Open Office

 
Kreator kwerendy Open Office
Kreator kwerendy Open Office





Brak komentarzy:

Prześlij komentarz