Skip to main content
Skip table of contents

config.txt

This file contains various SuperCHANNEL preferences. The location of config.txt will depend on where you installed SuperCHANNEL. By default, it is located in C:\ProgramData\STR\SuperCHANNEL\bin.

If you make changes to this file, then you must ensure you save the file in UTF-8 encoding without a Byte Order Mark (BOM). Some text editing applications (including Windows Notepad) will automatically add a BOM to the file. If this happens then SuperCHANNEL will fail to start with the error "java.lang.NoClassDefFoundError: str/channel/engine/DriverManager"

To resolve this issue, use a text editor that allows you to specify the file encoding, such as Notepad++, and choose Encoding > Encode in UTF-8 without BOM before saving the file.

Within the file:

  • Lines prefixed by the '#' character are comments and will be ignored by SuperCHANNEL.
  • The parameters $(SNU_PROGRAM_HOME) and $(SNU_DATA_HOME) used in the file refer to the locations of the SuperCHANNEL Program Files and ProgramData directories. In a default installation, these are located in C:\Program Files\STR\SuperCHANNEL and C:\ProgramData\STR\SuperCHANNEL.

It is also possible to edit the SuperCHANNEL parameters using the Preferences tool in the SuperCHANNEL GUI. However, using the GUI option will cause all the lines in the file to be resorted into alphabetical order (meaning that the descriptive comments will no longer appear next to the properties that they refer to). For this reason, Space-Time Research recommends you make any required changes by editing the configuration file directly, rather than using the SuperCHANNEL GUI.

Property

Description

java.class.path

The locations of class files for all drivers. Each location is separated by a semicolon.

java.compiler

This property is commented out as it is no longer used.

java.library.path

The library paths for additional libraries required by drivers.

For example: java.library.path=$(SNU_PROGRAM_HOME)/bin on a Windows system. On a Unix system, the path will be $SNU_HOME/libs.

jdbc.drivers

The class names of the JDBC drivers required for connection. The entries are case sensitive, and separated by colons.

There are some drivers listed by default, such as the SXV4 driver (str.jdbc.sxv4.Driver). You will need to add the class names of the JDBC drivers for connecting to your RDBMS.

jdbc.table.types

The database table types visible in SuperCHANNEL, separated by colons.

The default settings are TABLE and VIEW:

TEXT
jdbc.table.types=TABLE:VIEW

You may need to add other types depending on the JDBC driver you are using to connect to your database. Refer to the JDBC driver documentation for more information.

If you are using Oracle synonyms with SuperCHANNEL, you will need to update this property as follows:

TEXT
jdbc.table.types=TABLE:VIEW:SYNONYM

To use synonyms with Oracle you will also need to set the includeSynonyms property to true (see below).

jdbc.resultset.fetchsize

The number of rows to be returned from the database in a result set. By default, this is set to:

TEXT
jdbc.resultset.fetchsize=

This setting means that the  number of rows is determined by the driver being used.

This can be changed to any positive integer that is below the maximum value supported by the database connection.

jdbc.source.connection.autocommit

This property is commented out as it is no longer used.

snu.data.home

The SuperCHANNEL data path directory. Do not change.

snu.program.home

The SuperCHANNEL program home directory. Do not change.

str.oracle.fix

This property enables the SQL data type NUMBER(3) to display in the list of supported data types in SuperCHANNEL. If an Oracle source database contains this field type, and the property is not enabled in config.txt, then those columns will be excluded from the SXV4 database build.

yes
The SQL data type NUMBER(3) displays in the list of supported SuperCHANNEL data types.
no
The data type will not be recognised. When an Oracle source database contains this field type, SuperCHANNEL does not data type map the columns, excluding the field type from the SXV4 database build.
sxv4driver.home

The path to the SXV4 driver. Do not change.

ddi.workdir

The path to the directory where the DDI driver will generate output XML files. This property applies to the DDI driver only.

str.multithread.facts

Whether to use multi-threading for fact table data:

yes
Process fact table data in multi-threaded mode.
no
Do not use multi-threading
str.multithread.class

Whether to use multi-threading for classification data:

yes
Process classification tables in multi-threaded mode.
no
Do not use multi-threading.
str.outputstream.imp

The output stream for standard output. The default is System.out.

str.errorstream.imp

The output stream for error output. The default setting is System.err.

includeSynonyms

Whether to display columns in the Source View when connected to an Oracle database. This property is an Oracle JDBC driver property.

