问题标签 [node-mssql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - 正在发送 HTML 而不是 JSON 数据
我正在尝试从 SQL 数据库中检索数据并在 Reactjs Web 应用程序上显示所述数据。但是,我对数据库的所有调用都会导致网页的 HTML 成为焦点。我已经设置了标头,并且尝试更改处理快速呼叫响应的方式。
这是我现在使用的 expressjs 脚本:
从那里开始,我的 axios 调用如下所示:
我添加了 console.log 来检查返回的内容,如前所述,它是当前焦点页面的 HTML 代码。
我做了一些更改以反映我为解决 500 问题所采取的步骤。但是,当前代码会导致 404。
javascript - Using node mssql how do I create a database?
I tried the execute
method:
I get:
message: 'The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. The RPC name is invalid.',
Also tried the query
method:
I get
message: 'Incorrect syntax near \'@db_name\'.',
Is there a different method or am I missing something?
sql-server - SQL Server - 并发查询的性能问题
我最近在使用 SQL Server 时遇到了一个令人不安的问题。我正在使用节点程序来连接和运行查询。随着请求/数据库查询数量的增加,SQL Server 的性能似乎正在下降。
我使用了一个基本的测试场景,我得到了大约 6 个并发请求,这反过来又触发了 6 个并行的数据库查询。由于每个查询的结果评估时间大致乘以 6 倍。
所以,基本上当我点击一个查询时,大约需要 120 毫秒,但如果 6 个类似的查询是并行的,每个查询大约需要 7500 毫秒,这对于并发请求来说是一个令人不安的问题。
作为记录,我正在使用SELECT
应该是非阻塞的查询。
任何帮助或信息将不胜感激。
更新
我检查了表,它没有任何索引。我测试过的查询是一个SELECT
带有WHERE
子句的简单查询。我还检查sys.dm_tran_lock
了数据库锁信息,发现它正在为每个请求查询在该表上创建IS锁。它是在 Azure 实例上运行的 SQL Server 2012。我不确定硬件规格,但它应该符合标准。
我已经尝试了一些查询组合,似乎当并发查询使用相同的表/视图时它最有效。
node.js - 节点:如何从 varbinary 转换为 SQL Server 数据类型的图像
我有一个带有类型图像的 SQL Server 数据库varbinary
。我需要将varbinary
图像转换并返回到网页。帮助将不胜感激。
我发现了这个,它非常有帮助,但我需要反过来。 Node.js 如何从 MS Sql 服务器数据类型的 varbinary 转换为图像
就像是 ...
而我的服务是这样的......
sql-server - SQL Server:不使用 [GO] 在 DB 中创建过程
我想使用node-mssql
在 SQL Server 2017 中执行的这个(简化的)查询:
node-mssql
使用和需要分号声明语法错误[GO]
,因此我尝试这个:
现在我们得到错误:
CREATE/ALTER PROCEDURE' 必须是查询批处理中的第一条语句。
所以让我们试试这个:
现在我们得到
RequestError:“CREATE/ALTER PROCEDURE”不允许将数据库名称指定为对象名称的前缀。
自然地,没有任何 DB 声明,它会尝试附加到主错误:
数据库“master”中的 CREATE PROCEDURE 权限被拒绝。
node.js - azure 上的 iisnode 处理的流量不如本地
我在 azure 上有一个 nodejs webapp,我可以用 100 个并发用户以 50 rps 在本地测试代码 10 分钟,并且我收到零错误。每个请求都在调用数据库并写入。
但是,当部署在 Azure 上时,我会不断收到请求超时、连接重置和连接超时,而且负载也较小(平均每分钟约 1000 个请求)。
流量的主要来源是一个将事件发布到我的端点的 Azure 函数。然后我进行查找以查看我的表中是否有用户/事件,然后存储该事件。
有人想帮助我诊断什么信息?
我正在使用全局共享连接池(我将其传递给每个请求):
应用程序.js
db_util.js
这些是最常见的错误:
错误:BadRequestError:请求中止
获取用户时出错:TimeoutError: ResourceRequest 超时
sql 错误:ConnectionError:无法连接到此处的服务器地址- 写入ECONNRESET
node.js - 大量数据导出的NodeJS问题
我有一个场景。在 DB 中,我有一个包含大量记录(200 万)的表,我需要将它们导出到 xlsx 或 csv。
所以我使用的基本方法是对 DB 运行查询并将数据放入适当的文件中进行下载。
问题:
- 我已将数据库超时设置为 150 秒,这有时还不够,我不确定扩展超时是否是个好主意!
- express request也有一定的超时,所以它基本上使我的 HTTP req 超时并第二次命中(原因不明)
因此,作为一种解决方案,我正在考虑使用流数据库连接,并且如果我可以以任何方式提供文件的输出流,它应该可以工作。
所以基本上我需要第二部分的帮助,在流中,我会一个接一个地接收记录,同时,我正在考虑允许用户逐步下载文件。(这将避免请求超时)
我不认为这是一个独特的问题,但没有找到任何合适的部分放在一起。提前致谢!
google-app-engine - 从 Google App Engine (NodeJs) 查询 Azure SQL 数据库
我在 Google App Engine 上使用node-mssql来查询托管在 Azure 上的 Sql 数据库。我遇到的问题是 App Engine 节点服务器不断更改 IP 地址。因此,我必须将 Azure 上所有可能的(我不知道有多少)IP 地址列入白名单。还有其他方法吗?
javascript - 无法读取 null [node-mssql] 的属性“释放”
我正在尝试运行一个脚本,从一个数据库中提取记录,然后将记录插入另一个数据库,但在插入步骤中,我不断遇到此错误 8 或 9 次重复。
我对 node-mssql 库不是很熟悉,如果能对这里发生的事情有任何见解,我将不胜感激!我附上了堆栈跟踪和脚本的副本。
我查看了这个问题NPM MSSQL - error: uncaughtException: Cannot read property 'release' of null但看起来没有确定的解决方案。
错误堆栈跟踪:
编辑:自从我的原始帖子以来,我已将插入查询转换为preparedstatement:
我不确定为什么preparedstatement 解决方案比以前的解决方案有效,但是preparedstatement 解决方案似乎没有出错并正确插入所有记录。
至于 sql.close() 全局连接问题,做
创建全局连接?我假设它正在创建本地连接,如果我这样做了
它将创建一个单独的 sql 连接,但似乎并非如此,因为sql.close()
在创建 pool2 之前我无法运行该脚本。
我检查了 node-mssql 文档,看起来如果我在没有池规范的情况下执行请求,它将使用全局 sql 连接;也许这就是我的脚本正在发生的事情?https://www.npmjs.com/package/mssql#request
sql-server - 处理 node-mssql 中的数据库中断错误
我正在使用 node-mssql 模块连接到 SQL 服务器。这一切都很好。我有一个随机发生的问题,不知道为什么。所以,我做了一些测试。我创建了一个连接池
并在其中触发了一个查询,在一些超时后效果很好。现在来测试它如何处理中断,在创建连接后(在上面的代码中),我停止了 SQL 服务器,还尝试断开网络连接。我曾希望我会在查询中遇到一些错误,但它会无限运行。错误处理程序也没有捕获任何内容,定义如下
我虽然使用了 PreparedStatement。像下面的东西
因此, ps.execute 永远不会返回回调,即使在 requestTimeout 时间之后也是如此。提前感谢您的任何帮助/指导。
更新 我在 node-mssql 中尝试了调试选项,这是我在卡住时得到的最后一个输出。