2013-07-24 55 views
3

我正在尋找使用Azure移動服務創建預定作業。移動服務服務器腳本(計劃)可以訪問其他Sql Azure數據庫嗎?

由於該服務最終會調用另一個雲服務(網站),所以我想知道該移動腳本是否可以訪問雲服務已經完成的數據庫。

我知道你可以指定要使用的數據庫的移動腳本(我選擇免費進行記錄),但似乎無法告訴你,如果可以通過API訪問其它數據庫。

var todoItemsTable = tables.getTable('TodoItems'); 

打趣......

var todoItemsTable = databases.getDatabase('NonMobileSqlDb').tables.getTable('TodoItems'); 

我已經檢查this question(你能與Azure的雲服務Azure的混合移動服務?),但它似乎並沒有涵蓋的腳本說話數據庫。

一些背景...

移動業務將(按計劃)調用Web服務(含授權)執行例行的行動。我想鎖定這項服務(沒有ssl),一種方法是生成一個服務可以使用的密鑰,雲服務可以驗證。該密鑰將存儲在數據庫中,都可以訪問並且只能在短時間內使用。

+2

請看一下http://www.windowsazure.com/en-us/develop/nodejs/how-to-guides/sql-database/和http://tomasz.janczuk.org/2013/06 /access-sql-azure-from-nodejs-app.html。 –

+0

啊,好吧,一個'純粹'的nodejs路由創建連接,並以此方式進行。 –

+1

btw Windows Azure移動服務現在可以接受與NPM一起工作。這個鏈接可能有助於理解如何做到這一點。畢竟WIndows Azure移動服務是基於Node Js的解決方案,我認爲,http://weblogs.asp.net/scottgu/archive/2013/06/14/windows-azure-major-updates-for-mobile-backend -development.aspx – hhaggan

回答

4

是的,你可以。

您需要使用從how-to guide採取下面的例子(使用Node.js)連接:

要使用節點SQLSERVER,你必須要求它在你的應用程序和 指定一個連接字符串。連接字符串應該是本文的How to: Get SQL Database connection information 部分返回的ODBC 值。該代碼應如下出現類似 :

var sql = require('node-sqlserver'); 
var conn_str = "Driver={SQL Server Native Client 10.0};Server=tcp:{dbservername}.database.windows.net,1433;Database={database};Uid={username};Pwd={password};Encrypt=yes;Connection Timeout=30;"; 

查詢可以通過指定 查詢方法的Transact-SQL語句來執行。下面的代碼創建一個HTTP服務器,並從ID 返回數據,在測試表 列1和列2行,當你瀏覽網頁:

var http = require('http') 
var port = process.env.port||3000; 
http.createServer(function (req, res) { 
    sql.query(conn_str, "SELECT * FROM TestTable", function (err, results) { 
     if (err) { 
      res.writeHead(500, { 'Content-Type': 'text/plain' }); 
      res.write("Got error :-(" + err); 
      res.end(""); 
      return; 
     } 
     res.writeHead(200, { 'Content-Type': 'text/plain' }); 
     for (var i = 0; i < results.length; i++) { 
      res.write("ID: " + results[i].ID + " Column1: " + results[i].Column1 + " Column2: " + results[i].Column2); 
     } 
     res.end("; Done."); 
    }); 
}).listen(port); 

非常感謝@GauravMantri & @hhaggan爲他們幫助達到這個目標。

+0

此文檔似乎已從網上消失。感謝你把這個放在這裏。 – dylanT

相關問題