【发布时间】:2018-06-22 14:51:20
【问题描述】:
嗨,我在 node.js 上遇到 mssql 错误,我必须在数据库 sql server 2014 中插入一个包含 base64 文件的字符串,但是当我插入下面的代码时,出现以下错误:RequestError : 参数“Immagine”的验证失败。缓冲区无效。我该如何解决?
async function Reg(IdCantiere, IdUtenteCreazione, Data, Immagine) {
var ret = true;
await sql.connect(DbConfig.config);
try {
var request = new sql.Request();
request.input('IdCantiere', sql.Int, IdCantiere);
request.input('IdUtenteCreazione', sql.Int, IdUtenteCreazione);
request.input('Immagine', sql.VarBinary(sql.MAX), Immagine);
request.input('Data', sql.VarChar, Data);
var query = "insert into Rapporto(IdCantiere,IdUtenteCreazione,NumeroDocumento,Data,Immagine) values(@IDCantiere,@IdUtenteCreazione,( /* Carico il l'ultimo numero del rappportino di un utente*/ SELECT top 1 NumeroDocumento from Rapporto where Rapporto.IdUtenteCreazione=@IdUtenteCreazione and YEAR(Rapporto.Data)=YEAR(GETDATE()) order by CAST(Rapporto.NumeroDocumento as int) desc),@Data,@Immagine); SELECT SCOPE_IDENTITY() as valore;";
var recordset = await request.query(query);
request = new sql.Request();
request.input('IdRapporto', sql.Int, recordset.recordset[0].valore);
recordset = await request.query('Insert into RapportoMobile(IdRapporto) values(@IdRapporto);');
} catch (err) {
ret = false;
console.log("error -> ", err);
}
await sql.close();
return ret;
}
【问题讨论】:
-
您是否先将保存的内容投射到
varbinary? -
没有@feiiiiii....
-
然后这样做? cast('something' as varbinary(max))
-
@feiiiiii 我尝试在查询中强制转换,但我有同样的错误
标签: sql sql-server node.js mssql-jdbc