无法使用 Node.js、mssql 和express 连接到 Microsoft SQL Server

2024-02-23

我正在尝试学习 Node.js 并创建了一个简单的项目来查询本地数据库。但我无法查找实例错误消息。

我已经检查了 services.msc 中运行的 SQL Server 服务

我已验证 TCP/IP 已启用

我尝试过使用用户名和密码,也尝试过不使用它。我在 SQL Server Management Studio 中连接到 localdb 作为(localdb)\v11.0下面是属性的屏幕截图

我做错了什么?实际的用户名和密码应该是什么?服务器名称应该是什么?

const sql = require('mssql');

// config for your database
const config = {
    user: 'mywindows username',
    password: 'my windows password',
    server: '(localdb)\\v11.0', 
    database: 'test',
    options: {
        encrypt: true
      } 
};
console.log('starting sql');

var connection = new sql.connect(config, function(err) {
    console.log(err);
    var request = new sql.Request(connection); 
    request.query('select * from employees', function(err, recordset) {
       if(err)      // ... error checks 
            console.log('Database connection error');

    console.dir("User Data: "+recordset);
    });
});
sql.close();
console.log('ending sql');    
});

app.listen(3002, () => {
    console.log('Listening on port 3002');})

下面是错误信息

{ ConnectionError:无法在(localdb)上查找实例 - getaddrinfo ENOTFOUND (localdb) 在 Connection.tedious.once.err (C:\Users\vndbsubramaniam\Desktop\React 项目\ReactWithSql\node_modules\mssql\lib\tedious.js:244:17) 在 Object.onceWrapper (events.js:285:13) 在 Connection.emit (events.js:197:13) 在 InstanceLookup.instanceLookup (C:\Users\vndbsubramaniam\Desktop\React 项目\ReactWithSql\node_modules\tedious\lib\connection.js:945:16) 在 sender.execute (C:\Users\vndbsubramaniam\Desktop\React 项目\ReactWithSql\node_modules\tedious\lib\instance-lookup.js:66:13) 在 GetAddrInfoReqWrap.invokeLookupAll [作为回调] (C:\Users\vndbsubramaniam\Desktop\React 项目\ReactWithSql\node_modules\tedious\lib\sender.js:43:16) 在 GetAddrInfoReqWrap.onlookupall [as oncomplete] (dns.js:70:17) 代码:'EINSTLOOKUP',originalError:{ ConnectionError:无法 在 (localdb) 上查找实例 - getaddrinfo ENOTFOUND (localdb) 在 ConnectionError (C:\Users\vndbsubramaniam\Desktop\React 项目\ReactWithSql\node_modules\tedious\lib\errors.js:13:12) 在 InstanceLookup.instanceLookup (C:\Users\vndbsubramaniam\Desktop\React 项目\ReactWithSql\node_modules\tedious\lib\connection.js:945:32) 在 sender.execute (C:\Users\vndbsubramaniam\Desktop\React 项目\ReactWithSql\node_modules\tedious\lib\instance-lookup.js:66:13) 在 GetAddrInfoReqWrap.invokeLookupAll [作为回调] (C:\Users\vndbsubramaniam\Desktop\React 项目\ReactWithSql\node_modules\tedious\lib\sender.js:43:16) 在 GetAddrInfoReqWrap.onlookupall [未完成] (dns.js:70:17) 信息: '无法在 (localdb) 上查找实例 - getaddrinfo ENOTFOUND (localdb)', code: 'EINSTLOOKUP' }, name: 'ConnectionError' } 数据库连接错误


经过几个小时的努力终于在这里找到了答案SQL 到节点的连接 https://stackoverflow.com/questions/33709807/how-to-connect-to-sql-server-with-windows-authentication-from-node-js-using-mssq

看来我必须添加 msnodesqlv8 包并使用将驱动程序语法添加到配置中。

