在 javascript ('dbo.index') 中通过 mssql 从 SQL Server

我必须dbo.Index在我的节点 js express 应用程序中读取一个从 SQL Server 命名的表,但它失败并且什么也不返回。


这是我的代码:


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)

        })

    })


})

我已经测试了这段代码,它适用于其他表,但是使用这个特定的名称dbo.Index,它会失败。


我必须阅读它,我不能更改表名(没有权限)。


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


泛舟湖上清波郎朗
浏览 106回答 1
1回答

繁花如伊

INDEX是一个保留字,所以你需要把它用方括号括起来,像这样:SELECT * FROM [dbo].[Index]通常最好尽量避免在表名或列名中使用保留字,因为这很容易导致混淆、错误和错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript