繁体   English   中英

如何在 Node JS 中将数据保存到 SQL Server?

How can I save data to SQL Server in Node JS?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个 NodeJS 项目,它使用存储过程将数据保存到数据库,我构建了这段代码,在这里询问并查看Microsoft文档,问题是每次我使用node app.mjs运行我的代码时,我都会收到相同的消息错误:

Successful connection
Couldn't insert data: Error: Requests can only be made in the LoggedIn state, not the SentClientRequest state
Couldn't insert data: Error: Connection closed before request completed.

我在这里搜索并阅读了一些文档,我更改了这个问题的代码,但都有效。 我想修复这两个错误,因为您可以看到我的连接中的一切正常,只是我无法执行我的 SP。 这是我如何进行连接并运行我的函数的代码:

connection.on("connect", function (err) {
  if (err) {
    console.log("Failed to connect!!! ", err);
  } else {
    console.log("Successful connection");
    calcWeather();
  }
});
connection.connect();

这是我如何尝试保存数据,将其保存到一个对象,然后使用来自tediousrequest

function calcWeather() {
  const data = [
    {
      latjson: 21.1236,
      lonjson: -101.6737,
      idoficina: "3",
    },
    {
      latjson: 21.8818,
      lonjson: -102.2911,
      idoficina: "4",
    },
  ];
  for (let item of data) {
    let url = `https://api.openweathermap.org/data/2.5/weather?lat=${item.latjson}&lon=${item.lonjson}&appid=${api_key}&units=metric&lang=sp`;
    fetch(url)
      .then((response) => {
        return response.json();
      })
      .then(function (data) {
        var myObject = {
          Id_Oficina: item.idoficina,
          Humedad: data.main.humidity,
          Nubes: data.clouds.all,
          Sensacion: data.main.feels_like,
          Temperatura: data.main.temp,
          Descripcion: data.weather[0].description,
        };
        // validation
        if (myObject.Temperatura < 99) {
          const request = new Request(
            "EXEC USP_BI_CSL_insert_reg_RegistroTemperaturaXidOdicina @IdOficina, @Humedad, @Nubes, @Sensacion, @Temperatura, @Descripcion",
            function (err) {
              if (err) {
                console.log("Couldn't insert data: " + err);
              }
            }
          );
          request.addParameter("IdOficina", TYPES.SmallInt, myObject.Id_Oficina);
          request.addParameter("Humedad", TYPES.SmallInt, myObject.Humedad);
          request.addParameter("Nubes", TYPES.SmallInt, myObject.Nubes);
          request.addParameter("Sensacion", TYPES.Float, myObject.Sensacion);
          request.addParameter("Temperatura", TYPES.Float, myObject.Temperatura);
          request.addParameter("Descripcion", TYPES.VarChar, myObject.Descripcion);
          request.on("row", function (columns) {
            columns.forEach(function (column) {
              if (column.value === null) {
                console.log("NULL");
              } else {
                console.log("Product id of inserted item is " + column.value);
              }
            });
          });
          request.on("requestCompleted", function (rowCount, more) {
            connection.close();
          });
          connection.execSql(request);
        }
      });
  }
}
问题暂未有回复.您可以查看右边的相关问题.
1 如何跨 node.js 服务器保存数据?

我正在使用 Heroku 来托管一个 node.js 服务器,其中一个变量存储了使用该站点的每个用户在其上单击了某些内容的次数。 单击时,变量会增加 1。但是,Heroku 会执行此操作,其中 15 分钟不活动会导致站点进入睡眠状态,并且一切都会重置。 我尝试使用 node.js 写入文件并保存它, ...

4 如何使用express在节点js服务器中接收发布数据?

我尝试了两个中间件,但仍然在终端中得到这个输出: 我的节点js服务器代码: 我的表单(client.html 文件): 我也试过用邮递员发送帖子数据。 我知道 html 表单中的操作正在工作,因为我可以在浏览器中看到“这是一个测试路径”的输出 ...

5 如何使用 Node.js 将 HTML 表单数据保存到 SQL Server 数据库

我用它来访问服务器,我在 StackOverflow 中找到了这段代码,但我不太明白我必须使用端口和用户名以及密码访问某些服务器。 我必须将我制作的 HTML 表单页面中的数据插入 SQL Server 数据库,但我无法理解这些代码的逻辑,这使我无法连接到 SQL,我需要解释以及如何连接和添加使用用 ...

6 如何将项目保存到SQL Server?

我有一个可以上传三张图片的网站,该页面在SQL Server的表格中保存了一些其他数据,但它保存了一张图片的名称,这些图片与数据库中的图片相同。 当然,图片的名称在保存的文件夹中是不同的。 我的代码: 我在存储库中写道: 但它保存了相同的名称。 ...

7 如何使用Node.js将数据保存到mysql服务器

我目前正在尝试为我的项目构建一个应用程序。 这是我第一次编程以及使用node.js,我已经成功将node.js与mysql连接,并且能够将数据保存到mysql服务器。 但是,我要保存的某些数据被声明为未定义 目前我的代码看起来像这样 imap.once('ready',funct ...

8 如何将大量数据写入/保存到节点 js 服务器?

我有 ac# 软件,它将大量存储在集合中的数据发送到 node.js 后端,目前我在 c# 端将数据编码为 base64 并使用 POST 发送,存储在正文中。 这是节点上的代码,但是它弄乱了数据,最后,尤其是较大的文件,被“ ”之类的字符损坏而不是实际数据,我该怎么办? 此外,服务器应该能够 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM