Tag: azure sql database

来自Node和SQL Server Management Studio的存储过程执行时间差别很大

我的程序从Node.js(Azure移动服务)运行5.7秒( successcallback开始和发送查询之间的时间)。 用同样的参数从SSMS运行了0.4秒。 我怎样才能debugging这个问题? 我对问题来源的看法是: 糟糕的执行计划 Node.js连接设置错误(可能无法更改) Node.js和Azure SQL Server之间的连接速度很慢 驱动程序问题(Azure 在内部使用此testing版的node-sqlserver )

使用SQL实现移动应用程序Node.js后端的表连接

由于Azure移动应用程序不提供创build表间关系的方法,因此我决定在Node.js后端创build一个自定义API以从相关表中返回数据。 这个想法是使用SQL在后端实现连接,就像移动服务文档中所解释的那样。 问题是我正在使用新的移动应用程序,而不是旧的移动服务,所以上面的代码不再工作。 据我所知,体系结构从移动服务改为移动应用程序,Node.js SDK是一个快速的中间件软件包。 所以现在我们利用azure-mobile-apps / src / data模块来处理sql操作。 所以我现在必须做这样的事情来从Node后端的Custom API中的表中读取: var queries = require('azure-mobile-apps/src/query'); module.exports = { "get": function (req, res, next) { var myTable = req.azureMobile.tables('TableName'); var query = queries.create('TableName'); query.where({'id':req.query.userId}); myTable.read(query).then(function(data){ res.send({ some: data }); }); } }; 但是由于SQL不再暴露,我不能使用JOIN命令从相关表中返回数据。 我将不得不使用循环和许多请求到数据库,这是失败的目的。 – 是否有办法在新的Mobile Apps Node.js SDK上使用SQL实现后端连接? 还是其他更好的方法? 非常感谢你!

将Azure Cloud用作AngularJS应用程序的后端

我以某种方式需要进入微软Azure云。 在我们公司,我们希望使用Azure作为我们的networking和(混合)移动应用程序的后端。 我想从一个简单的AngularJS应用程序开始,该应用程序连接到Azure,并只显示来自Azure数据库和/或来自Azure Active Directory的一些信息。 通过这个指令,我可以将一个NodeJS应用程序连接到一个位于Azure云中的sql数据库。 但是我需要的是连接到数据库的AngularJS应用程序。 它不需要是两者之间的直接连接。 我是Angular和Node等新手。 但是我在这里读到的是一个NodeJS应用程序可以用作AngularJS应用程序和数据库之间的一个层,这样我就可以对NodeJS进行API调用,并从数据库接收包含数据的JSON。 如何实现? 我能够在Azure Cloud上部署一个显示NodeJS应用程序的简单文本。 我能够在本地构build一个连接到Azure数据库的NodeJS应用程序。 但我怎么能结合呢?

从外部节点进程连接到Azure Web App / SQL数据库

我正在运行一个Azure Web App,它定义了自定义的简易API和一些Easy Table。 我一直在使用这个Azure Web应用程序和连接到它的SQL表去运行一些基于JavaScript的LOB Windowsapp store应用程序,它的工作非常好。 但现在我需要访问这些资源的Node.js过程,我将在本地运行。 我想以与在Windowsapp store中访问它几乎相同的方式访问它: var client = new window.WindowsAzure.MobileServiceClient( "https://my-mobileservice.azure-mobile.net/", "MOBILESERVICEKEY" ); 如果我不能在Node中使用上面提供的相同的API访问Web应用程序,那么只要手动读取和写入SQL表中的行就足够了。 那我该怎么做呢?

如何获得插入查询logging集

