Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

221
Views
La mejor manera de guardar grandes datos en el servidor SQL usando Nodejs

Tengo un búfer de datos que es de aproximadamente 320 MB. Estoy tratando de guardarlo en la tabla del servidor SQL desde el nodo js.

¿Cuál es la mejor manera en que puedo hacer esto? Cuando trato de insertar los datos del búfer directamente, Cannot create a string longer than 0x1fffffe8 characters .

¿Qué puedo hacer para salvarlo?

Estos son mis datos de búfer

 <Buffer 53 6f 75 72 63 65 53 63 68 65 6d 61 2c 43 6f 75 6e 74 72 79 4e 61 6d 65 2c 49 44 2c 41 4d 54 5f 45 58 43 4c 5f 54 41 58 2c 41 4d 54 5f 49 4e 43 4c 5f ... 340629006 more bytes>

Estoy tratando de guardar estos datos en la base de datos usando la secuenciación como se muestra a continuación

 const DBMODEL = require("../../../models/SaveBufferData") module.exports = async (req, res) => { try{ var bufdata = req.file.buffer; var fdata = fs.writeFile('files/uploaded_files/' + req.body.fileName, bufdata, "utf8", function (err) { console.log('errrrr',err) stream = fs.createReadStream('files/uploaded_files/' + req.body.fileName); // Read and display the file data on console stream.on('data', function (chunk) { console.log(chunk); }); stream.on('end', function(){ console.log('stream ended') }) stream.on('open', function(){ console.log('File opened') }); }) var response = await DBMODEL.SaveBufferData(req.body.fileId, bufdata); } catch (error) { console.log('errorerror',error) res.status(500).json(ResponseManager(false, error.message)); }

Terminé con el siguiente error.

 node:buffer:669 slice: (buf, start, end) => buf.hexSlice(start, end), ^ Error: Cannot create a string longer than 0x1fffffe8 characters at Object.slice (node:buffer:669:37) at Buffer.toString (node:buffer:811:14) at BLOB._stringify (C:\IWA-BACKEND\PRIMS-local\PRIMS - Iwa\BACKEND\node_modules\sequelize\dist\lib\data-types.js:423:23) at BLOB.stringify (C:\IWA-BACKEND\PRIMS-local\PRIMS - Iwa\BACKEND\node_modules\sequelize\dist\lib\data-types.js:22:19) at escape (C:\IWA-BACKEND\PRIMS-local\PRIMS - Iwa\BACKEND\node_modules\sequelize\dist\lib\sql-string.js:40:48) at C:\IWA-BACKEND\PRIMS-local\PRIMS - Iwa\BACKEND\node_modules\sequelize\dist\lib\sql-string.js:101:14 at String.replace (<anonymous>) at Object.formatNamedParameters (C:\IWA-BACKEND\PRIMS-local\PRIMS - Iwa\BACKEND\node_modules\sequelize\dist\lib\sql-string.js:96:14) at Object.formatNamedParameters (C:\IWA-BACKEND\PRIMS-local\PRIMS - Iwa\BACKEND\node_modules\sequelize\dist\lib\utils.js:112:20) at Sequelize.query (C:\IWA-BACKEND\PRIMS-local\PRIMS - Iwa\BACKEND\node_modules\sequelize\dist\lib\sequelize.js:283:21) { code: 'ERR_STRING_TOO_LONG' }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Mirando la pila de llamadas, esto es lo que diagnostico que está sucediendo:

  1. Está pasando un archivo como un búfer (supongo que de multer) al módulo de nodo de secuenciación
  2. el módulo de nodo de secuela está llamando a Blob.stringify

paso 2) es donde probablemente esté alcanzando los límites superiores de longitud de cadena de nodo

Intente lo siguiente para probar esta hipótesis

-> pruebe este punto final con un archivo de menor tamaño y siga incrementando el tamaño de dicho archivo,

si este punto final tiene éxito para tamaños de archivo más pequeños y falla después de alcanzar un cierto tamaño de archivo, podemos mencionar con alta probabilidad que el problema es la conversión de archivo a búfer a cadena (ya que estamos alcanzando el techo del tamaño permitido de cadena por ya sea el proceso del nodo o la memoria del sistema)

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!