设置为运行存储过程的Azure移动服务Scheduler无法连接到DB

时间:2015-11-04 23:07:56

标签: azure

在我的Azure应用程序中,我需要定期运行存储过程。我在Azure中创建了一个移动服务,并创建了一个调度程序作业,该作业具有运行存储过程的脚本。

function RunStoredProc() {
    console.log("Executing RunStoredProc...");
    mssql.query('EXEC dbo.StoredProcName', {
        success: function(results) {
        console.log("Finished executing RunStoredProc.");
        }
    });
}

我还将存储过程的执行权限授予由移动服务创建的用户。 当我运行此作业时,它失败并显示以下错误消息。

  

错误讯息:   执行查询时出错:错误:[Microsoft] [SQL Server Native Client 10.0] [SQL Server]无法在登录请求的服务器上打开数据库。只允许使用启用安全性的连接字符串访问数据库。

请提供有关如何解决此问题的任何指导。

1 个答案:

答案 0 :(得分:0)

您需要为调度程序创建的用户授予执行权限。用户名将类似于class AddItemTask extends AsyncTask<Void,Void,Void>{ @Override protected Void doInBackground(Void... params) { //try to check if item is available to order availabilityFlag = isItemAvailable(currentItem); return null; } @Override protected void onPostExecute(Void aVoid) { //what should I do know? if (availabilityFlag==true){ addItemToShoppingCart(currentItem); //what should I do now to update Cart Icon? } super.onPostExecute(aVoid); } }

要授予权限,请使用以下命令

KeoecwqLOCLogin_RecurringAssignmentAlph

如果用户丢失,请创建新的移动服务,因为它会在用数据库绑定数据库时创建用户。