2013年4月20日 星期六

Ci PDO 連線 MSSQL 方式與記錄

版本 5.3.19
框架 CI
DB   MS SQL 2005
OS   win x86 or localhost win7 64bit(註二)
連線 PDO

如果要連線MS SLQ 須先開啟 php.ini的 sqlsrv 擴張模組(註一)

以及要檢查你採用的framework中的DB driver是否有支援相對應的DB

以CI為例

有支援 Oracle MSSQL sqlite odbe pdo等 DB 和連線方式





然後再檢查 connect function 需要擴張開啟

以CI MS SQL 為例 在db_driver是用

return @mssql_query($sql, $this->conn_id);

所以在 php.ini中的相對應的mssql function要擴張開啟 (預設是沒有開啟)

連線方式測試很久後 直接用PDO 一次連線就上....(撒花

MS SQL 和 MySQL 呼叫上沒有太大的差異,只有注意時間的使用方法

就目前遇到的專案,function 還沒有遇過太大的問題

主要都是欄位資料再倒來倒去的時候

會因為mysql 有的類型 MSSQL 沒有 就會轉變為 預設 int類型

導致INSERT時後無法寫資料

因為連線這詭異問題,問了網路上不少大神,似乎也是無解

得不到答案,大部分的都還是php + mysql 居多

但因為中大型企業不少還是會採用MSSQL or Oracle

這些玩具多玩玩,當作經驗有益無害....(茶

註一
網路上蠻多教學文章,試著做過後發現這個模組在我本機一直開不起來
最後發現似乎是因為我的localhost 是64位元關係
後來跟MIS 要了一個 server 環境,這個模組才開的啟
以及看一下PDO 連線規則中 sqlsrv 是否有支援
沒有支援怎麼連線就是不聽你話
我不知道是不是我的機器關係.....(攤手






註二
我在本機開發的時候常常會遇到 64bit 有些模組開不起的詭異現象
推估應該是懶人包的driver的關係
目前我是採用 wamp server
之前也用過 xampp 或者 appserv 手動土砲
好像在64bit 環境 總會出現很多詭異的現象 甚至也出現過 curl 開不起
總而言之換個電腦試看看



Share:

0 意見: