background image

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

background image

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  [], 
a  jeśli  nie,  to  klawisz  [].  Po  wybraniu 
klawisza [], instalacja kończy się.

Po wybraniu klawisza [] 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  []. 

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 []. 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.

background image

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/