我正在尝试从Windows 7中的Node.js连接到Oracle数据库。这可能吗?我没有找到Node.js的插件,它将为Windows执行此操作。有没有为此推荐的工作?我猜测至少有一个人想要在Windows上使用Node.js并且需要连接到Oracle。如果有必要,我愿意接受简单的解决方法。谢谢你的帮助。
答案 0 :(得分:2)
您需要直接从Node.js连接到oracle吗?您可以用另一种语言编写数据库事务,并通过Web服务将它们公开给Node.js.
答案 1 :(得分:1)
Oracle oracledb http://www.oracle.com/technetwork/database/database-technologies/node_js/oracle-node-js-2399407.html
制作了一个驱动程序更新: Oracle在GIT上发布了{{1}}驱动程序,允许nodejs应用程序连接到Windows上的oracle数据库。
答案 2 :(得分:1)
与我们多年来在ADO.NET中提供的强大且高性能的数据库驱动程序相比,Windows上node.js的数据库驱动程序状态似乎有些不成熟。
我会认真考虑使用Edge来调用C#或CLR程序集进程来访问您的数据库。您可以在C#中编写Repository样式数据访问层,并从node.js中调用它。
我已经证明这适用于使用C#,PetaPoco(可选),.NET 4.5和Oracle ODP驱动程序(Oracle.DataAccess.dll)的开发环境。这也适用于您可以在.NET中与之交谈的任何数据库。
调用.NET CLR函数的节点(server.js)示例:
var edge = require('edge');
// define CLR function proxy
var getData = edge.func({
assemblyFile: '../Repositories/bin/Debug/Repositories.dll',
typeName: 'Repositories.TestRepository',
methodName: 'GetData' // This must be Func<object,Task<object>>
});
// call proxy function
getData({ myParam:1 }, function (error, result) {
if (error) throw error;
console.log(result);
});
GetData C#看起来像这样(请注意,您需要将连接字符串放在包含node.exe的文件夹中的node.exe.config中):
public async Task<object> GetData(object param)
{
using (var db = new Database("NameOfConnString"))
{
return db.Fetch<dynamic>("SELECT * FROM sometable");
}
}
(请注意,Oracle.DataAccess.dll需要位于包含node.exe的文件夹中。)
答案 3 :(得分:0)
http://github.com/mariano/node-db-oracle该项目旨在为nodejs添加oracle支持
编辑: 现在有一个用于Oracle的office nodejs驱动程序,由Oracle称为node-oracle
https://blogs.oracle.com/opal/entry/introducing_node_oracledb_a_node
答案 4 :(得分:0)
此驱动程序适用于Window:https://npmjs.org/package/oracle
与Stack Overflow上的类似问题: Connect Node.js with Oracle on Windows platform