Skip to main content
Skip table of contents

Interpreting Logs - SuperCHANNEL

When you start a build in SuperCHANNEL, the progress log displays automatically.

Log Overview

The log messages start with details of the exact build of SuperCHANNEL in use, followed by the command line options passed to the SNU command to run the build:

In this example, the corresponding SNU command would be:

TEXT
snu -create -insert ProjectSampleRun.xml

The next section contains information messages about the preparation for the database build:

This is followed by details of the connection to the source database, including the driver used and the time taken to connect:

The next section of the log shows details of the connection to the target database:

The Updating registry tables section contains details that will be written into the registry tables in the target database:

The Creating tables section shows the tables that are created in the target database:

The next section shows data insertion from the classification tables to the target database (the build process inserts data into the classification tables first, before channelling from the fact tables, so that it can perform a referential integrity check against these tables when it inserts the data from the fact tables).

Messages like the following indicate how many rows from the source table have been channelled into the target:

TEXT
-- channelled 2 rows (out of 2) successfully to "GENDER_CLASS"

Once SuperCHANNEL has finished inserting data for the classification tables, it begins populating the fact tables.

In this case SuperCHANNEL has used Batch Insertion, and all rows from source have been channelled to the target:

SuperCHANNEL displays the total number of cleansing errors found during the run:

At the end of the log, SuperCHANNEL indicates that the build is complete:

Other Log Messages

The following are some of the other messages that you might see in the output from a successful build. 

Value out of range

The message Value out of range indicates that there are data types in the source data that have not been mapped to a known data type for channelling to the target. SuperCHANNEL automatically maps these to OTHER, which means that the data for these columns will not be inserted into the target.

TEXT
Connecting to target database jdbc:sxv4:D:\Databases\STR\RetailBanking
Time to connect: 3 second(s)
Time handling target database metadata: 0 second(s)
WARN 11:09:05:891 [main] XMLReader3_0 - Caught exception 'Value out of range. Value:"2147483647" Radix:10'
while processing MAPPING element with SOURCETYPE '-3' and TARGETTYPE '2147483647'. Mapping to 0 instead.
WARN 11:09:05:891 [main] XMLReader3_0 - Caught exception 'Value out of range. Value:"2147483647" Radix:10'
while processing MAPPING element with SOURCETYPE '-2' and TARGETTYPE '2147483647'. Mapping to 0 instead.
WARN 11:09:05:892 [main] XMLReader3_0 - Caught exception 'Value out of range. Value:"2147483647" Radix:10'
while processing MAPPING element with SOURCETYPE '2004' and TARGETTYPE '2147483647'. Mapping to 0 instead.
WARN 11:09:05:893 [main] XMLReader3_0 - Caught exception 'Value out of range. Value:"2147483647" Radix:10'
while processing MAPPING element with SOURCETYPE '2005' and TARGETTYPE '2147483647'. Mapping to 0 instead.

In most cases, the columns concerned would not contain data that would be useful in the target database.

Check the Data Type Mapping tool for further information. You should check that all the data types in your source data have been correctly mapped to ensure that all important data is correctly mapped.

getSchemas failed

The getSchemas failed message appears in the Errors log. It occurs when a connection to the database is made using the jdbc:odbc bridge. This is a Type 1 JDBC driver, which does not support connections between tables.

TEXT
Warning - getSchemas failed
SQLException: [Microsoft][ODBC Microsoft Access Driver]Optional feature not implemented
Warning - getImportedKeys failed
SQLException: [Microsoft][ODBC Driver Manager] Driver does not support this function
Warning - getPrimaryKeys failed
SQLException: [Microsoft][ODBC Driver Manager] Driver does not support this function

When using the jdbc:odbc bridge, you must explicitly create references between tables in the SuperCHANNEL GUI. The messages will still appear for builds using this driver even if all references have been created, but in this case the messages can be ignored.

Cannot set cleansing action to ADD for a hierarchical classification reference: defaulting to SKIP

Messages of this type are informational, rather than errors.

TEXT
ERROR 11:30:04:210 [main] XMLReader3_0 - Warning - TargetColumn.setCleansingAction: Column 'Area': Cannot set
cleansing action to ADD for a hierarchical classification reference: defaulting to SKIP 

If a fact table value for a hierarchical classification is not found in the classification table, it cannot be inserted because the rest of the links in the hierarchy are not known (the fact table value is always the bottom value in the hierarchy). The cleansing rule is automatically changed to "skip" and the built continues.

It is not possible to use batch mode to load table

This message displays when SuperCHANNEL is unable to use batch mode to process one of the fact tables, because the source data does not permit use of this mode.

In this case, SuperCHANNEL uses classic mode, and displays details of the conditions that prevented it from using batch mode.