app.get('/test', (req, res) => {

const sql = require('mssql/msnodesqlv8');

// config for your database
const config = {
    database: 'test',
    server: '(localdb)\\v11.0',
    driver: 'msnodesqlv8',
    options : {
        trustedConnection : true
    }
};
console.log('starting sql');

const pool = new sql.ConnectionPool(config);
pool.connect().then(() => {
    //simple query
    pool.request().query('select * from employees', (err, result) => {
          if(err) res.send(err)
          else{
              return res.json({
                  data : result.recordset
              })
          }
      })
      sql.close();
})    
console.log('ending sql');    

});

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 Node.js、mssql 和express 连接到 Microsoft SQL Server 的相关文章

  • 启动nodejs时出错:openssl配置失败

    启动 Express 节点时出现以下错误 openssl 配置失败 错误 02001003 系统库 fopen 没有这样的 过程 节点无论如何都会启动 我没有尝试使用 SSL 这是起始代码 app Express app set port
  • 加密数据库字段的好方法?

    我被要求加密数据库中的各种数据库字段 问题是这些字段在读取后需要解密 我在用着Django and SQL Server 2005 有什么好主意吗 See 在 SQL Server 2005 数据库中使用对称加密 https web arc
  • EJS在JS onload函数中访问express变量

    我知道你可以像这样获取 ejs 文件中变量的值 h1 h1 如果我要在同一个 ejs 页面的 onload javascript 函数中使用相同的标题变量 我将如何使用它 例如 这个函数产生一个控制台错误说 未捕获的语法错误 意外的标识符
  • 使用 IP 地址连接到另一台计算机

    我在计算机上安装了 NodeJS 并运行了一些测试 一切正常my机器 现在我想要一个不在同一网络中的朋友连接到我的计算机 以便 NodeJS 可以响应我朋友的请求 但我不知道 我必须在哪个IP和端口上监听 我也不知道 我必须给我的朋友哪个I
  • 如何在 SEQUELIZE (nodeJS) 中创建触发器?

    我正在尝试使用sequelize 创建一个触发器 主要思想是创建一个实例CONFIG创建后USER USER MODEL module exports function sequelize DataTypes var User sequel
  • NodeJS:如何获取服务器的端口?

    您经常会看到 Node 的示例 hello world 代码 它创建一个 Http Server 开始侦听端口 然后执行以下操作 console log Server is listening on port 8000 但理想情况下你会想要
  • 从 readFile 返回未定义[重复]

    这个问题在这里已经有答案了 我正在尝试让以下代码工作 use strict var fs require fs var fileName readme txt var str fs readFile fileName utf8 functi
  • 解析带下划线的 SQL Server 数字文字

    我想知道它为什么有效以及为什么它不返回错误 SELECT 2015 11 Result 11 2015 第二种情况 SELECT 2 1 a a 2 1 检查元数据 SELECT name system type name FROM sys
  • 数字表与递归 CTE 生成一系列数字

    为什么使用数字表比使用递归 CTE 动态生成它们要快得多 在我的机器上 给定一张桌子numbers单列n 主键 包含从1到100000的数字 查询如下 select n from numbers 大约需要 400 毫秒才能完成 使用递归 C
  • Socket.io v3 不支持的协议版本错误

    我坚持使用较新版本的 socket io 一切都很好 但是当我想升级到 socket io 3 时 一切都崩溃了 目前在客户端上 我收到一个 400 HTTP 状态代码 并带有以下 JSON 响应 code 5 message Unsupp
  • tsconfig.json 中模块类型的区别

    在 tsconfig json 中 compilerOptions target es5 module commonjs moduleResolution node sourceMap true emitDecoratorMetadata
  • SELECT max(x) 返回 null;我怎样才能让它返回0?

    运行以下命令时如何返回 0 而不是 null SELECT MAX X AS MaxX FROM tbl WHERE XID 1 假设没有XID 1的行 or SELECT coalesce MAX X 0 AS MaxX FROM tbl
  • 使用 vscode 调试器调试 next.js

    我已经使用安装了一个项目创建下一个应用程序 https github com segmentio create next app 我需要使用我的编辑器 vscode 调试服务器端渲染 所以我访问过vscode recipes 如何调试 ne
  • 如何将 NODE_EXTRA_CA_CERTS 的值传递给使用 Serverless 部署的 AWS Lambda?

    我正在部署一个节点AWS Lambda https aws amazon com lambda with 无服务器 https github com serverless serverless 由于运行此代码的机构的内部要求 我需要通过额外
  • 使用nodegit切换分支/标签

    我整个早上都在尝试打开现有的存储库并使用 nodegit 更改分支或标签 文档内容很丰富 但似乎已经过时了 关于我做错了什么有什么想法吗 var NodeGit require nodegit var open NodeGit Reposi
  • 如何在 SQL Server 中连接

    我的数据库没有特定的列 因此我通过开关在查询中创建了一个列 我需要的是将此列与数据库中的另一列连接起来 select certificateDuration DurationType case when certificateDuratio
  • Angular 2+ 安全性;保护服务器上的延迟加载模块

    我有一个 Angular 2 应用程序 用户可以在其中输入个人数据 该数据在应用程序的另一部分进行分析 该部分仅适用于具有特定权限的人员 问题是我们不想让未经授权的人知道how我们正在分析这些数据 因此 如果他们能够在应用程序中查看模板 那
  • 模块构建失败(来自 ./node_modules/babel-loader/lib/index.js)Vue Js

    我从 GitHub 下载了一个我和我的朋友正在开发的项目 但是当我尝试运行时 npm run serve 我收到这个错误 src main js 中的错误 Module build failed from node modules babe
  • 摆脱node-jsx

    在我的 NodeJS 应用程序的路由器中 我想渲染一个 React 应用程序 由于它没有被浏览器化 并且已反应 因此它返回unexpected token lt 构建时出错 我发现如果我require node jsx install 它不
  • SQL 更新 - 更新选定的行

    我正在使用 SQL Server 2008 我有一个名为MYTABLE有两列 ID STATUS 我想编写一个存储过程来返回其记录STATUS是 0 但是这个存储过程必须更新STATUS返回行数为 1 如何在单个查询中执行此选择和更新操作

