2017-02-07 40 views
0

好吧,現在基本上我已經在Azure中部署了一個Web應用程序,但我似乎無法使其連接到單獨的SQL Server。我已經爲連接提供了所有需要的應用程序設置,但似乎並不好。如何在Microsoft Azure服務器(PaaS)中安裝msodbcsql

現在我要尋找的可能的原因:

  1. PHP ext DLL是缺少msodbcsql這是

php_pdo_sqlsrv_56_ts.dll 和 php_sqlsrv_56_ts.dll

我已經添加了這個DLL並引用它們y基於此文檔Configure via ini settings

  1. 現在msodbcsql安裝在Azure中的不確定性。

現在,這是我有問題。

所以我在2號情況下,我嘗試安裝複製到Azure的d:/家庭/

,並在命令行

msiexec /quiet /passive /qn /i msodbcsql.msi IACCEPTMSODBCSQLLICENSETERMS=YES ADDLOCAL=ALL

這是假設安裝運行此.msi安裝程序,但我總是得到一個

訪問被拒絕

錯誤。

是否有另一種方式?

回答

2

基本上Azure已經爲我們設置了擴展php_sqlsrv.dll & php_pdo_sqlsrv.dll,所以我們自己不需要安裝任何驅動來連接SQL SERVER。

你可以用Kudu控制檯檢查php.ini文件,該文件可以在D:\local\Config\PHP-<version>\php.ini找到,以確認。

enter image description here

此外,您還可以檢查與應用程序phpinfo()功能。

enter image description here enter image description here

而且我有下面的代碼行測試,並得到它的工作。

<?php 
$serverName = "serverName\sqlexpress"; //serverName\instanceName 
$connectionInfo = array("Database"=>"dbName", "UID"=>"userName", "PWD"=>"password"); 
$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)); 
} 
?> 

enter image description here

+0

很抱歉這麼晚纔回復。事實證明你是正確的, 我遇到的問題是我需要在AWS服務器中添加我的IP以允許連接到數據庫。 現在我可以連接到SQL服務器。 感謝您的提示。 – xCHAN