TEXT
It is not possible to use batch mode to load table "F_Customer".
If you want to use batch mode processing for this table please consider changing the table definition
to avoid use of the following unsupported feature(s):
-- Column "Age_Group" has cleansing rule of type "skip row".
-- Column "Area" has cleansing rule of type "skip row".
-- Column "Cust_Open_Date_Cal" has cleansing rule of type "skip row".
-- Column "Cust_Open_Date_Fin" has cleansing rule of type "skip row".
-- Column Age" allows NULL values.
-- Column Age_Group" allows NULL values.
-- Column Area" allows NULL values.
-- Column Cust_Mail_Ind" allows NULL values.
-- Column Cust_Open_Date" allows NULL values.
-- Column Cust_Open_Date_Cal" allows NULL values.
-- Column Cust_Open_Date_Fin" allows NULL values.
-- Column Cust_Open_Date_Quarter" allows NULL values.
-- Column Cust_Open_Date_Month" allows NULL values.
-- Column Cust_Open_Date_Week" allows NULL values.
-- Column Cust_Open_Date_DayofMonth" allows NULL values.
-- Column Cust_Open_Date_DayofWeek" allows NULL values.
-- Column Cust_Profit" allows NULL values.
-- Column Marital_Status" allows NULL values.
-- Column Occupation" allows NULL values.
-- Column Gender" allows NULL values.
-- Column Birth_Date" allows NULL values.
-- Column X_Coord" allows NULL values.
-- Column Y_Coord" allows NULL values.
The table "F_Customer" will be loaded using SuperCHANNEL classic mode instead.

See Batch Insert Mode - SuperCHANNEL for more information about batch mode and classic mode.

Action: binning value of column

Cleansing actions allow you to automatically clean up some of your source data when building your SXV4 database.

One of the available cleansing actions is "bin": when SuperCHANNEL encounters a value in a fact table that is not one of the available classifications, it will automatically convert (or "bin") the value for that record to a specific classification. This action is typically used to convert empty or incorrect incorrect values in the fact table to a catch-all classification like "Unknown" or "Not Applicable".

If you have configured one or more fact table columns to use the "bin" cleansing action, then you may see messages similar to the following in the logs:

TEXT
--Action: binning value of column 'Marital_Status' from ' ' to 'U' on row 11097...binned
--Action: binning value of column 'Gender' from '*' to 'U' on row 13869...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19783...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19784...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19785...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19786...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19787...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19788...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19789...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19790...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19791...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19792...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19793...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19794...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19795...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19796...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19797...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19798...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19799...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19800...binned
--Action: binning value of column 'Marital_Status' from '' to 'U' on row 19800...binned
--Action: binning value of column 'Occupation' from '' to 'N' on row 19800...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19801...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19802...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19803...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19804...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19805...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19806...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19807...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19808...binned
--Action: binning value of column 'Cust_Mail_Ind' from '' to 'N/A' on row 19809...binned
--Action: binning value of column 'Marital_Status' from '' to 'U' on row 19809...binned
--Action: binning value of column 'Occupation' from '' to 'N' on row 19809...binned
--Action: binning value of column 'Gender' from '*' to 'U' on row 41169...binned
--Action: binning value of column 'Gender' from '*' to 'U' on row 227948...binned
-- channelled 269192 rows (out of 269192) successfully to "F_Customer"
--    0hrs 0min 11sec

Each message represents a fact table record where a value was binned. For example, the following message indicates that in row 11097 of the fact table, SuperCHANNEL found a value of ' ' (i.e., a space) in the Marital_Status column. As this is not one of the valid classifications for this column, it has automatically been binned to 'U' (Unknown):

TEXT
--Action: binning value of column 'Marital_Status' from ' ' to 'U' on row 11097 ...binned

SuperCHANNEL has taken this action in accordance with the cleansing action configured for this column:

The events that trigger cleansing actions are also noted in the Errors log, and a message at the end of the build will note the total number of cleansing errors:

Even though the cleansing actions are noted as "errors", they are really information messages.

Build Progress Indicator

The log files show the build progress using a record count. By default, this count updates after every 100 records are processed:

You can change the default increment by editing the str.progress.report.interval parameter in the SuperCHANNEL configuration file, config.txt.

Error Messages

Target Schema validation failed: No CODE column defined for classification table

If SuperCHANNEL encounters a classification table without a Code column, it displays the following error message:

TEXT
ERROR: Cannot proceed with build: Target Schema validation failed.
Found 3 errors:
(1) No CODE column defined for classification table 'Occupancy'
(2) No CODE column defined for classification table 'Heating'
(3) No CODE column defined for classification table 'Dwelling Type'

To resolve this issue, use the Target Attributes pane to specify which column in the classification table is the Code column:

Target Schema validation failed: No NAME column defined for classification table

If SuperCHANNEL encounters a classification table without a Name column, it displays the following error message:

TEXT
ERROR: Cannot proceed with build: Target Schema validation failed.
Found 3 errors:
(1) No NAME column defined for classification table 'Occupancy'
(2) No NAME column defined for classification table 'Heating'
(3) No NAME column defined for classification table 'Dwelling Type'

To resolve this issue, use the Target Attributes pane to specify which column in the classification table is the Name column:

Error Log

If there are errors in the build, they display on the Errors tab.

In this example there are two warning messages.

TEXT
WARNING - Unable to load JDBC driver: str.jdbc.komodo.Driver
WARNING - Unable to load JDBC driver: str.jdbc.ddi.Driver 

The messages indicate that two drivers that were specified in the SuperCHANNEL configuration (config.txt) could not be found. Both of these are Space-Time Research drivers and were not required for this build:

  • str.jdbc.komodo is the Space-Time Research driver required for connection to the deprecated SXV3 format, and is only available in the 32-bit version of SuperCHANNEL.
  • str.jdbc.ddi is the driver for connection to data in DDI format. This driver is only available in an extended DDI version of SuperCHANNEL.
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.