无法使用 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 的相关文章

随机推荐

  • 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 已启用 我尝试过使用用户名和密码 也尝试