adodb

adodb

不管後端資料庫如何,存取資料庫的方式都是一致的,開發設計人員不必為了某一套資料庫,而必須再學習另一套不同的存取方法,這大大減輕開發人員的知識負擔,過去的知識往後仍可繼續使用

中文介紹


ADODB 是 Active Data Objects Data Base 的簡稱,它是一種 PHP 存取資料庫的中間函式組件。
雖然 PHP 是建構 Web 系統強有力的工具,但是 PHP 存取資料庫的功能,一直未能標準化,每一種資料庫,都使用另一種不同且不兼容的應用程序介面(API)。為了填補這個缺憾,因此才有 ADODB 的出現。一旦存取資料庫的介面予以標準化,就能隱藏各種資料庫的差異,若欲轉換至其它不同的資料庫,將變得十分容易。
目前 ADODB最新版本是V5.20.9,支持的資料庫種類非常的多,例如:MySQL, PostgreSQL, Interbase, Informix, Oracle, MS SQL 7, Foxpro, Access, ADO, Sybase, DB2 以及一般的 ODBC (其中 PostgreSQL、Informix、Sybase 的driver 是由自由軟體社群發展之後貢獻出來的)。
使用 ADODB 最大的優點之一是:不管後端資料庫如何,存取資料庫的方式都是一致的,開發設計人員不必為了某一套資料庫,而必須再學習另一套不同的存取方法,這大大減輕開發人員的知識負擔,過去的知識往後仍可繼續使用,轉移資料庫平台時,程序代碼也不必做太大的更動。
其實 ADODB 這樣的發展理念,並不是首創的,DBI 比 ADODB 出現得更早,它提供 Perl 存取資料庫時,使用一致的 API 呼叫介面。相信用過 Perl + DBI 的朋友,再來用 ADODB 時,會有一種似曾相識的感覺。
另外,ADODB 對用過 ASP 的人而言,應該不陌生,這類朋友對 ADODB 應該很容易接受。

英文簡介


ADOdb is a database abstraction library for PHPand Python based on the same concept as Microsoft’s ActiveX Data Objects. It allows developers to write applications in a fairly consistent way regardless of the underlying database storing the information. The advantage is that the database can be changed without re-writing every call to it in the application.
ADOdb uses SQL. Since each database implements SQL slightly differently, the developer will need to be aware of the database-specific features and functions to avoid if they want to maintain portability. ADOdb provides date conversion functions so that you can create dates in any format and insert them into your SQL in the correct format for your database; which is one step toward database independent SQL.
Some databases support the Limit phrase which first appeared in MySQL and is now part of SQL. ADOdb’s SelectLimit( ) translates limit to different mechanisms for each database and can emulate limit for databases with no native limit equivalent. Translations will perform efficiently. Emulations may work slowly by returning too many rows then using only those that meet the limit.
ADOdb has variables that contain the correct SQL for a database for specific functions. For example, to check for a null value, null can be replaced with the ADOdb variable that contains the correct SQL definition for null and the check for null will work in every database.