nodejs mmsql en vrac insérer dans la table temp

J’utilise mssql pour me connecter au serveur SQL 2012 avec node.js. J’ai découvert l’option d’insertion en bloc dans la documentation

Je veux insérer des données dans une table temporaire, ce que le doc dit que je peux faire. Voici ce que j’essaye:

createConnection(config.dbConfig); var table = new sql.Table('#atable'); table.create = true; table.columns.add('a', sql.Int, { nullable: false}); table.rows.add(1); table.rows.add(2); table.rows.add(3); var request = new sql.Request(); request.bulk(table, function(err, rowCount){ if(err){ console.log('bulk insert error'); console.log(err); } var taco = new sql.Request(); taco.query('select * from #atable', function(err, recordset){ if(err){ console.log('taco error:' + err); } console.log('taco recordset:'); console.log(recordset); }); }); 

Je reçois cette sortie:

erreur taco: RequestError: nom d’object non valide ‘#atable’.

Si je supprime le hachage, cela crée une vraie table sur le serveur. Je ne trouve aucun exemple utilisant une table temporaire. J’aimerais savoir comment faire cela. Si non, alors je vais devoir prendre une autre approche

Je suis passé à une instruction SQL régulière pour créer une table temporaire, puis j’ai essayé de l’interroger. Ce que j’ai réalisé, c’est que la new sql.Request était la plupart de mes problèmes. La table temporaire n’existe pas sur une autre connexion / demande / thread.

Donc c’était ma solution:

 var table = new sql.Table('#atable'); table.create = true; table.columns.add('a', sql.Int, { nullable: false}); table.rows.add(1); table.rows.add(2); table.rows.add(3); var request = new sql.Request(); request.bulk(table, function(err, rowCount){ if(err){ console.log('bulk insert error'); console.log(err); return; } request.query('select * from #atable', function(err, recordset){ if(err){ console.log('taco error:' + err); return; } console.log('taco recordset:'); console.log(recordset); }); }); 

C’est un changement subtil. Dans l’appel request.bulk, j’ai utilisé le même object de requête (requête nommée intelligemment) pour interroger la table. Je ne créais pas un nouvel object de connexion, je n’avais donc pas réalisé que j’utilisais une connexion dont la table n’existait pas.