问题标签 [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.

0 投票
0 回答
365 浏览

node.js - 如何使用 Promise.All 在 array.map 中使用 async/await 模式使用现有的 SQL Server 池连接

此代码导致“连接尚未打开”。错误。池已连接并可用于我要更新记录的第一个选择。

处理完数据后,我有一组 UPDATE 语句。然后内联异步函数运行并导致上述错误。

我还尝试使用单个查询运行多个 UPDATE 语句。这会导致 UNKNOWN 错误,除非查询更新数组只有一个数组成员。

这是针对 SQL Server 2000 运行的。

0 投票
1 回答
218 浏览

javascript - 父查询中每一行的子查询 - Node.js 和 node-mssql

我试图找出使用 Node.JS 和 node-mssql 执行以下操作的最有效方法。我想要一个看起来像这样的最终结果:

我的桌子看起来像这样

电影:

电影国家:

到目前为止,我已经尝试了 mssql 的 Github 页面中的几个不同示例。我可以从“电影”表中获得结果,但是在尝试获取每部电影的国家/地区时遇到了困难。

0 投票
1 回答
56 浏览

node.js - 带有节点 mssql 的 Azure SQL 给出奇怪的错误

使用 npm mssql 文档,我正在执行:

我得到这个神秘的(当我谷歌时)错误:

有什么建议么?

0 投票
1 回答
1140 浏览

javascript - 在 node-mssql 返回查询结果

我顺利地将 res.recordset 打印到控制台,但是当我想从函数返回这个值时,返回 null。我该怎么办?

0 投票
3 回答
805 浏览

node.js - AWS Lambda timeout

I have an AWS Lambda function that connects to SQL DB and the timeout for lambda has been set to 120 seconds. But when there is some issue with the DB connection or query execution, lambda is getting timed out after 60 seconds. Below is my DB config. I used node-mssql module.

0 投票
1 回答
431 浏览

python - 节点 sql server 将数据插入表格

我有一个网站,有一个表格我想获取帖子数据(我已经做过)并将其放入数据库中。

数据以 JSON 形式出现,如下所示:

我也有一个 SQL 服务器表如何具有相同的列名称含义:

  • Col1 = 名称 ( nvarchar)
  • Col2 = ho ( nvarchar)
  • Col3 = 天 ( numeric)
  • Col4 = m ( numeric)

我正在尝试使用 nodejs 和 mssql moudeul 将数据插入数据库。

我的代码如下所示:

每次我尝试运行此代码时,如果我更改内容都没关系,它会给我发回相同的错误:

没有列名 ${values[0]}

我的意思是这个陈述的价值。

数组中的值位于位置 0 或有时为 1。

如果有人知道我可以将数据插入到 sql 表中的方法,它将救我。在文档中对此没有很好的扩展。

当我想将这样的数据添加到表中时,我来自 python 背景 我正在使用 python pandas df to_sql 并设置 sleeting 以添加数据而不是覆盖它。

0 投票
3 回答
234 浏览

javascript - node-mssql 不会执行提供 unhandlePromiseRejectionWarning 的存储过程

以下是我的 server.js 文件的输出。
我正在打印出我传递给存储过程的查询字符串参数。

下面是我得到的错误:

(节点:8084)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝 id:1):TypeError:无法读取未定义的属性“类型”

(节点:8084)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。

下面是我对存储过程的调用。我不断收到上述错误,并且未执行存储过程。我查看了以下似乎有同样问题的链接,但我仍然遇到同样的错误。

这是我第一次尝试使用此节点模块调用存储过程。因此,感谢您提供任何帮助。

0 投票
1 回答
1927 浏览

javascript - 使用 Node.js 将多个条目插入 SQL Server

我正在重写一个旧 API,我试图使用节点模块mssql一次将多个值插入到 MSSQL-Server (2008) 数据库中。现在,我能够以某种方式做到这一点,但我想遵循最佳实践。我已经完成了我的研究并尝试了很多事情来实现我的目标。但是,我无法找到一个正确的解决方案。

你可能想知道:

好吧,你正在重写这个 API,所以一定有一种以前做过的方法并且有效吗?

当然,你是对的,它以前可以工作,但是......不是以我在重写时使用的方式感到舒服。让我向您展示它之前是如何完成的(当然添加了一点抽象):

虽然这很有效,但我不认为这可以称为“最佳实践”之类的东西。这也显示了最大的问题:子选择用于插入一个值。

到目前为止我尝试了什么

简单的方法

起初我尝试了最简单的方法:

我会说,这是一个很好的猜测,实际上工作相对良好。除了这部分,它忽略了第一个项目之后的每个项目......这使得这非常没用。所以,我试了...

请求.multiple = true

...我想,它会完成这项工作。但是 - 令人惊讶的是 - 它没有,仍然只插入第一个项目。

使用 '?' 对于参数

此时我才真正开始寻找解决方案,因为第二个只是在模块文档中快速搜索。我偶然发现了这个答案并立即尝试了。没过多久,我的终端就吐出了一个

RequestError:“?”附近的语法不正确。

这么多。

批量插入

一些进一步的研究导致批量插入。非常有趣,很酷的功能以及OP解决方案对问题的出色更新!我从这里开始有些挣扎,但最终它看起来非常好:插入了多条记录,并且值似乎没问题。

直到我添加了子查询。将它用作声明的列的值不会导致任何错误,但是在检查表的值时,它只是显示一个

为该列的值。一点也不意外,但每个人都可以梦想,对吧?

懒惰的方式

我真的不知道该怎么想:

它完成了这项工作,但如果任何请求由于某种原因失败,其他非失败插入仍将被执行,即使这应该是可能的。

懒惰+交易

即使某些失败仍然是最后一种方法的主要问题,我尝试围绕它建立一个事务。所有查询都成功?好,承诺。任何查询都有错误?好吧,只是回滚比。所以我建立了一个事务,将我的 Promise.all 构造移到其中并再次尝试。Aaand 在我的终端中弹出下一个错误:

如果你走到这一步,我不需要告诉你问题是什么。

概括

我还没有尝试(我不认为我会尝试这个)是使用事务方式并按顺序调用语句。我不相信这是要走的路。

而且我也不认为应该使用惰性方式,因为它对要插入的每条记录使用单个请求,而这可以通过某种方式仅使用一个请求来完成。只是这不知怎的,我不知道,现在不在我的脑海里。所以,如果你有什么可以帮助我的,请告诉我。

另外,如果您发现我的代码有任何其他问题,请随时指出。我不认为自己是初学者,但我也不认为学习会永远结束。:)

0 投票
0 回答
238 浏览

node.js - 发生异常:TypeError TypeError:connection.queryRaw 不是函数

我正在使用 mssql 4.3 和节点 10.13.0 当我运行包含 ConnectionPool 的代码时会引发此异常。

请帮忙!

0 投票
0 回答
171 浏览

node-mssql - node-mssql 事件监听器的困难

当 node-mssql 使用违反其类型的主键约束的 TVP 参数执行存储过程时,我的节点应用程序崩溃。

我尝试以多种方式处理错误,包括添加事件侦听器。我怀疑我用错了,但还没有弄清楚到底是怎么回事。