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!

 

2kmediat.com, ©2000-2008 Koulutus- ja konsultointipalvelu KK Mediat.
Tekijänoikeuksia koskeva tiedonanto | Tietosuojalausunto | Sivukartta