false
Display only the names of synonyms contained in the schema. Do not display the columns of the underlying tables associated with the synonyms.
true

Display the columns in the Source View.

Use of this feature carries a performance penalty. If you do not need views, disable this feature by setting the flag to false.

If you are using Oracle synonyms, you will also need to modify the jdbc.table.types property (see above).

snu.log.home

The directory for storing build logs.

During a build, SuperCHANNEL saves a temporary copy of the project file as well as the error and output build logs (see Build Logs for more information).

This property is commented out by default, which means that the build output will be written to the SuperCHANNEL scripts directory. If you installed to the default location, this will be C:\ProgramData\STR\SuperCHANNEL\scripts.

You may need to change the log output directory. For example, if your user account does not have permission to write to the SuperCHANNEL scripts directory you will see the following error when trying to build your project:

To change the directory, remove the comment at the start of the line and set the value of the property to the directory where you want to store the temporary build output. You can use environment variables, such as %temp% to save to the user's temp directory. For example:

TEXT
snu.log.home=%temp% 

On Windows 7, this setting would cause SuperCHANNEL to write the temporary log output to C:\Users\<username>\AppData\Local\Temp\scripts

SuperCHANNEL also writes a general log, scgui.log, to the scripts directory. If your user account does not have permission to write to the scripts directory, then you will also need to change the location of this file. See Build Logs for more details.
superchannel_gui.jvm.maxheapsize

The maximum Java Virtual Machine (JVM) heap size, in megabytes, for the SuperCHANNEL GUI. This memory allocation is used when connecting to a data source via a JDBC driver. It must be a positive integer value and greater than or equal to the superchannel_gui.jvm.minheapsize.

  • If superchannel_gui.jvm.maxheapsize is defined, superchannel_gui.jvm.minheapsize must also be defined.
  • If both superchannel_gui.jvm.maxheapsize and superchannel_gui.jvm.minheapsize are defined incorrectly, 1024 MB will be used for superchannel_gui.jvm.maxheapsize.
  • If superchannel_gui.jvm.maxheapsize is not defined, the JVM default value will be used. Different JVM implementations have different default values for the maximum heap size.
  • This setting is passed to the JVM using the –Xmx command line option. Some JVMs do not implement this flag. Refer to your JVM documentation for more information.
  • This setting does not alter the behaviour of SNU, the command line channelling tool. To alter the maximum heap size for SNU, add the –Xmx command line option to the snu.bat file.
superchannel_gui.jvm.minheapsize

The minimum JVM heap size, in megabytes, for the SuperCHANNEL GUI. This memory allocation is used when connecting to a data source via a JDBC driver. It must be a positive integer value and less than or equal to the superchannel_gui.jvm.maxheapsize.

  • If superchannel_gui.jvm.minheapsize is defined, superchannel_gui.jvm.maxheapsize must also be defined.
  • If both superchannel_gui.jvm.maxheapsize and superchannel_gui.jvm.minheapsize are defined incorrectly, 512 MB is used for superchannel_gui.jvm.minheapsize.
  • If superchannel_gui.jvm.minheapsize is not defined, the JVM default value will be used. Different JVM implementations have different default values for minimum heap size.
  • This setting is passed to the JVM using the –Xms command line option. Some JVMs do not implement the -Xms flag. Refer to your JVM documentation for more information.

  • This setting does not alter the behaviour of SNU, the command line channelling tool. To alter the minimum heap size for SNU, add the –Xms command line option in the snu.bat file.

str.usebatch

Whether to use batch mode processing.

true
Use batch mode processing for table inserts. This is the default.
false
Do not use batch mode processing for table inserts.
str.queue.max.batches

The number of buffers used in batch mode insert processing. You are not recommended to modify this value.

The default value is 10.

str.cleansing.printerrors

Whether to print messages about cleansing actions during batch mode processing.

true
Print cleansing action messages in batch mode. This is the default.
false
Do not print cleansing action messages in batch mode.
str.queue.max.records

The size of the queue used for single row insert mode.

str.usequalifier

Whether to preprend the schema name specified at login time when referring to database objects by name.

This can be useful in cases where you log in as one user but you need to channel from tables in another user's schema.

For example, in DB2 if the table is not prefixed with a schema it assumes the schema name is the same as the user name. If the schema and the user name are not the same then the tables cannot be accessed. Therefore SuperCHANNEL cannot read the registry tables and display or build the database correctly.

