bazy danych
42
maj 2004
Sybase SQL
Anywhere Studio 9.0
Wojciech Zaremba
S
ybase SQL Anywhere Studio
(SAS) to zestaw narzędzi do
tworzenia i zarządzania bazami
danych na urządzeniach stacjo-
narnych i mobilnych. Jego najważniejszym
elementem jest Sybase Adaptive Server
Anywhere (ASA), relacyjna baza danych
o niewielkich wymaganiach sprzętowych.
ASA to oprogramowanie, które zawie-
ra w sobie wszystkie cechy współczesnych
profesjonalnych baz danych, czyli wyzwa-
lacze bazodanowe (triggery), funkcje, pro-
cedury, wykonywanie kopii zapasowych
oraz transakcyjność. Zapewnia wysoką
wydajność w przetwarzaniu danych
poprzez wykorzystywanie technologii
SMP (Symmetric Multiprocessing System).
Posiada wsparcie dla środowiska .NET,
języka XML i Java oraz usług sieciowych.
Ponadto, ASA jest systemem łatwym
do uruchomienia – jego instalacja prze-
biega prawie automatycznie, podobnie
jak konfiguracja.
W tym artykule chciałbym pokazać,
jak zacząć pracę z tym ciekawym opro-
gramowaniem.
Przed instalacją
Wersja SQL Anywhere Studio, którą wyko-
rzystamy w artykule, jest tzw. wersją dewe-
loperską. Oznacza to, że możemy używać
jej za darmo podczas procesu tworze-
nia i testowania aplikacji/programów, ale
nie możemy wykorzystywać jej legalnie
w środowisku produkcyjnym.
Aby uaktywnić wersję deweloperską,
musimy zarejestrować się pod adresem
http://www.sybase.pl/ASA9. Dzięki temu
uzyskamy klucz. Bez niego, produkt bę-
dziemy mogli zainstalować w wersji ewa-
luacyjnej, działającej tylko przez 60 dni.
Instalator SQL Anywhere Studio nie
wymaga od nas uprawnień administratora
(roota).
Producent zaleca instalację oprogra-
mowania w katalogu /opt/sybase/SYBS-
sa9, ale nie jest to konieczne (ja insta-
lowałem w katalogu /sybase). Wymaga-
ne jest natomiast, abyśmy posiadali
prawa zapisu/odczytu w katalogu,
w którym będziemy instalować produkt.
Ponadto, jeżeli będziemy uruchamiali
serwer jako inny użytkownik, to powi-
nien on mieć prawa dostępu do wyma-
ganych plików/katalogów.
SQL Anywhere Studio oczekuje
jądra Linux w wersji co najmniej 2.4.18
(przy instalacji na maszynach z więcej
niż jednym procesorem – SMP) lub co
najmniej 2.4.2 (dla jednoprocesorowych
maszyn). Niezbędna jest również obec-
ność biblioteki NCurses 5.2.
Kompletna instalacja zajmuje ok.
140 MB, bez naszych baz danych.
Wszystkie zrzuty ekranu prezentowa-
ne w tym artykule pochodzą ze środo-
wiska GNOME i systemu operacyjnego
Aurox Linux 9.2.
Instalacja
Plik, z którego instalujemy SAS, ma
nazwę asaeval9linux_x86.tar.gz. Kopiu-
jemy go np. do katalogu /tmp, a następ-
nie rozpakowujemy poleceniem
tar xzvf
asaeval9linux_x86.tar.gz
. W wyniku
otrzymujemy katalog o nazwie SYBSa-
Na płycie DVD
Na płycie DVD znajduje się
pakiet instalacyjny Sybase SQL
Anywhere Studio 9 w wersji
deweloperskiej.
Rysunek 1.
Ekran powitalny instalatora
SAS-a
bazy danych
sybase sas
43
www.linux.com.pl
saEval, do którego przechodzimy. Two-
rzymy jeszcze katalog /sybase, w którym
będziemy instalować oprogramowanie
(jako root wykonujemy:
mkdir /sybase ;
chmod a+rwx /sybase
).
Program instalacyjny uruchamiamy
poleceniem
./setup
. Pojawi się ekran
powitalny (Rysunek 1), na którym wci-
skamy klawisz [Enter].
Kolejny ekran informuje nas o tym,
że jeżeli nie podamy klucza, to ta wersja
pozostanie wersją ewaluacyjną, a nie
deweloperską.
Wciskamy [Enter] i wybieramy region,
w którym mieszkamy: Polska to numer 31
(Europe, Middle East, and Africa – Gene-
ral).
Następnie możemy przeczytać i zaak-
ceptować licencję, na której jest udostęp-
niany omawiany produkt. Jeżeli nam ona
odpowiada, to wciskamy klawisz [Y ],
a jeśli nie, to klawisz [N ]. Po wybraniu
klawisza [N ], instalacja kończy się.
Po wybraniu klawisza [Y ] pojawia się
prośba o podanie 25- znakowego klucza
otrzymanego po rejestracji. Jeżeli go
posiadamy, to wpisujemy go. W przeciw-
nym razie będziemy instalować wersję
ewaluacyjną.
W dalszej części pojawi się ekran
(Rysunek 2), na którym możemy okre-
ślić opcje instalacji. Domyślnie wszystkie
z opcji są wybrane, ale możemy część z
nich pominąć, np. narzędzia do replikacji.
Po wybraniu żądanych opcji, insta-
lację zaczynamy wciskając klawisz [S ].
Podajemy katalog, w którym chcemy
umieścić instalowane pliki (np. wcze-
śniej utworzony /sybase), oraz katalog,
w którym będą trzymane pliki wspólne
(np. /sybase/shared).
Na koniec potwierdzamy opcje insta-
lacji oraz wybrane katalogi wciskając kla-
wisz [Y ]. Instalator sprawdzi ilość dostęp-
nego miejsca na dysku i rozpocznie insta-
lację (musimy jeszcze dwa razy wcisnąć
klawisz [Enter]).
Po instalacji
Aby skorzystać z zainstalowanego SQL
Anywhere Studio, musimy ustawić jesz-
cze odpowiednie zmienne środowiskowe.
W zależności od używanej powłoki, uru-
chamiamy plik asa_config.sh lub asa_con-
fig.csh (np.
. /sybase/bin/asa_config.sh
).
Jeżeli chcemy użytkować serwer „na stałe”,
to najlepiej dodać wywołanie tego skryptu
do pliku rc.local z katalogu /etc/rc.d.
Użytkowanie
To, co wykonaliśmy do tej pory, było samą
instalacją oprogramowania SQL Anywhe-
re Studio. Teraz musimy uruchomić serwer
baz danych i podłączyć do niego istnieją-
cą bazę (albo stworzyć nową). W katalo-
gu /sybase/bin znajdują się programy słu-
żące do zarządzania serwerem baz danych
Adaptive Server Anywhere. Dla nas naj-
ważniejsze z nich to: dbeng9 oraz dbsrv9.
Obydwa uruchamiają serwer bazy danych,
ale dbeng9 pozwala tylko na łączenie się
z serwerem z lokalnej maszyny, nato-
miast dbsrv9 nie ma takiego ograniczenia.
Najprostsza składnia to:
./dbsrv9 <plik_bazy_danych>
Przykładowo, uruchomienie załączonej
bazy demonstracyjnej wygląda tak, jak
na Rysunku 3.
W naszym przypadku baza danych
będzie nazywała się tak samo jak plik
– ka (bo nie podaliśmy nazwy), a serwer
bazodanowy (jego instancja) przejmie
nazwę bazy danych (bo też nie poda-
liśmy żadnej nazwy dla serwera). Te
parametry można oczywiście określić
przy uruchamianiu serwera, na równi
z innymi (np. ilością pamięci zadeklarowa-
nej na początek). Dokładny opis dostęp-
nych parametrów uzyskamy przy próbie
uruchomienia
dbsrv9
bez parametrów.
Rysunek 2.
Opcje instalacji SAS-a
Rysunek 3.
Uruchomienie przykładowej
bazy danych w ASA
Rysunek 4.
Sybase Central z SAS-a
Sybase Central
Sybase Central jest graficznym narzę-
dziem napisanym w języku Java. Umoż-
liwia ono wykonywanie wszystkich czyn-
ności administracyjnych dotyczących
komponentów SQL Anywhere Studio,
poczynając od tworzenia baz danych,
poprzez ich administrację, replikację, two-
rzenie tabel, indeksów, procedur wbudo-
wanych, aż do zarządzania wydajnością.
Jest intuicyjne, proste w obsłudze.
bazy danych
44
maj 2004
Bardzo pomocnym narzędziem admi-
nistratora jest Sybase Central (opis w
ramce Sybase Central). Uruchamia się go
w następujący sposób:
/sybase/shared/sybcentral42/scjview
Instalacja aplikacji
W celu zademonstrowania działania bazy
danych Adaptive Server Anywhere stwo-
rzyłem w języku PHP prostą aplikację
typu Książka Adresowa.
Sybase na platformę linuksową dostar-
cza własne sterowniki ODBC, które
posłużą nam także za menedżera ODBC
(w przypadku, gdy nie używamy innych
menedżerów typu iODBC czy uniODBC).
Instalacja tej aplikacji będzie składała
się z czterech kroków.
Konfiguracja ODBC
Przechodzimy do katalogu lib w katalogu
instalacyjnym SQL Anywhere Studio:
$ cd /sybase/lib
Aby system rozpoznawał sterowniki jako
menedżera ODBC, musimy stworzyć
kilka dowiązań symbolicznych:
$ ln –s libdbodbc9.so.1 libodbc.so
$ ln –s libdbodbc9.so.1 libodbc.so.1
$ ln –s libdbodbc9.so.1 libodbcinst.so
$ ln –s libdbodbc9.so.1 libodbcinst.so.1
a następnie ustawić odpowiednie zmien-
ne środowiskowe:
$ export CFLAGS=”-DODBC_UNIX”
$ export CUSTOM_ODBC_LIBS=”-lodbc”
Rysunek 5.
Przykładowa aplikacja
współpracująca z ASA
Konfiguracja i rekompilacja
PHP wraz ze sterownikami
ODBC Sybase
Uwaga! W celu wykonania poniższych
czynności, musimy posiadać kod źródło-
wy PHP oraz poprawnie skompilowany
i zainstalowany serwer Apache.
Konfigurujemy, kompilujemy i instalu-
jemy PHP jako moduł Apache:
$./configure –with-custom-odbc=katalog_do
_instalacji_sybase –with-apxs=katalog_do_
apxs
$ make ; make install
Musimy jeszcze ustawić zmienną środo-
wiskową, w której jest przechowywany
plik .odbc_ini:
$ export ODBC_INI= ~/.odbc_ini
Dodajemy wpisy dotyczące PHP do pliku
konfiguracyjnego Apache (jeżeli jeszcze
tego nie zrobiliśmy):
LoadModule php4_module libexec/libphp4.so
AddModule mod_php4.c
AddType application/x-httpd-php .php
Generowanie pliku DSN
(Data Source Name)
Generowanie pliku DSN polega na wyko-
naniu polecenia:
./dbdsn –w <nazwa_dsn> -c „uid=
S
użytkownik;pwd=hasło;Driver=<katalog_
S
instalacyjny_sybase>/lib/ibdbodbc9.so;
S
dbf=<sciezka_do_bazy>”
czyli w naszym przypadku:
./dbdsn –w ka -c „uid=dba;pwd=sql;
S
Driver=/sybase/lib/libdbodbc9.so.1;
S
dbf=/www/ka.db”
Dodaje ono w pliku .odbc.ini odpowied-
nie wpisy. Od tej chwili będziemy mogli
wywoływać połączenie do bazy danych
używając tylko etykiety nazwa_dns, bez
potrzeby podawania sterownika, nazwy
użytkownika oraz hasła.
Przykładowy (minimalny) plik .odbc.ini
wygląda tak, jak na Listingu 1.
Instalacja i uruchomienie
aplikacji
Aplikacja składa się z plików bazy danych
(ka.db, ka.log) oraz skryptów PHP.
W katalogu używanym przez nasz serwer
WWW (w moim przypadku Apache,
zainstalowany lokalnie, którego parametr
DocumentRoot jest ustawiony na /www)
tworzymy podkatalog, np. o nazwie ka,
do którego kopiujemy skrypty PHP i bazę.
Po poprawnym zainstalowaniu SQL
Anywhere Studio, powinniśmy móc uru-
chomić serwer baz danych. Jako parametr
podajemy po prostu plik bazy danych,
czyli ks.db:
$ cd /sybase/bin
$ ./dbsrv9 /www/ka.db
Apache powinien mieć poprawnie skonfi-
gurowane PHP. Uruchamiamy przeglądar-
kę i wywołujemy adres serwera i katalogu,
np. http://localhost/ka/index.php. Urucho-
mi się aplikacja, która od razu podłączy się
do naszej bazy danych – Rysunek 5.
Jeżeli wystąpi błąd z połączeniem, to
musimy sprawdzić, czy działa nasz serwer
ASA, czy plik .odbc_ini istnieje i jest
poprawny, oraz czy Apache ma dostęp do
naszego pliku .odbc.ini.
W aplikacji możemy dodawać, edyto-
wać i usuwać osoby, łącznie z ich adre-
sem, telefonem oraz emailem.
Aplikacja wykorzystuje podstawowe
możliwości bazy ASA (tj. przechowywanie
danych) i jest przykładem, że podłączenie
do SQL Anywhere Studio nie jest trudne.
Uwagi
Jeżeli mamy zainstalowany SQL Anywhe-
re Studio w wersji wcześniejszej, to jest
zalecane, aby usunąć go przed instalacją
wersji 9. Jeżeli tego nie wykonamy, to
możemy napotkać problemy z różnicami
wersji w zasobach językowych i współ-
dzielonych bibliotekach.
ASA i ODBC
Do serwera ASA najłatwiej podłączyć
się poprzez interfejs ODBC. Jest to ste-
rownik rodzimy dla tego produktu. Dzięki
wykorzystywaniu ODBC, mamy moż-
liwość prostego przeniesienia aplikacji
używających innych baz danych na bazę
ASA. Oczywiście, mogą wystąpić małe
nieprawidłowości w składni poleceń SQL
– ASA jest bazą o rozbudowanym języku
SQL (zgodnym ze standardem ANSI92).
Listing 1.
Przykładowy (minimalny) plik
.odbc.ini
[ODBC Data Sources]
ka=Adaptive Server Anywhere 9.0
[ka]
ServerName=ka
Driver=/sybase/lib/libdbodbc9.so.1
DatabaseName=ka
W Internecie:
• Strona domowa firmy Sybase:
http://www.sybase.pl/