2014-12-10 29 views
2

我明白,通常PDO腳本是交叉兼容的,即通常改變連接字符串應該工作。爲MySQL編寫的PDO腳本是否適用於Oracle?

在過去,我花了幾個小時在將PDO腳本連接字符串從MySQL更改爲SQLite後在線搜索,因爲事實並非如此,有些事情並不一樣(我記得行計數或東西)。

因此,從MySQL到Oracle的轉換一般都很簡單,還是需要注意SQLite的情況?

+2

簡短的回答:沒有。這兩個有很多不兼容在SQL語法層上。 – tadman 2014-12-10 21:47:09

+0

這取決於。 MYSQL,Oracle和SQLite都有不同的SQL方言和不同級別的支持。一些查詢將在所有三個上執行,而其他查詢將完全需要調整或重寫。 – 2014-12-10 21:47:57

回答

3

因此,從MySQL到Oracle的轉換通常很簡單,還是需要注意SQLite的情況?

有些事情要注意。


更嚴重的是,除了基本的SQL查詢之外,每個RDBMS都有自己的一組特定功能,必須予以考慮。舉個例子,如果你想限制結果集只有一行,MySQL提供LIMIT子句。但對於高達11g的Oracle,您需要一個用於此目的的子查詢。

如果您確實需要跨供應商支持,那麼您可能應該查看一下提供database abstraction layer的庫,它們的工作是允許您編寫與數據庫無關的代碼。 PDO 不是這樣的庫。但Doctrine DALZend_db和許多其他。

現在它被認爲是題外話,在這裏要求一個工具的建議,但看看這個老問題,如果你需要一些指點:Best PHP DAL (data abstraction layer) so far

相關問題