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

我试图从Windows 7中的Node.js连接到Oracle数据库。这可能吗? 我还没有find一个Node.js的插件,这将为Windows做到这一点。 有没有推荐的解决方法呢? 我猜测至less还有一个人希望在Windows上使用Node.js,并且需要连接到Oracle。 如果这是必要的,我打开简单的解决方法。 谢谢您的帮助。

Solutions Collecting From Web of "使用Node.js Windows连接到Oracle数据库"

你需要直接从Node.js连接到oracle吗? 您可以用另一种语言编写数据库事务,并通过Web服务将它们展示给Node.js。

Windows上的node.js数据库驱动程序的状态似乎有些不成熟,这与我们在ADO.NET中可用的健壮且高性能的数据库驱动程序相比已经很多年了。

我会认真考虑使用Edge调用C#或进程中的CLR程序集来访问数据库。 你可以在C#中编写一个Repository风格的数据访问层,并从node.js中调用它。

我已经证明这在C#, PetaPoco (可选),.NET 4.5和Oracle ODP驱动程序(Oracle.DataAccess.dll)的开发环境中可行 。 这也应该适用于任何可以在.NET中使用的数据库。

调用.NET CLR函数的Node(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的文件夹中。)

有一个由Oracle生成的驱动oracledb http://www.oracle.com/technetwork/database/database-technologies/node_js/oracle-node-js-2399407.html

更新:Oracle已经在GIT上发布了一个node-oracledb驱动程序,它将允许nodejs应用程序连接到Windows上的oracle数据库。

该驱动程序在Window上工作: https : //npmjs.org/package/oracle

一个类似的问题,你在这里堆栈溢出: 在Windows平台上连接Node.js与Oracle