我正在使用mssql。 插入一条logging后,我想获取数据的ID。 但我不知道这么做。 我的代码如下。 请给我答案。 var mssql = require('mssql'); mssql.connect(config.mssql, function(err) { var request = new mssql.Request(); request.query('insert —–'),function(err, data) { console.log(data); } 插入工作正常,但控制台日志是[未定义] …. 这是表格的ddl SET ANSI_NULLS ON 走 SET QUOTED_IDENTIFIER ON 走 CREATE TABLE [dbo]。[Feature]( [id] nvarchar NOT NULL CONSTRAINT [DF_Feature_id] DEFAULT(CONVERT(nvarchar,newid(),(0))), [createdAt] datetimeoffset NOT NULL CONSTRAINT [DF_Feature_createdAt] DEFAULT(CONVERT(datetimeoffset,sysutcdatetime(),(0))), [updatedAt] datetimeoffset NULL, [版本] […]

节点使用来自路由的Azure MS SQL数据库写入和读取数据

我试图插入数据到我的Azure数据库然后阅读它。 我创build了一个单独的数据configuration和全局连接,然后我可以从应用程序的任何地方访问它。 服务器已连接,但是,当我在路由中写入插入函数时,遇到了以下错误:db.Request不是路由index.js中的构造函数。 这是我的代码: dbconfig.js: const sql = require('mssql'); const config = { user: 'admin', password: 'admin', server: 'admin.database.windows.net', database: 'em-cryptolend-db', // If you are on Microsoft Azure, you need this: options: {encrypt: true} } const connection = sql.connect(config, err => { if(err) throw err; else console.log("SQL Server connected"); }) module.exports = connection; app.js: const […]

存储过程受节点mssql对象影响的行

我似乎无法得到这个工作。 我在Azure SQL中有一个更新过程。 CREATE PROCEDURE foobar @a int AS update foo set bar=@a; RETURN 0 我正在返回@@ rowcount,并试图处理,但它意味着在客户端的两个结果集和sl code的代码。 客户端是一个node.js Azure定制API。 exports.post = function(request, response) { var mssql = request.service.mssql; var sqlParams = [request.body.a]; var sql = "foobar ?"; mssql.query(sql, sqlParams, { success: function(results) { response.send(statusCodes.OK, results); //return affected rows } }) }; 我试过使用results.affectedRows。 我试过在函数中使用额外的参数来获得返回值。 我直接查询数据库并收到“受影响的logging1”作为响应。 […]

在Azure移动应用程序的Azure表脚本中插入不同的表

我一直在广泛search这个答案,但只find了指代旧的Azure应用程序服务而不是新的Azure移动应用程序的解决scheme。 在这个例子中,在表格的表格脚本中,我将validation的用户ID插入到同一个表格的用户ID字段中。 table.insert(function (context) { context.item.userId = context.user.id; return context.execute(); }); 但是,如果还想将其插入到用户要求插入的另一个表中? 我怎样才能从表格脚本访问这个其他表格? 之前,正如我发现的所有解决scheme所显示的,您可以通过“tables.getTable('otherTable')”从同一个SQL DB访问另一个表。 但现在我得到一个错误。 阅读“Azure移动应用程序 – 节点SDK”文档,我发现了“context.tables()”函数,它似乎从db中获得了不同的表格。 但是当我插入使用代码下面没有任何反应: table.insert(function (context) { var table2 = context.tables('table2'); table2.insert({string_column: '1234'}); return context.execute(); }); 谢谢!

如何将项目从Node.js发布到Azure SQL Easy Table

我试图访问从本地node.js应用程序(不在Azure上运行)连接到Azure应用程序服务的Azure SQL表。 在查询表格方面,我已经取得了一些进展 – 我可以获取任何已连接到应用服务的表格的全部内容,甚至可以对这些数据应用odatafilter。 例如: var request = require("request"); request({ method:'GET', url:"https://my-service.azure-mobile.net/tables/TodoItem?$filter=complete eq true" },(err,res,body)=>{ console.log(body); }); 所以从表中请求数据的工作就好了。 但是,根据这些信息 ,我可以相信我也可以发布新的项目。 我已经尝试了很多方法,根本找不到如何向表中添加新logging。 这是我试过的东西: request({ method:'POST', url:"https://my-service.azure-mobile.net/tables/TodoItem", json: true, body: JSON.stringify({ text: 'I just posted this', date: new Date(), complete: false }) },(err,res,body)=>{ console.log(body); }); 这给了我一个“无效的JSON”响应。 那么做一个POST请求插入一个项目到一个简易表的正确方法是什么? 我也想知道如何用PATCH 更新logging

msnodesql模块在编译期间出错

C:\Python27>node-gyp configure gyp info it worked if it ends with ok gyp info using node-gyp@0.11.0 gyp info using node@0.10.21 | win32 | ia32 gyp info spawn python gyp info spawn args [ 'C:\\Users\\v-javde\\AppData\\Roaming\\npm\\node_modules\\ node-gyp\\gyp\\gyp', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'msvs', gyp info spawn args '-G', gyp […]