节点OracleDB错误:无法find指定的过程

使用OracleDB时出错Error“指定的程序找不到”.Node安装OracleDB经历的很好。 为构build执行的步骤是

  • 已安装Visual Studio 2017 Visual C ++ 14.0
  • 下载并遵循oracle即时客户端和sdk,添加了OCI_BIN和OCI_INC
  • npm安装npm @ latest
  • npm install node-gyp -g(在这之前删除了c:\ users \ .node-gyp
  • npm安装oracledb
  • OCI_INC_DIR指向“C:\ Oracle \ instantclient \ lib \ msvc”
  • OCI_LIB_DIR指向'C:\ Oracle \ instantclient \ include'npm done的用于oracledb@1.13.1

运行具有node app.js /app.js内容的代码时出错

 var oracle = require("oracledb"); console.log(oracle) Windows 8.1 x64 64 Bit OS gyp info using node-gyp@3.6.2 gyp info using node@6.3.1 | win32 | x64 6.3.1 node 6.3.1 npm 5.3.0 D:\test\node_modules\oracledb\lib\oracledb.js:38 throw err; ^ Error: The specified procedure could not be found. \\?\D:\test\node_modules\oracledb\build\Release\oracledb.node at Error (native) at Object.Module._extensions..node (module.js:568:18) at Module.load (module.js:458:32) at tryModuleLoad (module.js:417:12) at Function.Module._load (module.js:409:3) at Module.require (module.js:468:17) at require (internal/module.js:20:19) at Object.<anonymous> D:\test\\node_modules\oracledb\lib\oracledb .js:35:19) at Module._compile (module.js:541:32) at Object.Module._extensions..js (module.js:550:10) ``` 

使用strongloop / loopback CLI时出现同样的错误。 任何指针都会有帮助

解决:与C:\ oracle \ oracleinstant客户端问题不在窗口上的PATHvariables的开始

我遇到了同样的问题。 这个错误与oracle客户端有关。

可能的麻烦:

  • 错误的pathenv。 variables
  • 错误的OCI_INC_DIR和OCI_LIB_DIRpath
  • 错误版本的oracle客户端(32位与64位)。 版本必须与节点版本相同

我的问题是Oracle客户端的版本,所以我安装了另一个。 我还修复了PATHvariables和OCI_INC_DIR&OCI_LIB_DIRpath到新的oracle客户端,但仍然没有成功。

我删除了两个oracle客户端后,问题就消失了,只安装了我需要的一个。

结论:即使您指定了正确的oracle驱动程序的path,安装程序也可以select另一个,所以要小心。