Page 1 of 1

Oracle Connector from sequential to partition read fails

Posted: Tue Aug 15, 2017 11:05 am
by wpkalsow
The Oracle Connector works when set for sequential read.
Changed the stage to parallel, Partitioned reads:Yes, Partition reads method: Modulus, Table name: schema.table alias, column name: Number_key

I get the following:

Code: Select all

Oracle_Connector_0,3: 
  The OCI function OCIStmtExecute returned status -1. 
  Error code: 1405, 
  Error message: ORA-01405: fetched column value is NULL. 
     (CC_OraPartitionedTableHelper::getColumnInfo, file CC_OraPartitionedTableHelper.cpp, line 1,887)
Thinking it must be something that I am missing since it works with the sequential version with the same column definitions(data types, sizes, nulls).

I am wondering if the CC_OraPartitionedTableHelper.cpp at line 1887 is attempting to select from a system table or view that I may not have access to. No access to the source code...

Thanks!

Posted: Tue Aug 15, 2017 11:42 am
by PaulVL
what is the column type on that Number_key?

Did you ask your DBA if the table is already partitioned based upon a given column?

Re: Oracle Connector from sequential to partition read fails

Posted: Tue Aug 15, 2017 12:19 pm
by chulett
wpkalsow wrote:I am wondering if the CC_OraPartitionedTableHelper.cpp at line 1887 is attempting to select from a system table or view that I may not have access to. No access to the source code...
That was my first thought as well. No need for any "source code", from what I recall the grants needed are spelled out in the documentation.

Posted: Tue Aug 15, 2017 1:06 pm
by wpkalsow
Paul,

The Oracle data type is "NUMBER"
The DataStage column definition is NUMERIC[32]

The table is not partitioned in this environment(dev), it is partitioned in PROD.

The plan is for the SQL to have a WHERE that limits it to a single partition at a time when run in PROD.

The challenge on the permissions is that this is a "Managed Services" environment and the database is locked down tight to the point where I can find the roles I have but not what those roles provide.

I view the "in the documentation" as a total waste of everyone's time.

Posted: Tue Aug 15, 2017 2:29 pm
by qt_ky
This is just a guess, but is your number_key column nullable? It would appear from the error message that it fetched a NULL value, which perhaps it would have choked on while performing the modulus function.

Or, perhaps like you said, it may be attempting to select from a system table or view that I may not have access to. I don't think anyone here as access to the source code either. The required database privileges are well documented. If you want to do your homework in that area, just search. Good luck!

Posted: Tue Aug 15, 2017 2:49 pm
by chulett
wpkalsow wrote:I view the "in the documentation" as a total waste of everyone's time.
Really? Okay. Not really sure what you were expecting then after making your "source code" comment. And good to know my statement wasn't all that helpful or informative to you. :roll:

Posted: Wed Aug 16, 2017 8:54 am
by PaulVL
Tell/Ask your DBA to partition your dev table since prod is partitioned. I dislike the fact that dev and prod are not mirrors in terms of setup. Unless of course you are testing a new aspect in dev and it has not migrated to prod yet.

True that DEV will most likely not have the same volume of data as prod, but your interaction with the tables should be similar. You should not write special code in dev vs prod. Should work in both.