javascript ('dbo.index') 中的 mssql 从 SQL 服务器读取特定 table 的问题

Problem with Reading a specific table from SQL Server by mssql in javascript ('dbo.index')

我必须在我的 node js express 应用程序中从 SQL 服务器读取名为 dbo.Index 的 table,但它失败了并且 returns 什么都没有。

这是我的代码:

app.get('/getData',  (req, res, next) => {
    const config = {
        user: 'sa',
        password: '12345',
        server: 'localhost',
        database: 'myDB'
    }
    const pool = new sql.ConnectionPool(config)

    pool.connect(err => {
        if (err) console.log(err)
        console.log('connected.')

        const request = new sql.Request(pool)
        request.query(`SELECT * FROM dbo.Index`, (error, recordSet) => {
            if (err) console.log(error)
            res.send(recordSet)
        })
    })

})

我已经测试了这段代码,它与 other tables 一起运行良好,但是使用这个特定名称 dbo.Index,它失败了。

我必须阅读它并且我不能更改table名称(没有权限)

我使用 node-mssql 包来连接数据库。

INDEX 是一个 Reserved word,因此您需要将其括在方括号中,如下所示:

SELECT * FROM [dbo].[Index]

通常最好尽量避免对 table 或列名使用保留字,因为这很容易导致混淆、错误和错误。