Tag: node oracle

节点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 […]

node-oracledb – 使用关联数组的批量插入

Im在我的nodeJs应用程序中使用node-oracledb驱动程序。 我不得不做大容量插入(最多6000行),并且simple-oracledb扩展的批量插入function不能满足我的需要。 6000条logging的速度很慢。 我遇到这个post , 这个文件从节点oracledb然而,这似乎是一个有前途的方式。 这只是我对PL / SQL的新意,我不知道如何去做。 所以考虑我有下面的表格: CREATE TABLE MY_TABLE ( "CID" NUMBER, "EMPID" VARCHAR2(10 BYTE)); 我有3个logging批量插入。 这是我的PL / SQL包: CREATE OR REPLACE PACKAGE MY_PKG IS TYPE cidtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER; TYPE empidtype IS TABLE OF VARCHAR2(10); PROCEDURE insertproc(cids IN cidtype, empids IN empidtype); END; / CREATE OR […]

错误:callback已被调用 – asynchronousnode.js oracledb

嗨我收到此错误时,查询返回0结果后筛选。 我怎么去解决这个问题? 这是我的代码。 > router.post('/report/', jsonParser, function (req, res) { var data = req.body, filteredID = data.filteredID, startRow = data.startRow, numRows = data.numRows, sortCol = data.sortCol, sortDir = data.sortDir; var countQuery = 'SELECT COUNT(*) ' + 'FROM this_view ' ;+ var query = 'SELECT * + 'FROM this_view ' ; var seg, orderBy, offset; if(filteredID […]

Clob在快速应用程序中没有正确打印

我有一个clob列这张桌子。 我使用oracledb驱动程序从我的快速应用程序连接到数据库。 我想打印出这个clob。 这是我的代码: router.get('/:task_name', function (req,res) { "use strict"; oracledb.getConnection(connAttrs.database, function (err, connection) { if (err) { // Error connecting to DB res.set('Content-Type', 'application/json'); res.status(500).send(JSON.stringify({ status: 500, message: "Error connecting to DB", detailed_message: err.message })); return; } connection.execute("select solution from solvedtasks s join tasks t on t.TASK_ID = s.TASK_ID WHERE task_name= :task_name", [req.params.task_name],{ outFormat: […]

如果我们不知道存储过程绑定参数,如何在node-oracledb中执行“存储过程”查询?

所有在文档中的例子都是用绑定variables给出的。但是如果我们要执行用户写的查询(存储过程)(在这种情况下,我们不会意识到什么是input和输出参数绑定)。 我能够执行所有基本的ddl和dml查询。 但是,如何执行存储过程,如查询和检索的方式是什么? 如果我们使用“db-oracle”,会不会有运气? 注意:我是nodejs和node-oracle-db的新手

glibc找不到符号

最近,我开始使用Docker来运行我的Node项目,并希望添加Oracle即时客户端驱动程序。 据我所知,Oracle即时客户端驱动程序是针对glibc库编译的,而基于Alpine的Docker映像包含musl库。 所以我需要一种方法来包含glibc库,我偶然发现了将glibc库打包为压缩包的docker-glibc-builder 。 将glibc库包含到容器中之后,我开始注意到以下错误,当我的Node项目调用Oracle即时驱动程序时。 Error: Error relocating /opt/oracle/drivers/instantclient/libclntsh.so.11.1: getcontext: symbol not found 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> (node_modules/oracledb/lib/oracledb.js:32:19) at Module._compile (module.js:541:32) at Object.Module._extensions..js (module.js:550:10) 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) […]

为什么我的node-oracledb执行Promise稳步增加需要解决的时间?

我正在编写一个与Oracle数据库进行交互的ETL工具,该数据库也使用node-oracledb 1.10和RxJS来处理我所徘徊的各种asynchronous数据stream。 我遇到了一个问题,我的应用程序运行的时间越长,调用node-oracledb的.execute()花费的时间.execute() ,并且它在运行时间中线性增加。 希望你可以在下面的代码中发现错误并纠正错误。 首先让我演示如何运行Oracle查询。 我创build了自己的.execute()函数,充当node-oracledb的.execute()的包装器。 import oracledb from 'oracledb'; var oraConnPool; export function execute(sql, bind, opts) { if (!oraConnPool) { createOraPool(); } return oraConnPool .then(pool => pool.getConnection()) .then(conn => conn.execute(sql, bind, opts)); } function createOraPool() { let oraPool = oracledb.createPool(config.database.oracle); oraConnPool = oraPool; return oraPool; } 和我的config.database.oracle (没有凭据): { "poolTimeout": 60, "poolMin": 10, […]

NodeJS:npm install oracle,无法在Windows 7 32位上编译

在Windows 7/8上编译oracle似乎有很多类似的问题,但大多数是围绕没有设置Python或OCI环境variables。 我已经在这2天了,没有运气。 希望有人可以提供一些build议… Windows 7,32位 GNU bash v3.1.0(1) 节点v0.10.29 NPM v1.4.14 Oracle InstantClient 12.1.0.1.0 Python 2.7.5 Visual Studio 2012 Express for Desktop 我设置了以下variables: OCI_VERSION=12 <– Tried (10,11 and 12) OCI_LIB_DIR=C:\InstantClient\sdk\lib\msvc\vc11 OCI_INCLUDE_DIR=C:\InstantClient\sdk\include PATH= …<existing path>;C:\InstantClient\vc11;C:\InstantClient\ 我设置npm config set python C:\Python27 我确认没有设置PYTHON环境variables。 (虽然我曾尝试将其设置为以前的尝试) 这是我得到的: $ npm install oracle – > oracle@0.3.7 install c:\Sites\new\node_modules\oracle > node-gyp rebuild […]

TNS监听器找不到匹配协议栈的可用处理程序? 在使用node-oracledb的nodejs中

即使我完成我的查询执行后释放连接,它是抛出错误称为“TNS侦听器无法find可用的匹配协议栈处理程序”。 对于第2到5次,它工作正常。但是,经过几个请求(随机),它抛出这种types的错误。 你可以帮助我什么可能是问题。 我使用express,oracledb和oracle 10g express版本。 注:我是初学者节点和oracledb 以下是我的代码,当我得到请求: oracledb.createPool({ user : "harsha", password : "harsha", connectString : "localhost/XE", poolMax : 44, poolMin : 2, poolIncrement : 5, poolTimeout : 4 }, function(err, pool) { if(err) { errorHandler(res); console.log("Error in pooling with oracledb"+err); return false; }else { console.log("Connected to oracledb successfully"); //select r, v1.* from (select […]

Karma:node-oracledb导入不好

我有节点oracledb "oracledb": "1.11.0"在我的项目中运行良好,但在我的testing中效果不好。 在$ npm test命令之后: 15 11 2016 23:29:56.074:ERROR [framework.browserify]: Error: Cannot find module '../build/Release/oracledb' from '/Users/myuser/myproject/node_modules/oracledb/lib' 我不明白发生了什么,我需要把一些东西在karma.conf文件来启用oracledb commonjs依赖? 我有点失落,任何build议将是伟大的😊 非常感谢!