我想用連接到我的sql服務器使用節點和hapi.js並在我的一個表上運行一個簡單的查詢。我對節點和Hapi相當陌生,所以我只是想弄明白這一點我想連接到我的SQL服務器數據庫與節點和hapi.js連接
所以首先我的文件夾結構如下我有一個名爲api的文件夾,裏面有路由,這就是我在做我的路由get_aosdata .js文件這個作品我測試了它只是回傳的「Hello World」,那麼我有下API查詢文件夾這就是我在connection.js
這是我的路線目前看起來像
設置我的DB連接'use strict';
const query = require('../query/connection');
module.exports = {
method: 'GET',
path: '/api/query/{id}',
config: {
pre: [
{ method: query.getSqlConnection, assign: 'db' }
],
handler: (request, reply) => {
const request = new db.Request();
request.query(`SELECT a.OrdNbr, a.sotypeid, a.user6, a.lupd_datetime, a.user3, a.crtd_user, a.S4Future01, a.slsperid, a.totmerch, a.CustOrdNbr from SOHeader a
join customer b
on a.CustID = b.CustId
join SOLine c
on a.OrdNbr = c.OrdNbr
where sotypeId = 'Q'`, ((err, recordset) => {
if (err) {
console.log(err);
}
reply(recordset);
}));
}
}
}
我打電話給一個prereq做我的連接這是這段代碼看起來像
const sql = require('mssql');
const dbConfig = {
server: 'myserver',
database: 'mydatabase',
user: 'myuser',
password: 'mypassword'
}
const getSqlConnection = (request, reply) => {
sql.connect(dbConfig, ((err) => {
if (err) {
console.log(err);
}
}));
return reply();
}
module.exports = getSqlConnection;
這是我的服務器
'use strict';
const Hapi = require('hapi');
const server = new Hapi.Server();
server.connection({ port: 3001, host: 'localhost' });
server.route(require('./api/routes/get_AOSdata'));
server.start((err) => {
if(err) {
throw err;
}
console.log(`Server running at: ${server.info.uri}`);
});
現在我的錯誤說前在位置0不符合任何允許的類型......我對這個錯誤無能,我不能在任何地方找到一個解決。我正在使用hapi和mssql使任何幫助,將不勝感激我是新的節點和hapi,但我已閱讀了很多關於hapi,並真的想使用它
輕微迂迴... http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick -using-table-aliases-like-abc-or-t1-t2-t3.aspx –
我完全同意你我只是試圖快速獲取數據以查看我的節點服務器工作 – josh
我只是使用自己的回調來返回數據庫句柄,而不是使用答覆,請參閱[這裏](https://github.com/simon-pr/hapi-sequelize-wrapper/blob/master/lib/index.js)的一個例子,用hapijs連接到sql數據庫 –