gpt4 book ai didi

javascript - Node.js 使用 mssql 访问数据库

转载 作者:行者123 更新时间:2023-12-02 22:41:27 24 4
gpt4 key购买 nike

我正在制作 Meteor.js 应用程序,我必须从 mssql 数据库获取数据。我使用 Meteor 1.8 和 npm 包 - mssql(版本 5.1.0)。这是我的代码:

const sql = require('mssql')

const config = {something}

export default function fetch(query) {
const config = {something}

sql.connect(config, err => {

if (err) {
console.error(err)
return
}

// create Request object
var request = new sql.Request()

// query to the database and get the records
request.query(query, (err, recordset) => {

if (err) {
console.error(err)
return
}

return recordset
})
})
}

我有这样的错误

TypeError: sql.connect is not a function

我不知道发生了什么,我尝试了很多方法,但都失败了。当我使用 ConnectionPool 时,我看到一条错误,指出 ConnectionPool 不是构造函数。执行此操作的正确方法是什么?

在我的配置文件中,我有:用户、密码、服务器、数据库、端口。

最佳答案

这似乎是因为您正在混合模块系统,您正在使用 require (类似于 CommonJS),但显然是 ECMAScript 模块(ESM)(来自 导出默认...)。 Node.js 本身不会让你这样做,但如果你使用某种 bundler 或转译器,也许它可能......

将您的 require 更改为:

import sql from "mssql";

...并确保 Node.js 使用 ESM1,我没有收到任何 sql.connect 不是函数的错误。

<小时/>

¹ 就我而言,由于我使用的是 Node.js v12,因此我通过在 package.json 中添加 "type": "module" 来实现这一点,通过 node --experimental-modules filename.js 运行它,更多 here .

关于javascript - Node.js 使用 mssql 访问数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58571675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com