Skip to content

MS SQL

MS-SQL#

When "Test" button is pressed during connection information registration, connection is failed with error message#

Cause#

During registering MS-SQL connection information, when "Test" button is clicked, the following error message may be displayed:

  • Migration Center can support MS-SQL user who has a single schema only.

  • User doesn't have appropriate schema in target database.

Registration is not allowed because the schema relationship of the user of the connection information is incompatible with Altibase.

MS-SQL has a different relationship between users and schemas from that of Altibase. Altibase has a structure that a single schema is assigned to each user and the database object is dependent on the schema. On the other hand, in MS-SQL, a single user is allowed to have from zero to multiple schemas, and each schema has its own database objects. the Migration Center allows connection information registration only if the MS-SQL user owns only one schema.

Therefore, if an MS-SQL user has no schema or multiple schemas, it is unable to register a connection information with that user due to schema structure difference.

Solution#

Let the user of the connection information have only one schema.

When the "Test" button is pressed during connection information registration, the program stops.#

Cause#

It is presumably due to a conflict between the JVM installed on the appliance and the JVM embedded in the Migration Center. This problem may be shown up when the running operating system is Windows and a Java Runtime Environment (JRE) is installed before installing a Migration Center.

Solution#

You should open the executable file migcenter.bat with an editor and change the value of the environment variable JAVA_HOME to the location of the JRE already installed on the machine. The JRE should be changed to Java SE 8.0 or later.

The error message 'Unable to insert (or update) NULL into NOT NULL column.' is printed and data migration is failed.#

Cause#

This is because the difference between databases on how to handle empty strings in column with NOT NULL constraint. MS-SQL allows inserting an empty string into a table column that is subject to a NOT NULL constraint. In Altibase, an empty string means NULL, so it does not allow inserting an empty string into a table column that is subject to a NOT NULL.

Solution#

Adjust Empty String Handling Options of Data Options, and retry data migration.

Migration of duplicate foreign key is failed.#

Cause#

MS-SQL allows duplicate foreign keys while Altibase does not. So, only one foreign key will be migrated.

Solution#

In the "Missing" tab of the report created after the Run step, you can see the foreign keys that failed to escalate.

The error message 'The server selected protocol version TLS10 is not accepted by client preferences' is printed and connection fails.#

Cause#

The issue occurs because the Java Runtime Environment (JRE) used to run the Migration Center has been updated to default to TLS 1.2 or later, while the MS-SQL server does not support the newer TLS versions.

Solution#

To enable the use of older TLS versions, remove TLSv1 and TLSv1.1 from the jdk.tls.disabledAlgorithms in the java.security file.

The path to the java.security file depends on the Java version:

  • Java 10 and earlier: $JAVA_HOME/jre/lib/security
  • Java 11 and later: $JAVA_HOME/conf/security
//jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, 
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, 

If using TLS 1.2 or later is mandatory, refer to KB3135244 - TLS 1.2 support for Microsoft SQL Server to update Windows, MS-SQL server, and the MS-SQL JDBC driver file.

Using a JDBC driver that is not compatible with the Java version running the Migration center may result in the following error: "Unable to connect to DB. javax/xml/bind/DatatypeConverter."#

Running the Migration Center on Java 11 or later while using a JDBC driver designed for JRE 10 or earlier may result in the following error: "Unable to connect to DB. javax/xml/bind/DatatypeConverter."

Cause#

This error occurs because the JDBC driver designed for JRE 10 or earlier references the javax.xml.bind module, which has been removed in Java 11 and later versions.

Solution#

Use a JDBC driver file that is compatible with the Java version running the Migration Center.

Example: mssql-jdbc-7.2.2.jre11.jar