php使用odbc连接mssql的完整例子(推荐DNS-less方式連結資料庫)

[ 2010-08-19 11:18:13 | 作者: admin ]
字号: | |
p.s. 由于本人使用php的odbc连接mssql过程中,发现有些服务器可行,有些服务器又不行,一直不得其门而入,国内的相关资料几乎都是copy的,作者自己也是一知半解,完全没有参考性可言,无法解决我的问题。
百度搜索技术资料一直是个悲剧,因为其结果都是垃圾信息,借助于google,我找到一个台湾一个的php odbc介绍,内容翔实,豁然开朗。感叹大陆技术界的浮躁和山寨,难怪很多牛人坚持看英文技术资料,或许因大陆的原创性不足有关吧。

本文来源地址:http://forum.twbts.com/viewthread.php?tid=313


連結Access2000資料庫
連結Access2000資料庫是使用odbc_connect()函數:
odbc_connect(“ODBC字串”,”帳號,”密碼”)
基本上,連結Access2000資料庫時,ODBC字串中需給定兩個ODBC參數值:
1.Driver:連結Access2000資料庫所需的ODBC驅動程式。
2.DBQ:Access2000資料庫的本機「實際路徑」。
以連結Access2000格式的students1.mdb資料庫檔案為對象:
<?
$Provider="Driver={Microsoft Access Driver (*.mdb)};";
$Path="DBQ=" . getcwd() . "\\" . "STUDENTS1.mdb";
//連結資料庫
odbc_connect($Provider . $Path,"","");
?>
•「$Provider="Driver={Microsoft Access Driver (*.mdb)};"」:使用變數Provider來指定我們要使用的資料庫驅動程式,因為我們要進行連結存取的資料庫檔案類型為Access格式,所以使用的ODBC資料庫驅動程式為:「{Microsoft Access Driver (*.mdb)}」。

•「$Path="DBQ=" . getcwd() . "\\" . "STUDENTS1.mdb"」:使用變數Path來指定我們要使用的資料庫路徑與檔名;我們要進行連結存取的資料庫檔案,必須指定此資料庫檔案的完整路徑名稱,所以我們必須使用『getcwd()』方法來取得目前城市執行的完整路徑名稱,接著再加上資料庫的相對路徑與資料庫檔案名稱。






連結SQL2000資料庫
SQL資料庫的連結必須對應管理資料庫的SQL Server,所以連結的參數比較多:

•Driver:連結SQL Server所需的ODBC驅動程式。
•Server:欲登入的SQL Server主機名稱。
•UID:登入SQL Server的帳號。
•PWD:登入SQL Server的密碼。
•DataBase:登入SQL Server後要連結使用的SQL資料庫名稱。
以連結SQL2000內建的Northwind(北風)資料庫檔案為對象:
<?
$dnsless="Driver={SQL Server};" .
                  "Server=(Local);" .
                  "UID=SA;" .
                  "PWD=123456;" .
                  "DataBase=www.52news.com";
//連結資料庫
$z=odbc_connect($dnsless,"","");
echo $z;
?>

而我们普通可以看到的一个连接语句是错误的,形式如下,但是一眼望去的确以为是正确的:
$this->sql = @odbc_connect("Driver={SQL Server};Server=".$dbhost.";Database=".$dbname, $dbuser, $dbpw, SQL_CUR_USE_ODBC);


为避免原地址无法访问,做了个copy,以备查阅:
点击下载
[最后修改由 admin, 于 2010-08-19 11:36:52]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=1452

这篇日志没有评论。

此日志不可发表评论。