Javascript 使用节点mssql如何创建数据库?

Javascript 使用节点mssql如何创建数据库?,javascript,sql-server,node.js,node-mssql,Javascript,Sql Server,Node.js,Node Mssql,我尝试了execute方法: const sql = require('../node_modules/mssql'); var dbname = 'AddressBook'; sql.connect('mssql://sa:1234@localhost/').then(pool => { return pool.request().input('db_name', sql.TYPES.Text, dbname).query`select db_id(@db_name) as idn`

我尝试了
execute
方法:

const sql = require('../node_modules/mssql');
var dbname = 'AddressBook';
sql.connect('mssql://sa:1234@localhost/').then(pool => {
  return pool.request().input('db_name', sql.TYPES.Text, dbname).query`select db_id(@db_name) as idn`.then(result => {
    if (result[0].idn === null) {
      return pool.request().input('db_name', sql.TYPES.Text, dbname).execute`create database @db_name`;
    }
  }).catch(err => {throw(err)});
}).catch(err => console.log(err));
      return pool.request().input('db_name', sql.TYPES.Text, dbname).query`create database @db_name`;
我得到:

消息:“传入的表格数据流(TDS)远程过程调用(RPC)协议流不正确。RPC名称无效。“

还尝试了
查询
方法:

const sql = require('../node_modules/mssql');
var dbname = 'AddressBook';
sql.connect('mssql://sa:1234@localhost/').then(pool => {
  return pool.request().input('db_name', sql.TYPES.Text, dbname).query`select db_id(@db_name) as idn`.then(result => {
    if (result[0].idn === null) {
      return pool.request().input('db_name', sql.TYPES.Text, dbname).execute`create database @db_name`;
    }
  }).catch(err => {throw(err)});
}).catch(err => console.log(err));
      return pool.request().input('db_name', sql.TYPES.Text, dbname).query`create database @db_name`;
我明白了

消息:“靠近\'@db_name\'的语法不正确。”


是否有其他方法,或者我缺少了什么?

此方法有效
返回pool.request().query(`create database${dbname}`)-我认为您过度使用了标记模板:p@JaromandaX非常感谢,它成功了。但是我尝试的和你的有什么区别呢?首先,
创建数据库“地址簿”
(这是你的代码可能尝试的)是无效的,它是
创建数据库“地址簿”
(不带引号)-其次,标记的模板语法使得请求更加不正确-我不完全理解标记的模板,因此我无法解释它是的,从“正确”版本中删除了
:p抱歉,复制/粘贴laziness@JaromandaX非常感谢。