如果你見到下面這一段輸出的話,那么你有福了!!!!
Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -49 [code] => -49 [2] => This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712 [message] => This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712 ) [1] => Array ( [0] => IM002 [SQLSTATE] => IM002 [1] => 0 [code] => 0 [2] => [Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序 [message] => [Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序 ) )
之前從來沒使用過SQLserver,以前一直使的是MySQL。這些都不是關鍵,關鍵是我用的是php編程語言,還是比較高的5.3(相對於sql server2008來說)。剛開始不會用,甚至數據庫都不會連,用什么SQL語句都不知道,於是啊,一頓百度!!!百度出N種方法,但是,沒有一種成功過,比如裝驅動,改php.ini配置文件……我就不斷的嘗試了近一周,才總算把數據庫給連上了。但是最終用的是php5.2版本,不知道為什么5.3總是不成功,以后以機會再嘗試,現在要忙項目了!!
進入正題
我電腦是win7系統+SQL Server2008+php5.2+apache2.4配置。
1.首先安裝數據庫之后,用windows身份驗證(默認登錄方式,不需要密碼)登錄數據庫。
2.進入之后,選擇對象資源管理器,打開之后,有一個安全性的選項,打開之后,有登錄名這個選項,打開之后,會看到很多的登錄。
3.如果你現在想右鍵單擊登錄名來創建一個新的登錄賬號的話,那你就錯了。
雖然那樣的話,你能創建一個用戶,但是並不能使用(試過很多次,都不行)。
好了,到這個時候,懸崖勒馬吧!!!
4.回到桌面,右鍵點擊“我的電腦”,-->選擇“系統工具”,-->選擇“本地用戶和組”,-->選擇“用戶”,-->右鍵點擊“用戶”,-->選擇“新用戶”,現在你可以設置一個用戶和密碼了。設置完后,取消“用戶下次登錄時須更改密碼”,然后保存,退出。假設我創建的是Admin2,密碼為123456
接下來,返回第三步,現在你可以創建一個新的用戶了。
1.登錄名-->(單擊右鍵)-->新建登錄名-->確定
2.在常規一欄,點擊搜索,在下方輸入名稱-->確定-->取消window身份驗證,選擇SQL Server身份驗證-->取消登錄密碼過期和必須更改兩個選項。然后選擇下方的數據庫和語言
3.服務器角色一欄我現在並不懂,所以我選的是bulkadmin,dbcreate,processadmin,public。你自己看着辦
4.用戶映射一欄,還有下面的安全對象和狀態自己把握,根據需要選擇。
5.點擊確定,此時,你已經成功創建一個用戶,完成總進度的90%。
接下來
打開phpstudy或者wampserver,我用的是phpstudyX64 2014版,打開php擴展及設置-->php擴展,看到其中的php_sqlsvr和php_pdo_sqlsvr,開啟他們倆。
然后,打開php配置文件php.ini,刪除extension=php_sqlsrv.dll和extension=php_pdo_sqlsrv.dll前面的分號(取消注釋),然后保存,重啟phpstudy即可。wampserver做法相似。
然后就可以連接數據庫了
我使用的是sqlsvr_connect()連接,注意主機別寫錯,別以為全是localhost,當初我也是使用localhost,但就是不成功。
代碼如下
<?php
$serverName = "HOMEMIC-26JSJJD\SQLEXPRESS";
$connectionInfo = array( "Database"=>"test", "UID"=>"admin2", "PWD"=>"123456","Charset"=>"utf8");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Connection established.<br />";
}else{
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>
good luck!
