Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 将.db文件与MS Chatbot一起使用_Database_Sqlite_Azure_Request_Chatbot - Fatal编程技术网

Database 将.db文件与MS Chatbot一起使用

Database 将.db文件与MS Chatbot一起使用,database,sqlite,azure,request,chatbot,Database,Sqlite,Azure,Request,Chatbot,以下是我的情况:我正在使用Node.js在Microsoft azure平台上开发聊天机器人。目前,bot消息是用.json文件硬编码的。 我想通过调用数据库来改进它 我有一个SQLite数据库文件工作正常(我使用了SQLite浏览器并提出了请求)。但问题是: 如何使用项目中的.db文件?这是否可能以某种方式从对话框中“读取”数据库文件,然后请求从数据库中获取所需内容 我知道您可以使用聊天机器人调用数据库,但这里的问题是,我只有文件,没有部署要调用的内容 结果应给出的示例: “嘿,聊天机器人,

以下是我的情况:我正在使用Node.js在Microsoft azure平台上开发聊天机器人。目前,bot消息是用.json文件硬编码的。 我想通过调用数据库来改进它

我有一个SQLite数据库文件工作正常(我使用了SQLite浏览器并提出了请求)。但问题是:

如何使用项目中的.db文件?这是否可能以某种方式从对话框中“读取”数据库文件,然后请求从数据库中获取所需内容

我知道您可以使用聊天机器人调用数据库,但这里的问题是,我只有文件,没有部署要调用的内容

结果应给出的示例:

“嘿,聊天机器人,告诉我有关蒙娜丽莎的事”
这将触发询问数据库的对话框:“从arts.title(如“%Mona Lisa%”)中选择信息”
并在session.send中发送结果

谢谢


注意:我只是我公司的一名实习生,数据库文件是他们给我的唯一东西,我必须用它找到解决方案

经过一些研究,我得到了解决方案: 首先,您需要使用npm安装sqlite3,然后在代码开头使用:

var sqlite3 = require('sqlite3').verbose();
var path = require('path');
var db_path = path.resolve(__dirname, name_Of_Your_DB);
然后根据您需要的请求处理您的文件:

var db = new sqlite3.Database(db_path, sqlite3.OPEN_READONLY,(err) => {
      if (err) {
        return console.error(err.message);
      }
      //console.log("Stuff that is processed only if no error happened.");
    });
var req = "YOUR REQUEST";
    db.get(req, [your_parameter],(err, row) => {
      if (err) {
        return console.error(err.message);
      }
    });

    db.close((err) => {
      if (err) {
        return console.log(err.message);
      }
    });
关于node.js和sqlite3的文档非常完整: