[Azure]讓Azure網站與本地端資料庫連線
摘要
說到Azure WebSite 我們都知道可以直接在上面架設網站,然後幾分鐘就好了,
不過今天我要把資料庫放在本地端該如何做到呢?
實作
1. 先在您的Windows Server上安裝SQL Server (這邊使用SQL Server 2012示範)。
這邊選擇預設值。
這邊我們使用混和模式並輸入密碼與新增目前使用者。
2. 開啟Sql Server Configuration Manager確認TCP/IP是否Enabled。
3. 開啟SQL Server Managerment Studio 登入後創建新的Database。
4. 再來我們開啟Azure的新portal並創建一個WebSite。
5. 回到WebSite頁面並往下捲動,找到 "Hybrid-Connection"。
下面的
Name 可以自己取名
Hostname 輸入您SQL Server電腦的名稱
Port 預設為1433
然後新增一個BIZTALK SERVICE
6. 這時我們有發現他是還沒連接到本地端的,所以我們要來安裝一個連線。
點選您的Hybrid Connections
選擇Listener Setup。
選擇Install。
下載檔案後點擊執行。
如果要輸入Connection String 請到剛剛的頁面複製PRIMARY ON-PREMISES GATEWAY CONNECTION STRING。
接著我們會發現已經連接上了。
7. 部屬ASP.NET MVP範例網頁並測試是否有寫入本地端SQL Server
改成您的設定值
Server=ServerName
Database=DatabaseName
User ID=SQL loging ID
Password=your password
測試
再來至您的Azure下載發行設定檔
選擇剛剛下載的設定檔
選擇發布
這時候直接到Azure WebSite頁面開啟網頁並登入
然後我們可以看到本地資料庫中會出現我們的信箱
8. 那如果今天是用PHP網頁的話可以利用FTP的方式部屬至Azure上面。
複製FTP HOST NAME並貼到資料夾上。
這邊寫一個簡單的測試網頁 index.php 然後上傳到wwwroot資料夾中
$serverName = "WIN-K9QFCO5G63D,1433"; //serverName\instanceName
$connectionInfo = array( "Database"=>"TestDB", "UID"=>"sa", "PWD"=>"P@ssw0rd");
$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));
}?>
接著到Azure WebSite頁面選擇瀏覽。
就會看到連線已建立的網頁了。
如有錯誤請不吝指教 謝謝 ^_^
參考資料:
Connect an Azure website to an on-premises resource using Hybrid Connections