【问题标题】:Node OracleDB Error: The specified procedure could not be found节点 OracleDB 错误:找不到指定的过程
【发布时间】:2018-01-26 10:36:40
【问题描述】:

使用 OracleDB 时出错,出现错误“找不到指定的过程”。节点安装 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 是为了 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 时出现同样的错误。 任何指针都会有所帮助

【问题讨论】:

  • 检查所涉及的路径。检查您是否拥有 VS 可再发行组件(请参阅 Instant Client 下载页面说明)。你可以做的更糟的是测试 node-oracledb v2,它改进了一些错误消息:这些可能会提示你的问题。目前还没有生产,所以从 GitHub 安装npm install oracle/node-oracledb.git#dev-2.0
  • 已解决:c:\oracle\oracleinstant 客户端不在 PATH 变量开头的问题

标签: node.js node-oracledb


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    可能的问题:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2015-04-10
      • 1970-01-01
      • 2015-11-05
      • 1970-01-01
      • 2013-01-31
      • 1970-01-01
      • 2020-05-18
      • 2016-01-15
      • 2015-10-09
      相关资源
      最近更新 更多