У меня есть веб-сайт с формой, полной настроек, где каждый из входов сохраняет значение в базе данных MS SQL.
Но когда я установил для поля значение '', я получил следующее сообщение об ошибке: "Неверный поток протокола удаленного вызова процедур (RPC) входящего потока табличных данных (TDS). Параметр 3 (""): тип данных 0x00 неизвестно."
Мой сервис node.js вызывает хранимую процедуру, которая выглядит так:
CREATE PROCEDURE [dbo].[ckd_Configurations_Update]
@Key NVARCHAR(256),
@Value NVARCHAR(MAX)
AS
BEGIN
UPDATE [dbo].[ckd_Configurations] SET [Value]=@Value WHERE [Key]=@Key;
END
Моя таблица:
CREATE TABLE [dbo].[ckd_Configurations]
(
[Key] NVARCHAR(256) NOT NULL PRIMARY KEY,
[Value] NVARCHAR(MAX)
)
И, наконец, мой маршрут node.js для установки конфигураций:
router.post('/configurations/update', function (req, res) {
var request = new sql.Request(databaseConnection);
var configuration = req.body;
request.input('Key', sql.NVarChar(256), configuration.Key);
request.input('Value', sql.NVarChar(sql.MAX), configuration.Value);
request.execute('ckd_Configurations_Update', function (error, recordsets) {
if (error) {
res.json(new apiResponse(false, error.message));
} else {
res.json(new apiResponse(true, '', recordsets[0]));
}
});
});
NVarchar(MAX)
на некоторую фиксированную длину, например «NVarchar (4000)», и проверьте, работает ли она. - person Nilesh   schedule 18.02.2015