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!