This section provides a detailed description of the contents of the Source panel in the CAST Database Extractor.

This panel enables you to define the parameters for the extraction process, i.e. your source database server, how to connect to it, what to extract etc. Each item is explained in more detail below:

Vendor

Use this option to choose the target RDBMS vendor for the extraction process:

  • Oracle (default)
  • SQLServer (Microsoft SQL Server)
  • ASESybaseServer (Sybase ASE)
  • AzureSQL (Azure SQL - handled as Microsoft SQL Server)
Choosing an option will display configuration options specific to that Vendor.
JDBC Driver

Choose the JDBC Driver from the drop down list that is appropriate for the platform chosen above:

  • oracle.jdbc.OracleDriver (Oracle - default)
  • net.sourceforge.jtds.jdbc.Driver (Microsoft SQL Server, Sybase ASE or AzureSQL)
Note that in early beta releases of this component, the driver com.microsoft.jdbc.sqlserver.SQLServerDriver is available for use. PLEASE DO NOT USE THIS DRIVER - INSTEAD ALWAYS USE THE net.sourceforge.jtds.jdbc.Driver DRIVER FOR BOTH MICROSOFT SQL SERVER AND SYBASE ASE
Database URL

This command is used to specify the source server for connection purposes. Manually enter the JDBC Connection parameters for the platform/JDBC driver chosen above.

Note that by default the field will be populated with the Oracle database URL, therefore you may need to change it as described below.

oracle.jdbc.OracleDriver (default)

SID/INSTANCE NAME: jdbc:oracle:thin:@<SERVER NAME>:<PORT>:<INSTANCE NAME>
SERVICE NAME: jdbc:oracle:thin:@//<SERVER_NAME>:<PORT>/<SERVICE>
  • <SERVER NAME>: replace with the name or IP address of the server hosting your Oracle database

  • <PORT>: specify the port number on which your Oracle instance/service is running. By default this is 1521 but this may have been changed in your environment

  • <INSTANCE NAME>: replace with the name of your Oracle instance
  • <SERVICE>: replace with the service name of your Oracle database

net.sourceforge.jtds.jdbc.Driver

jdbc:jtds:<SERVER_TYPE>://<SERVER>[:<PORT>][/<DATABASE>][;<PROPERTY>=<VALUE>[;...]]
  • <SERVER_TYPE>: (required) replace this with either "sqlserver" or "sybase" depending on the RDMBS you are accessing. For Azure SQL, use "sqlserver".

  • <SERVER>: (required) replace with the name or IP address of the server hosting your RDBMS. For Azure SQL this is the Azure SQL server name.
  • <PORT>: (optional) specify the port number on which your RDBMS is running. By default this is 1433 for Azure SQL/Microsoft SQL Server and 5000 for Sybase ASE, but this may have been changed in your environment
  • <DATABASE>: (optional and only used when working with Microsoft SQL Server/Azure SQL):
    • For Microsoft SQL Server, specifies the instance name where the RDBMS is running in a named instance configuration. If you omit this, then the default instance will be accessed.
    • For Azure SQL, this is the Azure SQL database name (only one database can be associated to an Azure SQL server)
  • <PROPERTY>/<VALUE>: (optional) only required in specific situations (see below).

See http://jtds.sourceforge.net/faq.html#urlFormat for more information about the jTDS URL format.

Specific situation: Azure SQL

Example Azure SQL database URL:

jdbc:jtds:sqlserver://my_server.database.windows.net:1433/my_database;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30

Specific situations: Windows authentication

If your target server requires that you use Windows authentication, you can use the following URL format when running the extractor on a Windows machine:

jdbc:jtds:<SERVER_TYPE>://<SERVER>[:<PORT>];useNTLMv2=true;domain=xxx

