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