如何使用sails-sqlserver调用存储过程?
How to call stored procedure using sails-sqlserver?
我是新手。我想使用 sails-sqlserver 适配器调用存储过程。程序 returns 结果集使用连接多个 table 的查询。
我能够弄清楚如何调用过程。我正在连接到 SQL 服务器数据库。 sails 不提供默认适配器来连接到 SQL 服务器。为此,我使用了 sails-sqlserver 适配器。
我观察到的几点。
- 要调用过程或查询,我们需要一个模型。
- 您不需要 table 数据库中的模型名称。你也不需要
在模型文件中指定属性。
- 当我在我的型号名称中使用破折号“-”时,它不起作用。示例 "Report-data"
- 我在我的模型名称中使用了下划线并且它起作用了。示例 "Report_data"
为了生成控制器和模型,我使用了以下命令:
sails generate api Report_data
以上命令将创建控制器文件和模型文件。
- 您需要在 route.js 文件中添加路由。例如这就是我所做的
'/api/Report_data':{
controller:'Report_dataController',
action: 'getReport'
}
- 您需要在控制器中编写操作 "Report_data"。下面是我的控制器代码
module.exports = {
'getReport':function(req,res){
Report_data.query('get_sample_report',function(err,resultSet){
if(err){
res.json(err);
}
else{
res.ok(resultSet);
}
});
}
};
就是这样。扬帆起航,在浏览器中调用 api:
http://localhost:1337/api/Report_data
注意:我在 blueprint.js 文件
中禁用了所有 blueprint/waterline 默认路由
//blueprint.js
action:false,
rest:false,
shortcuts:false
此外,如果您的 sql 服务器连接不工作,请确保您没有在主机名中提供端口。例如,我在 sql 服务器管理工作室中使用的 sql 服务器的主机名是 "servername.domainname.com/zone1,1433".
当我在 connection.js 文件中使用相同的主机名时。它没有用。我从 connection.js 文件(主机 属性)中删除了 "zone1,1433" 并且连接正常。
我是新手。我想使用 sails-sqlserver 适配器调用存储过程。程序 returns 结果集使用连接多个 table 的查询。
我能够弄清楚如何调用过程。我正在连接到 SQL 服务器数据库。 sails 不提供默认适配器来连接到 SQL 服务器。为此,我使用了 sails-sqlserver 适配器。
我观察到的几点。
- 要调用过程或查询,我们需要一个模型。
- 您不需要 table 数据库中的模型名称。你也不需要 在模型文件中指定属性。
- 当我在我的型号名称中使用破折号“-”时,它不起作用。示例 "Report-data"
- 我在我的模型名称中使用了下划线并且它起作用了。示例 "Report_data"
为了生成控制器和模型,我使用了以下命令:
sails generate api Report_data
以上命令将创建控制器文件和模型文件。
- 您需要在 route.js 文件中添加路由。例如这就是我所做的
'/api/Report_data':{
controller:'Report_dataController',
action: 'getReport'
}
- 您需要在控制器中编写操作 "Report_data"。下面是我的控制器代码
module.exports = {
'getReport':function(req,res){
Report_data.query('get_sample_report',function(err,resultSet){
if(err){
res.json(err);
}
else{
res.ok(resultSet);
}
});
}
};
就是这样。扬帆起航,在浏览器中调用 api: http://localhost:1337/api/Report_data
注意:我在 blueprint.js 文件
中禁用了所有 blueprint/waterline 默认路由//blueprint.js
action:false,
rest:false,
shortcuts:false
此外,如果您的 sql 服务器连接不工作,请确保您没有在主机名中提供端口。例如,我在 sql 服务器管理工作室中使用的 sql 服务器的主机名是 "servername.domainname.com/zone1,1433".
当我在 connection.js 文件中使用相同的主机名时。它没有用。我从 connection.js 文件(主机 属性)中删除了 "zone1,1433" 并且连接正常。