文位址:http://blog.csdn.net/berryreload/article/category/1788217
php通路SAP Sybse SQL Anywhere 資料庫
分類: SAP SQL Anywhere 2013-12-21 18:06 1017人閱讀 評論(0) 收藏 舉報
環境:
Windows 2008伺服器
Apache 2.2 + php 5.3.22
首先
你用 http://localhost/phpinfo.php代碼檢查一下,php是Thread Safe的嗎?php是VC6還是VC9編譯的?
如果是VC6編譯的,沒戲,SAP Sybse SQL Anywhere的Windows版本PHP Module驅動都是VC9編譯的。
建議
SQL Anywhere更新到最新更新檔
然後
去SAP Sybse SQL Anywhere的PHP Module驅動下載下傳驅動 http://scn.sap.com/docs/DOC-40537
注意:貌似裡面的Windows驅動都是VC9(Visual Studio 2010)編譯的
注意:驅動分Thread Safe和Single Threaded,
編輯php.ini
extension_dir = "ext"
extension=php-5.3.22_sqlanywhere.dll
;SQL Server 2008 driver
;extension=php_sqlsrv_53_ts.dll
;extension=php_pdo_sqlsrv_53_ts.dll
編寫一個測試程式
htdocs\sqla.php
内容如下:
[php] view plain copy
- <html>
- <body>
- <p>Record page hits</p>
- <?php
- $conn = sasql_connect("uid=dba;pwd=sql;ServerName=afariadb;CommLinks=tcpip(host=127.0.0.1;port=2638)");
- sasql_query($conn,
- "CREATE TABLE IF NOT EXISTS hits (hit TIMESTAMP)");
- sasql_query($conn,
- "INSERT INTO hits VALUES(now(*))");
- $result = sasql_query($conn,
- "SELECT TOP 10 hit FROM hits ORDER BY hit DESC");
- if ($result) {
- echo "<table >\n";
- while ($obj = sasql_fetch_object($result)) {
- echo "<tr>\n";
- echo "<td>$obj->hit</td>\n";
- echo "</tr>\n";
- }
- sasql_free_result($result);
- echo "</table>\n";
- }
- sasql_close($conn);
- ?>
- </body></html>
多次運作的結果如下:
Record page hits
2013-12-21 18:07:55.857
2013-12-21 17:24:25.565
2013-12-21 17:24:25.362
2013-12-21 17:24:25.066
2013-12-21 17:24:24.442
2013-12-21 17:24:22.913
=============================
後記:
貌似目前SAP Sybse SQL Anywhere沒有相應的PHP PDO驅動
但是你可以用pdo_odbc去通路SAP Sybse SQL Anywhere資料庫
參考:http://stackoverflow.com/questions/16473568/codeigniter-sybase-database-configuration
--------------
ASA 12版本說明文檔
SQL Anywhere 12版本安裝後,文檔沒有安裝,需要去另外下載下傳一下。
官方網站上的SQL Anywhere 12.0.1的中文手冊 (提示國内下載下傳很慢,耐心下載下傳了)
可安裝在本地計算機上的文檔
CHM格式的 Windows
PDF格式的 Windows, Unix
SQL Anywhere 資料庫管理手冊 chm 網友上傳的從上面的“可安裝在本地計算機上的文檔”摘錄出來的資料庫管理者手冊,中文
官方網站上的線上文檔 InfoCenter,英文,最新最全面