The str.usequalifier property causes SuperCHANNEL to prefix each table with the schema before trying to query from them. The str.usequalifier property will use the value assigned to it as a separator for the object name string.

For example, if you are logged in as user FRANK and accessing table EMPLOYEE in schema ROBERT and have the property set as follows (this specifies that . is the separator):

CODE
str.usequalifier=.

Then SuperCHANNEL sets the actual SQL object name sent to the source database to ROBERT.EMPLOYEE

str.progress.report.interval

How often to report progress during channelling.

By default, a message is printed for every 100 rows inserted.

str.monitor.imp

Whether to use performance monitoring and, if so which monitoring tool to use.

str.monitor.MonitorManagerImp
Use the graphical performance monitor.
str.monitor.MonitorToFileManagerImp
Use the file based performance monitor.
str.monitor.inserter.rowrate.maxrows

The maximum setting for the graphical display y-axis of the performance monitor Row Rate chart. This setting can be used to change scale to make the graph more readable.

str.monitor.refresh

The refresh rate for the performance monitor in milliseconds (i.e. how often the monitor should write out results).

str.ddi.xsd.validation

Whether the DDI driver should do XML schema validation when it opens a DDI Document.

true
Perform basic structural validation of the document against the DDI standard XSD schema definition. This is the default.
false
Do not perform validation.

The setting is ignored if the data source is not DDI.

str.ddi.schematron.validation

Whether the DDI driver should run its schematron validation rules when it opens a DDI document.

true

Validate the input. This validation will detect (and produce helpful messages for) many errors in a DDI document that would not be caught by regular XML validation or that would be hard to diagnose from the JDBC errors returned to SuperCHANNEL. Using this option will add to the channelling time.

false

Do not validate. If you have run the validation and are sure that there are no problems with the document and wish to avoid the overhead on repeat runs, you can set this property to false to switch validation off.

This setting is ignored if the data source is not DDI.

By default, this setting is commented out, and validation will not be carried out. If you want to activate validation you will need to uncomment the setting and set it to true. You will also need to download a third party tool called probatron (available from https://code.google.com/archive/p/probatron4j/downloads). Unzip this file and save probatron.jar to the jar directory in the SuperCHANNEL program files installation directory (if you installed to the default location this will be C:\Program Files\STR\SuperCHANNEL\jar).

str.jdbc.sctextdriver.inconsistenteolwarning

Whether to log a warning about inconsistent EOL (end of line) characters in Textual Definition Documents (TDDs).

true
Log warnings if inconsistent line endings are found in a TDD.
false
Do not log warnings about inconsistent EOL characters. This is the default.

The setting is ignored if the data source is not a TDD.

str.sctextdriver.encoding

The file encoding to use when channelling text based source data in TDD format.

By default, this setting is commented out, and the TDD driver will use the current system codepage (e.g. Windows 1252).

If you are channelling data that contains characters that are not supported by the current codepage, you should uncomment this setting.

str.root.table

The name of the SuperCHANNEL root registry table.

The default is __SUPER_CHANNEL__

str.temp.dir

The location of the SuperCHANNEL temporary work file.

This file is created in the SuperCHANNEL bin folder by default.

If you want to change the location (for example because you do not have permission to write to this location), then you can add this parameter. For example:

TEXT
str.temp.dir=c:/temp

You must forward slashes / not backward slashes \ to specify the path.

str.database.lazy

Whether to use demand loading (lazy loading).

Lazy loading means that on connection to the source database SuperCHANNEL only loads the information it needs to display the initial source tree (such as the database information, the list of tables and any registry tables). When SuperCHANNEL needs additional information (for example because you expanded one of the tables in the Source View), it queries the database for the additional information required (such as the columns in the table and the primary key information).

This can be more efficient than loading the entire database structure into memory.

By default, lazy loading is enabled.

If you want to turn it off (so that SuperCHANNEL will load the entire database structure into memory when it connects), you can do so by adding the following parameter to config.txt:

TEXT
str.database.lazy=false

This parameter does not appear in the configuration file by default, so you only need to add the parameter if you want to turn lazy loading off. To turn it back on again, remove the parameter from the configuration file.

str.spsscmd.custid
The mode to use for processing multi-response questions in SPSS survey data. This parameter does not appear in config.txt by default; it only needs to be added if you want to change from the default mode. See Multi-Response Questions in Survey Data for more information.
JavaScript errors detected

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

If this problem persists, please contact our support.