NodeJS error sending parameters to SQL query

253 Views Asked by At

In a node app I am connecting to a SQL server using tedious.

If I execute a query including the parameters directly in the query, it returns the results normally.

If I add the parameters as it should be done, it returns the following error:

TypeError: type.writeTypeInfo is not a function
    at new RpcRequestPayload (C:\dev\backends\app\node_modules\tedious-promises\node_modules\tedious\lib\rpcrequest-payload.js:94:12)
    at Connection.execSql (C:\dev\backends\app\node_modules\tedious-promises\node_modules\tedious\lib\connection.js:883:58)
    at TediousPromise._executeRequest (C:\dev\backends\app\node_modules\tedious-promises\src\TediousPromise.js:306:16)
    at TediousPromise.<anonymous> (C:\dev\backends\app\node_modules\tedious-promises\src\TediousPromise.js:419:17)
    at _fulfilled (C:\dev\backends\app\node_modules\q\q.js:854:54)
    at C:\dev\backends\app\node_modules\q\q.js:883:30
    at Promise.promise.promiseDispatch (C:\dev\backends\app\node_modules\q\q.js:816:13)
    at C:\dev\backends\app\node_modules\q\q.js:624:44
    at runSingle (C:\dev\backends\app\node_modules\q\q.js:137:13)
    at flush (C:\dev\backends\app\node_modules\q\q.js:125:13)
    at processTicksAndRejections (node:internal/process/task_queues:78:11)

I am using the following code:

const td = require('../services/sql.service');
const TYPES = require('tedious').TYPES;

async function test(){
    return td.sql.sql("SELECT * FROM Table WHERE A = @a AND B = @b")
        .parameter('a',TYPES.Int,2021)
        .parameter('b',TYPES.Int,1258)
        .execute();

}

module.exports = {
    test
}

I'm using:

"tedious": "^14.4.0", "tedious-promises": "^0.4.1"

Thanks!

0

There are 0 best solutions below