I am trying to use the Data Extractor from the forge. We are running on P11. Thats seems not to work. We are using Oracle. Has anyone used the Data Extractor on P11 in combination with a .NET/Oracle Stack and had positive results ?
Hi Ronnie,
Can you show us more details like log message, prints...?
I am still trying and get my grip on it.
At the moment I was able to export a static entity and an entity without foreign keys. So at least simple tables seem to work on Oracle/.NET/P11
Importing multiple tables that have no relation with each other in 1 snapshot work too. If however I try this with multiple tables that have relations with each other then I get an error message telling me "Error extracting Table Data. Specified cast is not valid.". It's one table with foreign keys to 3 static tables and a foreign key to its own (table A with child records can have as parent 1 table A record. Recursion).
It's a large table with many attributes of the following types
Long Integer, DateTime, Text, Currency, Decimal, 4 foreign key identifiers, Boolean, Date.
It has protect rules on all 4 foreign key identifiers
Trying to import only the table A without the tables where it has foreign keys to also fails. with the same error.
On environment Oracle/.NET/P11
Trying another table B with foreign keys however succeeds.
Data types in this table are
Long Integer, Text, 3 foreign key identifiers but no recursion, Date, Text, DateTime, Long Integer. 2 FK's having a protect rule and 1 FK having a delete rule.
Trying another table B with 2 of the related tables also succeed. Table B is has however also a FK to table A fails again.
Removing the FK from table A that is pointing to itself (Recursion) is not solving the problem. It still fails. So the recursion might not be the problem.
I get the following logging for a simple table C (with some FK's)
General:
Error:
I have one table that fails when it contains data but succeeds when it is empty. It has the following structure.
CREATE TABLE "OSUSR_WUB_ACTIVIT2" ("ID" NUMBER(20, 0),"ADUSER" VARCHAR2(200),"DATETIME" TIMESTAMP(6),"ACTIVITYSTATUSID" NUMBER(10, 0),"XXXXSTATUSID" NUMBER(10, 0),"XXXXID" NUMBER(20, 0),"YYYYSTATUSID" NUMBER(10, 0),"YYYYTYPEID" NUMBER(10, 0),"USERFULLNAME" VARCHAR2(200),"ADDITIONALINFO" VARCHAR2(2000),"YYYID" NUMBER(20, 0),"ORIGINALTASKID" NUMBER(20, 0))
Could it be that some data is causing problems and is it possible to investigate this ?
So empty it succeeds but with the following data inside it already fails.
Last test:
* Drop the table from the database
* Compiled the eSpace again so that the table is recreated without unused columns
* DataExtract on the empty newly created table => Success
* Add 2 rows in the table.
* DataExtract on the table with 2 rows => Fails
* Conclusion => The DataExtract only partly works on Oracle/.NET/P11. So we can't use it. Rating 1
I added some try/catches and found that a 0 value for an Int64 and Decimal is a DBNull. The conversion of this values went wrong in the original DataExtractor. The added code is now better working on Oracle. The poor thing is that in original code doesn't contain clean conversions for all types.
Please check, modify and publish this new working DataExtractor logic.