Note that:

  • You still need to insert a User and Password in the relevant fields (see http://jtds.sourceforge.net/faq.html#windowsAuth for more information)
  • You need to ensure that you download and install the ntlmauth.dll file as follows:
    • Download the latest jTDS driver in ZIP format from https://sourceforge.net/projects/jtds/files/
    • Extract the ZIP and then find the following file in the resulting folder hierarchy: x64\SSO\ntlmauth.dll (or x86\SSO\ntlmauth.dll if you are running the extractors on a 32bit Windows Operating System)
    • Copy the ntlmauth.dll file to %SYSTEMROOT%/system32
    • Now restart the extractor before you attempt to use it.

Specific situations: SSL encryption

If your target server requires that you use SSL encryption, you can use the following URL format when running the extractor on a Windows machine:

jdbc:jtds:<SERVER_TYPE>://<SERVER>[:<PORT>];ssl=require
User

This command tells the extraction tool what login to use to access the source server. Enter a login with sufficient rights as explained in SQL - Required RDBMS rights for packaging a database using the legacy CAST Delivery Manager Tool. When attempting to connect to an Azure SQL database, the user name should be entered as follows:

[User]@[Server]
PasswordThis command tells the extraction tool what password to use to access the source server (corresponds to the login specified above). Enter the correct password for the login specified above.
Database Parameters

These commands specify the schema/database you would like to extract:

OptionDescription
schemaOnly visible when an Oracle driver has been selected and is therefore only of use for Oracle extractions. Please see the notes below about how to use this field.
minimal_access_mode

Only visible when an Oracle driver has been selected and is therefore only of use for Oracle extractions. This option accepts either of the following values:

  • dba (default setting) > this value will prevent an extraction from starting if the user login entered in the User field (above) only has rights to query the ALL_* views. This is a fail-safe mechanism because these views only give access to objects that the user is entitled to access: this means that CAST cannot guarantee that the extraction will contain all the required data. This value can also improve performance.
  • all > if the user login entered in the User field (above) only has rights to query the ALL_* views and you understand that these views only give access to objects that the user is entitled to access (meaning that CAST cannot guarantee that the extraction will contain all the required data) and that extraction performance may be reduced, then you MUST enter the all value in this field to enable the extraction to start. ALL_* views will then be queried.
Note that this option is identical to the ALL access mode check box provided in the CAST Delivery Manager Tool for Oracle extractions. In the CAST Delivery Manager Tool, selecting the ALL access mode check box is equivalent to inserting "all" in the minimal_access_mode field.
stop_on_invalid_objects

Only visible when an Oracle driver has been selected and is therefore only of use for Oracle extractions. When enabled this option will force the extraction process to stop when an invalid object is encountered. By default this option is not enabled.

skip_comments

Only visible when an Oracle driver has been selected and is therefore only of use for Oracle extractions. This option determines whether comments on tables, columns, views and materialized views will be extracted or not. Extracting comments (or not) has no impact on analysis results or Automated Function Point values - they will either be visible or not in CAST Enlighten. Accepts either of the following lowercase values:

  • no (default setting)
  • yes > this can improve performance.
skip_modification_check_schemaOnly visible when an Oracle driver has been selected and is therefore only of use for Oracle extractions. If an object is compiled or modified when the extraction is run, the database extractor will detect this by default and messages to that effect will be displayed in the log file (see What happens if an object is compiled or modified when the extraction is run on an Oracle Server?). If you would prefer that this check is not performed during an extraction, then you can list the schemas (separated by commas) which should be excluded from the check.
databaseOnly visible when a Microsoft SQL Server or Sybase ASE driver has been selected and is there only of use for Microsoft SQL Server and Sybase ASE extractions. Please see the notes below about how to use this field.
connection:oracle.net.encryption_client

Only visible when an Oracle driver has been selected. These options are aimed at extraction of schemas hosted on Oracle Server 11 / 12 that require encrypted connections.

These four options allow you to configure the database extractor to connect to an Oracle Server which accepts only encrypted connections. The default values provided in the CAST Database Extractor are the default settings used on the Oracle Server side, therefore if your target Oracle Server uses a custom/specific encryption policy, you should change the options in the CAST Database Extractor to match those defined in the SQLNET.ORA file.

If your target Oracle Server is configured to accept unencrypted connections, please manually remove all options from all four fields.

Permitted values:

  • connection:oracle.net.encryption_client: REJECTED, ACCEPTED, REQUESTED, REQUIRED
  • connection:oracle.net.encryption_types_client: AES256, AES192, AES128
  • connection:oracle.net.crypto_checksum_client: REJECTED, ACCEPTED, REQUESTED, REQUIRED
  • connection:oracle.net.crypto_checksum_types_client: SHA512, SHA384, SHA256, SHA1, MD5

Note that while the possibility to accept encrypted was introduced in Oracle Server 10g, the default settings available in the CAST Database Extractor may not be fully compatible and CAST does not recommend using them unless you are forced to.

connection:oracle.net.encryption_types_client
connection:oracle.net.crypto_checksum_client
connection:oracle.net.crypto_checksum_types_client

Notes

  • To extract an individual schema/database, enter the NAME of the schema/database in the schema or database field.
  • If you intend to extract an entire instance and all schemas/databases, leave the schema or database field blank.
  • If you intend to extract multiple schemas/databases you can list them separated with a comma (",").
  • Please ensure that you input the name of the schema/database in the schema/database field in the correct case (i.e. upper or lower) as these fields are case sensitive - remember that the vast majority of Oracle schemas are in upper case.
  • If you have objects from different schemas/databases on the same instance that are linked (i.e. inter-schema links such as "Database-Links" or between objects in different schemas) and you expect the analysis to detect and store these links, then you must ensure that you carry out ONE extraction on all the schemas/databases involved (i.e. specify the schemas/database involved separated with a comma). If you are unsure which schemas/databases are involved, you can extract the entire instance by leaving the field blank, but this can affect performance.
  • The CAST Database Extractor will carry out an automatic validation of the information entered into this field to counter the incorrect use of case or the input of a non-existent schema/database. The extraction process will be stopped and an error will be displayed if the validation fails.