Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用node.js的Oracle驱动程序连接到Oracle 11g:它们兼容吗?_Node.js_Oracle11g_Ubuntu 12.04_Node Oracle - Fatal编程技术网

无法使用node.js的Oracle驱动程序连接到Oracle 11g:它们兼容吗?

无法使用node.js的Oracle驱动程序连接到Oracle 11g:它们兼容吗?,node.js,oracle11g,ubuntu-12.04,node-oracle,Node.js,Oracle11g,Ubuntu 12.04,Node Oracle,我们正在尝试使用node.js应用程序从Ubuntu 12.04.1 LTS服务器连接到Oracle 11g服务器(企业版11.2.0.1.0-64位产品)。我们正在运行节点v0.10.12和近无限节点oracle模块0.3.1。这里还有其他关于stackoverflow的帖子,讨论的是另一个节点oracle模块node db oracle,但由于节点waf已被弃用,该版本不再维护,无法使用节点0.10.12构建 即使是最小的节点程序也不会连接,即使使用我们可以从sqlplus64客户端和简单的

我们正在尝试使用node.js应用程序从Ubuntu 12.04.1 LTS服务器连接到Oracle 11g服务器(企业版11.2.0.1.0-64位产品)。我们正在运行节点v0.10.12和近无限节点oracle模块0.3.1。这里还有其他关于stackoverflow的帖子,讨论的是另一个节点oracle模块node db oracle,但由于节点waf已被弃用,该版本不再维护,无法使用节点0.10.12构建

即使是最小的节点程序也不会连接,即使使用我们可以从sqlplus64客户端和简单的3行PHP程序连接的相同连接信息。我们尝试了所有不同的连接选项,例如在传递给连接的json函数中指定所有连接信息,只指定用户、密码,并在oracle tnsnames.ora文件中引用连接字符串,甚至将连接字符串直接传递给json。我们得到两个错误中的一个:

错误:ORA-12154:TNS:无法解析指定的连接标识符

或者如果我们稍微改变一下参数:

错误:ORA-12514:TNS:侦听器当前不知道连接描述符中请求的服务

我已尝试连接到数据中心中的不同Oracle服务器:一台服务器使用SID=databasename约定,另一台RAC系统使用SERVICE\u NAME=database\u servicename约定。两种情况都是一样的


我在这里查看了所有其他Node.js/Oracle帖子,并尝试了他们所说的一切。启动sqlplus64用户名/password@SID_NAME立即连接。我开始得出这样的结论:我使用的版本组合根本不能一起工作。有什么想法吗?

解决方案是对尚未发布的模块使用最新补丁。当前版本是节点oracle的0.3.1。该版本没有TNS支持修复程序。如果您将模块的最新代码从github签出到一个新目录,并在那里构建它(“该目录中的npm-link”),然后从您的项目目录执行npm-link-oracle,那么您将获得带有修复程序的新版本。我们必须解决许多许可问题,这些问题很可能是特定于平台的,所以我在此不再深入讨论。我已要求模块的作者尽快将此修补版本发布为0.3.2。

今晚,节点oracle模块0.3.2的作者将此版本发布到包含此修复程序的npm存储库中。