首页 > 解决方案 > 在 deno 中连接到 SQL Server 时出错:“找不到模块加密”

问题描述

我正在尝试将 nodejs MS SQL Server 应用程序移植到 deno。我正在使用节点兼容性库来允许使用 npm mssql 包:

import { createRequire } from "https://deno.land/std/node/module.ts";
const require = createRequire(import.meta.url);
const sql = require('mssql')

async () => {
    try {
        await sql.connect('mssql://user:pwd@host/database')
        const result = await sql.query`select * from the_table`
        console.dir(result)
    } catch (err) {
        console.log('Error:', err)
    }
}

但是我收到一个错误:

错误:未捕获错误:找不到模块“加密”需要堆栈:

  • C:\WORK\LEARN\DENO\node_modules\tedious\lib\connection.js
  • C:\WORK\LEARN\DENO\node_modules\tedious\lib\tedious.js
  • C:\WORK\LEARN\DENO\node_modules\mssql\lib\tedious.js

注意:升级到最新版本的 mssql 有所帮助,得到了一个不同的错误,“无法找到模块 tty”,我想我可以弄清楚。

标签: node.jssql-serverdeno

解决方案


Node 内部的加密库由 mssql 库在内部使用,但是还没有完全移植到 Deno,正如您在此处看到的那样

https://deno.land/std@0.83.0/node


推荐阅读