2004.05_Sybase SQL Anywhere Studio 9.0_[Bazy Danych].pdf

(423 KB) Pobierz
332759562 UNPDF
bazy danych
Sybase SQL
Anywhere Studio 9.0
Wojciech Zaremba
(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.
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-
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).
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
42
maj 2004
S ybase SQL Anywhere Studio
332759562.020.png 332759562.021.png 332759562.022.png
 
332759562.001.png 332759562.002.png 332759562.003.png 332759562.004.png
sybase sas
bazy danych
Rysunek 2. Opcje instalacji SAS-a
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 ]).
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 ].
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 .
Rysunek 3. Uruchomienie przykładowej
bazy danych w ASA
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.
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-
Sybase Central
Sybase Central jest graicznym 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.
Rysunek 4. Sybase Central z SAS-a
www.linux.com.pl
43
332759562.005.png 332759562.006.png 332759562.007.png 332759562.008.png 332759562.009.png 332759562.010.png 332759562.011.png 332759562.012.png
 
bazy danych
Rysunek 5. Przykładowa aplikacja
współpracująca z ASA
Koniguracja 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:
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).
Bardzo pomocnym narzędziem admi-
nistratora jest Sybase Central (opis w
ramce Sybase Central ). Uruchamia się go
w następujący sposób:
$./configure –with-custom-odbc=katalog_do
_instalacji_sybase –with-apxs=katalog_do_
apxs
$ make ; make install
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 :
/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.
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):
$ cd /sybase/bin
$ ./dbsrv9 /www/ka.db
LoadModule php4_module libexec/libphp4.so
AddModule mod_php4.c
AddType application/x-httpd-php .php
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.
Koniguracja ODBC
Przechodzimy do katalogu lib w katalogu
instalacyjnym SQL Anywhere Studio:
Generowanie pliku DSN
(Data Source Name)
Generowanie pliku DSN polega na wyko-
naniu polecenia:
$ cd /sybase/lib
./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>”
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
czyli w naszym przypadku:
./dbdsn –w ka -c „uid=dba;pwd=sql; S
Driver=/sybase/lib/libdbodbc9.so.1; S
dbf=/www/ka.db”
a następnie ustawić odpowiednie zmien-
ne środowiskowe:
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.
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.
$ export CFLAGS=”-DODBC_UNIX”
$ export CUSTOM_ODBC_LIBS=”-lodbc”
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
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
W Internecie:
• Strona domowa irmy Sybase:
http://www.sybase.pl/
44
maj 2004
332759562.013.png 332759562.014.png 332759562.015.png 332759562.016.png 332759562.017.png 332759562.018.png 332759562.019.png
 
Zgłoś jeśli naruszono regulamin