在我的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]无法在登录请求的服务器上打开数据库。只允许使用启用安全性的连接字符串访问数据库。
请提供有关如何解决此问题的任何指导。
答案 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
如果用户丢失,请创建新的移动服务,因为它会在用数据库绑定数据库时创建用户。