随机推荐

  • alpine 包 py-pip 丢失

    我尝试使用 Docker compose 文件在我的 alpine 中安装 python pip 但出现以下错误 ERROR unsatisfiable constraints py pip missing required by worl
  • React 中的类变量与 ES6

    这个问题可能已经在其他地方得到了回答 但在标记为重复之前 请帮助我解决这个问题 我指的是使用react和d3的以下codepen https codepen io swizec pen oYNvpQ https codepen io swi
  • 滚动查看并刷新内容

    我使用以下用户界面 父级相对布局parentLayout尺寸为 800x600 宽 x 高 第二个相对布局childLayout 它是父布局的子布局 它的尺寸为 800x1000 即它大于父布局 parentLayout addView c
  • 在 xampp windows 中安装 Yaml

    我正在尝试安装YAML http www yaml org in XAMPP windows 64 bit 从以下位置下载了 dll 文件http pecl php net package yaml 1 1 1 windows http p
  • 如何使用子进程popen Python [重复]

    这个问题在这里已经有答案了 Since os popen正在被取代subprocess popen 我想知道如何转换 os popen swfdump tmp filename swf d to subprocess popen I tri
  • PHP ini file_get_contents 外部 url

    我使用以下 PHP 函数 file get contents http example com 每当我在某个服务器上执行此操作时 结果都是空的 当我在其他地方执行此操作时 结果就是页面的内容是什么 然而 当我在结果为空的服务器上 在本地使用
  • iOS 启动故事板:如何更改选项卡栏的色调颜色?

    我在做什么 使用 启动故事板 它非常简单 并且包含一个默认的 UITabBarController 我已在启动情节提要以及我的应用程序中将选项卡栏的 tintColor 设置为红色 我使用的是 Xcode 7 iOS 9 什么不起作用 启动
  • 为什么“IN”查询标签在sql存储过程中的成本如此之高?

    如何改善我的性能问题 我有一个带有 IN 的 sql 查询 我猜 IN 会造成一些代价高昂的性能问题 但我需要索引我的 sql 查询吗 Mysql查询 SELECT p ReferencedxxxId FROM Common xxxRefe
  • 插槽算作 Azure 中的 VM 吗?

    我目前有一个通过应用服务免费计划部署到 Azure 的 Web 应用程序 作为上线的一部分 我有兴趣转向使用插槽 这主要是因为它使我能够将新代码部署到暂存中 然后在经过验证后无缝切换 现在 要使用插槽 我知道我需要标准计划 并且该计划至少需
  • 如何通过 Gmail API 发送电子邮件?去

    我正在尝试通过以下方式发送电子邮件谷歌邮箱API https developers google com gmail api v1 reference users messages send using Go http golang org
  • python 导入应该花这么长时间吗?

    对于以下命令 time python test py 在此脚本上 test py import numpy as np from math import import matplotlib pyplot as plt import matp
  • 如何设置$_GET变量

    我如何设置变量 GET函数将能够使用 无需提交表单action GET GET包含在 URL 中传递给脚本的键 值 如果您有以下网址 http www example com test php a 10 b plop Then GET将包含
  • android c2dm编程示例

    我是 Android 应用程序开发新手 我正在使用 c2dm 开发 Android 应用程序 谁能告诉我如何从 c2dm 接收应用程序的注册 ID 请告诉我详细的例子和解释 public class C2dmEx extends Activ
  • 使用 GoogleMaps 时,myLocationEnabled 会在 swift 上更改为 isMyLocationEnabled

    我正在尝试使用谷歌地图 API 来显示用户当前位置 我已经为这个问题苦苦挣扎了好几个星期 代码可以运行 但当我更改模拟器中的位置时 代码不会更新到当前位置 我的代码如下 在查看其他人如何执行此操作后 他们都有 mapView myLocat
  • 如何清理这个 jinja2 和/或布尔表达式

    block content for blog dict in blogs sort reverse True attribute date if not file name filter or blog dict filename file
  • MongoDB - 查询数组的最后一个元素?

    我知道 MongoDB 支持以下语法find array 0 field value 但我特别想对数组中的最后一个元素执行此操作 这意味着我不知道索引 有某种操作员可以做到这一点 还是我运气不好 编辑 为了澄清 我希望 find 仅返回数组
  • CMake add_custom_command() POST_BUILD 生成器表达式扩展不起作用

    我想在构建后运行 POST BUILD 操作 但仅在调试配置中 看完之后add custom command 文档 https cmake org cmake help latest command add custom command h
  • 如何使用 JavaScript 将数据写入文本文件

    我在使用 JavaScript 将日期写入文件 Test txt 时遇到一些问题 我也找到了很好的答案 但我仍然无法解决它 这是我的代码
  • 如何在 Node js 上提供 mp3 文件?

    我正在构建简单的网络应用程序 如果用户按下按钮 它将发出声音 服务器端的 mp3 文件 html file
  • 无法使用 Node.js、mssql 和express 连接到 Microsoft SQL Server

    我正在尝试学习 Node js 并创建了一个简单的项目来查询本地数据库 但我无法查找实例错误消息 我已经检查了 services msc 中运行的 SQL Server 服务 我已验证 TCP IP 已启用 我尝试过使用用户名和密码 也尝试