节点OracleDB错误:找不到指定的过程

时间:2017-08-17 20:56:34

标签: node.js oracledb node-oracle oracledb-npm

使用带有错误的OracleDB时出错“无法找到指定的过程”.Node安装OracleDB很好。 为构建执行的步骤是

  • 安装Visual Studio 2017 Visual C ++ 14.0
  • 已下载并关注oracle即时客户端和sdk,已添加OCI_BIN和OCI_INC
  • npm install npm @ latest
  • npm install node-gyp -g(在此步骤删除之前c:\ users \ .node-gyp
  • npm install oracledb
  • OCI_INC_DIR指向'C:\ Oracle \ instantclient \ lib \ msvc'
  • OCI_LIB_DIR 指向'C:\ Oracle \ instantclient \ include'npm done for 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时出现相同的错误。 任何指针都会有所帮助

2 个答案:

答案 0 :(得分:0)

已解决:c:\ oracle \ oracleinstant客户端不在Windows上的PATH变量开头的问题

答案 1 :(得分:0)

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

可能出现的问题:

  • 错误的路径环境变量
  • 错误的OCI_INC_DIR和OCI_LIB_DIR路径
  • oracle客户端的错误版本(32位与64位)。版本必须与节点版本
  • 相同

我的问题是oracle客户端的版本,所以我安装了另一个。我还修复了PATH变量和OCI_INC_DIR&amp; OCI_LIB_DIR到新的oracle客户端的路径,但仍然没有成功。

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

结论:即使你指定了正确的oracle驱动程序的路径,安装程序也可以选择另一个,所以要小心。