[Data Extractor] P11 Support

Forge Component
(10)
Published on 16 Jan by Carlos Sousa
10 votes
Published on 16 Jan by Carlos Sousa

Hi,

The component does not seem to be working on P11 when we try to extract logs when the logs table are in a separate Database.

Is there any intention to support it moving forward?

I also try to use it on P11 and I don't get it working. We are running on a .NET Oracle stack. Is it also supported on Oracle ?

I managed to export a static entity and a simple entity without foreign keys on the Oracle/.NET/P11 environment. I will continue to see if more is possible.

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 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.


Hi Ronnie,

Did you manage to export any of the log tables? Like error or general logs?

Stephen,  Can you share the DML of the tables you mention, with which you can reproduce the problem?


BEGIN EXECUTE IMMEDIATE 'DROP TABLE OSUSR_WUB_ACTIVIT2'; EXCEPTION WHEN OTHERS THEN IF SQLCODE != -942 THEN RAISE; END IF; END;

/

CREATE TABLE "OSUSR_WUB_ACTIVIT2" (

"ID" NUMBER(20, 0),

"ADUSER" VARCHAR2(200),

"DATETIME" TIMESTAMP(6),

"ACTIVITYSTATUSID" NUMBER(10, 0),

"INVOICESTATUSID" NUMBER(10, 0),

"INVOICEID" NUMBER(20, 0),

"TASTSTATUSID" NUMBER(10, 0),

"TASKTYPEID" NUMBER(10, 0),

"USERFULLNAME" VARCHAR2(200),

"ADDITIONALINFO" VARCHAR2(2000),

"TASKID" NUMBER(20, 0),

"ORIGINALTASKID" NUMBER(20, 0)

Carlos Sousa wrote:

Stephen,  Can you share the DML of the tables you mention, with which you can reproduce the problem?


ActivityLog.
Id
ActivityLog.
ADUser
ActivityLog.
DateTime
ActivityLog.
ActivityStatusId
ActivityLog.
InvoiceStatusId
ActivityLog.
InvoiceId
ActivityLog.
UserFullName
ActivityLog.
AdditionalInfo
ActivityLog.
TastStatusId
ActivityLog.
TaskTypeId
ActivityLog.
TaskId
ActivityLog.
OriginalTaskId
1877782ronv17-10-2019 11:15:2813363231Ronnie Verheij | KrampInvoice - Assigned to (Ronnie Verheij | Kramp)
1877783ronv17-10-2019 11:15:28253363231Ronnie Verheij | KrampTask 'Approve invoice' added to Ronnie Verheij | Kramp (ronv)  with finished before 2019-10-19


Error extracting Table Data. Specified cast is not valid.

Error extracting Table Data. Specified cast is not valid.

   at ssDataExtractor.RssExtensionDataExtractor_Ext.MssDataExtractor_Extract(HeContext heContext, Int32 inParamExtractId, String inParamExtractName, RecordList inParamTableList, DateTime inParamStartDateTime, DateTime inParamEndDateTime, Int32 inParamMaximumFieldSize, Boolean inParamExtractTableStructure, Boolean inParamExtractTableIndexes, Boolean inParamExtractDDL, String& outParamFilePath, String& outParamFileSize, String& outParamHostname, String& outParamDuration)

   at ssDataExtractor.Actions.ActionTimer_CreateSnapshot(HeContext heContext)

eSpaceVer: 0 (Id=27125, PubId=0, CompiledWith=11.0.212.0)

AppDomain: /LM/W3SVC/1/ROOT/DataExtractor-1-132157494189313415

ClientIp: 127.0.0.1

Locale: en-US

DateFormat: dd-MM-yyyy

PID: 1724 ('w3wp', Started='10/17/2019 1:30:18 AM', Priv=2079Mb, Virt=2116720Mb)

TID: 10

Thread Name:

.NET: 4.0.30319.4200

Please try it on Oracle. Because this might cause the error.

I hope this is sufficient information. To check the problem on Oracle/.NET/P11

We use OracleVersion 12C11 StandardEdition.

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.