[Sqlrelay-discussion] sqlrcur_getRowAssoc
Brought to you by:
mused
From: Jiří W. <jir...@gm...> - 2018-06-14 08:16:14
|
Hello, I have an issue with sqlrcur_getRowAssoc, it returns rarely (5 times in row after restart, sometimes in X+n request - very strange behavior) correct data and in most cases incorrect - corrupted data. Note: There is no issue to call mentioned query from sqldeveloper etc. e.g. correct one: Parsing Column Info Actual row count: unknown Affected row count: 0 Column count: 5 ""."LOG_TYPE_ID","NUMBER", 22 (38,0) NOT NULL ""."LABEL","VARCHAR2", 1020 (0,0) NOT NULL ""."LOG_TYPE_TABLE_REFERENCE","VARCHAR2", 1020 (0,0) NOT NULL ""."REFERENCE","VARCHAR2", 1020 (0,0) ""."INCOMING_DB_ID","NUMBER", 22 (38,0) NOT NULL incorrect one: Parsing Column Info Actual row count: unknown Affected row count: 0 Column count: 5 ""." ","NUMBER", 22 (38,0) NOT NULL ""."�P� ","VARCHAR2", 120 (0,0) NOT NULL ""."","VARCHAR2", 1020 (0,0) ""." �","NUMBER", 22 (38,0) NOT NULL ""."","UNKNOWN", 0 (0,0) NOT NULL Versions ------------- PHP 7.0.30-0ubuntu0.16.04.1 Ubuntu 16.04 SQL Relay 1.3.0 Oracle instant client 12.2.0.1.0-2 PHP code --------------- > <?php > error_reporting(E_ALL); > ini_set('display_errors', 1); > include(getenv('EM_DB_CONFIG')); > echo '<h1>PACKAGE TYPE</h1>'; > $con = sqlrcon_alloc( > $config['databaseConnection']['xy-client']['sqlr']['client']['host'], > $config['databaseConnection']['xy-client']['sqlr']['client']['port'], > '', > $config['databaseConnection']['xy-client']['sqlr']['client']['user'], > > $config['databaseConnection']['xy-client']['sqlr']['client']['password'], > 1, > 3 > ); > sqlrcon_debugOn($con); > echo '<pre>'; > $cur = sqlrcur_alloc($con); > > sqlrcur_prepareQuery($cur, "begin > em_order.PCK_ORDER_LOG_TYPE.P_SELECT(:in1, :in2, :out1, :out2); end;"); > sqlrcur_inputBind($cur, "in1", null); > sqlrcur_inputBind($cur, "in2", null); > sqlrcur_defineOutputBindCursor($cur, "out1"); > sqlrcur_defineOutputBindInteger($cur, "out2"); > sqlrcur_executeQuery($cur); > //$bindcur = sqlrcur_getOutputBindCursor($cur, "out1"); > $bindcur = sqlrcur_getOutputBindcursor($cur, "out1"); > sqlrcur_fetchFromBindCursor($bindcur); > echo '</pre>'; > # print fields from table > for ($i = 0; $i < sqlrcur_rowCount($bindcur); $i++) { > var_dump(sqlrcur_getRowAssoc($bindcur, $i)); > /* > for ($j = 0; $j < sqlrcur_colCount($bindcur); $j++) { > echo sqlrcur_getField($bindcur, $i, $j); > echo ", "; > } > echo "\n"; > */ > } > sqlrcur_free($bindcur); > sqlrcur_free($cur); > sqlrcon_free($con); > > //====================== > echo '<h1>PACKAGE CARIER</h1>'; > $con1 = sqlrcon_alloc( > $config['databaseConnection']['xy-client']['sqlr']['client']['host'], > $config['databaseConnection']['xy-client']['sqlr']['client']['port'], > '', > $config['databaseConnection']['xy-client']['sqlr']['client']['user'], > > $config['databaseConnection']['xy-client']['sqlr']['client']['password'], > 1, > 3 > ); > sqlrcon_debugOn($con1); > echo '<pre>'; > $cur1 = sqlrcur_alloc($con1); > sqlrcur_prepareQuery($cur1, "begin > em_order.PCK_CARRIER_10183.P_GET_CARRIER(:in1, :in2, :in3, :out1, :out2); > end;"); > sqlrcur_inputBind($cur1, "in1", null); > sqlrcur_inputBind($cur1, "in2", null); > sqlrcur_inputBind($cur1, "in3", null); > sqlrcur_defineOutputBindCursor($cur1, "out1"); > sqlrcur_defineOutputBindInteger($cur1, "out2"); > sqlrcur_executeQuery($cur1); > //$bindcur = sqlrcur_getOutputBindCursor($cur, "out1"); > $bindcur1 = sqlrcur_getOutputBindcursor($cur1, "out1"); > sqlrcur_fetchFromBindCursor($bindcur1); > > echo '</pre>'; > # print fields from table > for ($i = 0; $i < sqlrcur_rowCount($bindcur1); $i++) { > var_dump(sqlrcur_getRowAssoc($bindcur1, $i)); > /* > for ($j = 0; $j < sqlrcur_colCount($bindcur); $j++) { > echo sqlrcur_getField($bindcur, $i, $j); > echo ", "; > } > echo "\n"; > */ > } > sqlrcur_free($bindcur1); > sqlrcur_free($cur1); > sqlrcon_free($con1); |