使用Node.js Windows连接到Oracle数据库

时间:2012-04-04 19:11:48

标签: windows oracle node.js

我正在尝试从Windows 7中的Node.js连接到Oracle数据库。这可能吗?我没有找到Node.js的插件,它将为Windows执行此操作。有没有为此推荐的工作?我猜测至少有一个人想要在Windows上使用Node.js并且需要连接到Oracle。如果有必要,我愿意接受简单的解决方法。谢谢你的帮助。

5 个答案:

答案 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