/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
ADODB vs. PEAR
Fra : Tinky Winky


Dato : 19-08-02 23:18

Jeg har brugt ADODB lidt til databaseabstraktion og det virker smart nok.
PEAR ser ud til at ligne det lidt.

Hvad er bedst?

Er ens SQL virkelig 100% portabel? Skal man ikke bruge en masse af klassens
specielle funktioner til fx LIMIT, for at det vil virke på alle andre
databaser? Er der en nem måde at vide om ens SQL er portabel?



 
 
Jonas Koch Bentzen (20-08-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 20-08-02 00:17

Tinky Winky skrev:
>
> Jeg har brugt ADODB lidt til databaseabstraktion og det virker smart nok.
> PEAR ser ud til at ligne det lidt.
>
> Hvad er bedst?

Jeg har ikke prøvet ADODB - men det taler til PEAR DB's fordel, at det
er en officiel del af PHP og pushes som den "officielle" PHP-database-API.

> Er ens SQL virkelig 100% portabel?

Næ, nej. At lave 100% portable løsninger kræver ikke bare, at man bruger
PEAR DB, men også, at man ved lidt om, hvilke SQL-ting, der er standard,
og hvilke, der ikke er.

> Skal man ikke bruge en masse af klassens
> specielle funktioner til fx LIMIT, for at det vil virke på alle andre
> databaser?

I realiteten er det ikke så mange gange, man får brug for klassens
specielle funktioner. I LIMIT gør man dog, siden LIMIT faktisk ikke er
nogen SQL-standard. Microsoft SQL Server har den slet ikke indbygget, i
Oracle hedder den nogen andet osv. Metoden limitQuery()
(http://pear.php.net/manual/en/core.db.limitquery.php) skulle dog løse
det problem.

> Er der en nem måde at vide om ens SQL er portabel?

Ja - se i manualen. Både i PostgreSQL- og i MySQL-manualen står det som
regel, om en given funktion er en officiel del af SQL-standarden eller ikke.


Larz (20-08-2002)
Kommentar
Fra : Larz


Dato : 20-08-02 01:07

Jonas Koch Bentzen wrote:
> I realiteten er det ikke så mange gange, man får brug for klassens
> specielle funktioner. I LIMIT gør man dog, siden LIMIT faktisk ikke er
> nogen SQL-standard. Microsoft SQL Server har den slet ikke indbygget, i
> Oracle hedder den nogen andet osv.

Er du sikker på det? Jeg har arbejdet en del med Oracle, og jeg er da
rimelig sikker på at der ikke findes noget tilsvarende! (Og nej, ROWNUM
er ikke tilsvarende).

Men måske blander du dem bare sammen, for jeg mener da fra mine tidlige
MSSQL dage at kunne huske at der var noget der lignede?...

--
-
Lars
http://coder.dk/sohofaq.php - Uofficiel WOL SOHO 77 FAQ
http://wshlman.moons.dk/ - Say goodbye to GameSpy
- A Free Half Life Manager!
To mail me remove your-pants.


Nezar Nielsen (20-08-2002)
Kommentar
Fra : Nezar Nielsen


Dato : 20-08-02 13:41

Larz wrote:
....
>> nogen SQL-standard. Microsoft SQL Server har den slet ikke indbygget,
>> i Oracle hedder den nogen andet osv.
>
....
> Men måske blander du dem bare sammen, for jeg mener da fra mine tidlige
> MSSQL dage at kunne huske at der var noget der lignede?...
>

i MSSQL/Sybase kan man såvidt jeg ved kun bruge

SET ROWCOUNT XX

til at bestemme hvor mange(XX) rækker man vil hente, men man kan ikke
bestemme at man vil starte ved række YY.. :|

--
Mvh. Nezar Nielsen


Tinky Winky (20-08-2002)
Kommentar
Fra : Tinky Winky


Dato : 20-08-02 12:40

> Jeg har brugt ADODB lidt til databaseabstraktion og det virker smart nok.
> PEAR ser ud til at ligne det lidt.

Kan de forresten bruges sammen med en flat file database? Sådan at man kan
bruge SQL, selvom ens host ikke tilbyder det?



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408952
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste