[SQL] NodeJS와 MSSQL 패키지 오류가있는 저장 프로 시저를 실행
SQLNodeJS와 MSSQL 패키지 오류가있는 저장 프로 시저를 실행
필자는 아래의 코드를 사용하여 Microsoft SQL 서버에서 저장 프로 시저의 결과를 반환하는 MSSQL nodejs 패키지를 얻을하려고합니다. 그러나 내가 오류입니다 ...
[TypeError: Cannot read property 'type' of undefined]
난 아무데도 온라인으로 하나 개 이상의 입력이 예를 찾을 수 없습니다 나는 확실히 내가 올바르게 입력했을 아니에요.
어떤 아이디어?
exports.executeSqlStoredProd = function (callback) {
var conn = new sqlDb.Connection(settings.dbConfig)
conn.connect().then(function () {
var req = new sqlDb.Request(conn);
req.input('ProductEntryID', req.Int, 3299);
req.input('LoginEntryID', req.Int, 4);
req.input('TempLoginEntryId', req.Int, -1);
req.input('AddToWishList', req.Bit, 0);
req.input('WebPortalId', req.Int, 0);
req.execute('J_ViewAProduct').then(function(err, recordsets) {
console.log(recordsets);
callback(recordsets)
})}).catch(function(err){
console.log(err);
callback(null, err);
});
}
나는 성공적 패키지 "연속적인"을 사용하지만 사용 MSSQL에 선호 요청을했다. "연속적인"근무 코드는 다음과 같습니다.
exports.getVAP = function(req, resp, pid) {
sql.execute({
procedure: "J_ViewAProduct",
params: {
ProductEntryID: {
type: sql.INT,
val: pid
},
LoginEntryID: {
type: sql.Int,
val: 4
},
TempLoginEntryId: {
type: sql.Int,
val: -1
},
AddToWishList: {
type: sql.Bit,
val: 0
},
WebPortalId: {
type: sql.Int,
val: 0
}
}
}).then(function(results){
console.log(results)
httpMsgs.sendJSON(req, resp, results)
//httpMsgs.sendJSON(req, resp, results[0])
resp.end();
}), function(err){
httpMsgs.show500(req, resp, err)
}
};
해결법
-
==============================
1.나는 라인의 생각
나는 라인의 생각
req.input('ProductEntryID', req.Int, 3299); req.input('LoginEntryID', req.Int, 4); req.input('TempLoginEntryId', req.Int, -1); req.input('AddToWishList', req.Bit, 0); req.input('WebPortalId', req.Int, 0);
이는 보인다 그게 잘못된 req.input 있습니다.
이 코드를 시도하십시오
var sql = require('mssql'); var config = { user: 'sa', password: '---', server: 'localhost', // You can use 'localhost\\instance' to connect to named instance database: 'Test' } var getCities = function() { var conn = new sql.Connection(config); conn.connect().then(function(conn) { var request = new sql.Request(conn); request.input('City', sql.VarChar(30), 'Cbe'); request.input('NameNew', sql.VarChar(30), 'Cbe'); request.execute('spTest').then(function(err, recordsets, returnValue, affected) { console.dir(recordsets); console.dir(err); }).catch(function(err) { console.log(err); }); }); } getCities();
나는이 나 자신과 그 결과를주는 시도했다.
-
==============================
2.이 도움 여부 될 나도 몰라하지만 내가 한 방법이다
이 도움 여부 될 나도 몰라하지만 내가 한 방법이다
let executeQuery = async (value, country) => { try { let pool = await sql.connect(dbConfig); let results = await pool.request() .input('input_parameter', sql.Int, value) .input('Country', sql.VarChar(50), country) // .output('output_parameter', sql.VarChar(50)) .execute('procedure_name') console.dir(results); } catch (err) { res.json({ "error": true, "message": "Error executing query" }) } } executeQuery(value, country);
나는 더 읽을 수 있도록 비동기 및 await를 방법을 사용했습니다.
from https://stackoverflow.com/questions/38909920/running-a-stored-procedure-with-nodejs-and-mssql-package-error by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 두 번 항목 회계에 대한 관계형 데이터 모델 (0) | 2020.06.30 |
---|---|
[SQL] SQL 서버 클러스터 인덱스 - 인덱스 질문의 순서 (0) | 2020.06.30 |
[SQL] 빠른 속도로 ADO.NET을위한 도서관은 .csv 파일에서 데이터베이스에 데이터를 삽입 일괄? (0) | 2020.06.30 |
[SQL] 자동 증가는 자동 증가 필드없이 데이터베이스에 필드 (0) | 2020.06.30 |
[SQL] 불꽃의 그룹과 시간 창을 압연을 통해 집계하는 방법 (0) | 2020.06.30 |