PHP
PHP KOULUTUSTA VUONNA 2008!
Kurssit saatavilla kautta Suomen. Tule ja varaa oma koulutustapahtumasi jo tänään.
IT-koulutuksen asiantuntijasi, Koulutus- ja konsultointipalvelu KK Mediat
PHP ja ODBC
Mikäli haluamme kuitenkin enemmän väljyyttä tietokantavalintaamme, kannattaa tällöin valita ODBC-pohjainen tietokantayhteys. ODBC on yksi Microsoftin vanhimmista teknologioista tietokantojen yhdistämiseen sovelluksiin, josta on vuosien saatossa tullut laajasti hyväksytty standardi. ODBC:n perusajatuksena on mahdollistaa yksinkertainen ja yhtenäinen tapa käyttää useita eri tietokantoja sovelluksissa. Ohjelmoijan ei tarvitse välittää kantojen välisistä eroista, koska ODBC:n API huolehtii siitä. Ainut edellytys on, että palvelinkoneelle on asennettu tietokannan ODBC-ajuri. Useimmat tietokantavalmistajat tarjoavat tälläisen ilmaiseksi, tosin joitain poikkeuksiakin kuten Sybase on olemassa.
ODBC mahdollistaa kaksi eri tyyppistä yhteyttä: DSN tai DSN-less yhteys. DSN:n tarkoituksena on antaa tietolähteelle yksilöllinen, helposti muistettava nimi, jonka avulla sitä voidaan kutsua. Syvempi tarkoitus DSN-nimelle on, että se mahdollistaa tietolähteen keskitetyn hallinnan. Jos haluamme vaihtaa tietolähteen sijaintia, vaaditaan siihen pari hiiren klikausta.
Edellisessä artikkelin osassa tutustuimme jo perusfunktioihin. PHP:n ODBC-funktiot ovat samankaltaisia kuin MySQL-tietokannan käytettävät funktiot, erona on ainoastaan etuliite odbc_. Alla on artikkelin edellisellä sivulla käsitelty esimerkki ODBC:n kautta :
$connect = odbc_connect("Testikanta", "Kayttajatunnus", "Salasana");
$query = "SELECT t_id, t_nimi, t_hinta FROM testitaulu ORDER BY t_id";
$result = odbc_exec($connect, $query);
while(odbc_fetch_row($result)){
$id = odbc_result($result, 1);
$nimi = odbc_result($result, 2);
$hinta = odbc_result($result, 3);
print("$id $nimi,$hinta\n");
}
odbc_close($connect);
DSN:n suurin ongelma on siinä, että se on luotava Ohjauspaneelin (Control Panel) kautta. Hyvin usein, etenkin jos olet normaali hosting-asiakas, sinulla ei ole mahdollisuutta tähän. Tätä varten on olemassa DSN-less yhteys.
Huono uutinen on, että DSN-less yhteys ei näytä toimivan PHP:n kanssa. Ongelma aiheutuu todennäköisesti siitä että DSN-less yhteys toimii Microsoftin ADO-rajapinnan kautta. Koska ADO on normaali COM-rajapinta, on sen porttaaminen PHP:n COM-frameworkin kautta aivan mahdollista. Tällöin saisimme käyttöömme DSN-less yhteyden suomat edut. Kyseessä on kuitenkin kokonaan oma aihealueensa, jota käsittelen myöhemmin omassa artikkelissaan.
Tutustu artikkelin muihin osiin:
»»» PHP
»»»PHP ja tietokannat
»»» PHP
»»»PHP ja MySQL
»»» PHP
»»»PHP ja ODBC
Tallenna tämä sivu kirjanmerkkeihin!