Feedback

Connection to MSSQL NATIVE SRV

In Scriptcase installed on Linux, we have the following drivers available for connection to MSSQL Server: DBLIB, NATIVE SRV PDO and NATIVE SRV. If you are using your own preconfigured environment, the MSSQL Server extensions must be manually enabled in the PHP.

IMPORTANT: if you need to use Database Identifiers in your tables, we recommend using the double quotation marks( ) instead of the brackets( [ ] ) because of the conflict with the of Global Variables syntax Scriptcase. Using the brackets as database identifiers may lead to problems in the Scriptcase applications.

Microsoft Driver Installation Tutorial for PHP and SQL Server

IMPORTANT: If you are using Scriptcase automatic installer, the extensions are already enabled in PHP, ready for connection. The procedure below is only for manual installations of Scriptcase.

1 - Enter the Shell (terminal) as root and install the following packages:

Ubuntu\Debian RHEL\CentOS
sudo apt-get install unixodbc-dev sudo yum install unixODBC-devel

In the linux terminal, you will need to run the following commands to install the drivers:

Ubuntu\Debian

sudo pecl install sqlsrv
sudo su 
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/8.1/mods-available/sqlsrv.ini
exit
sudo phpenmod -v 8.1 sqlsrv

RHEL\CentOS

sudo pecl install sqlsrv
sudo su
echo extension=sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/20-sqlsrv.ini
exit
  • If you are unable to execute the above command because you cannot find packages, install the repository below and update.
sudo su
add-apt-repository ppa:ondrej/php -y
sudo apt-get update

2 - Restart the Apache service via the terminal.

sudo service apache2 restart

Important: Continue to the Microsoft ODBC Driver installation in order to enable the drivers and complete the process.

Installing Microsoft ODBC Driver for SQL Server (Linux)

1 - Using the terminal, run the following commands:

Ubuntu


if ! [[ "16.04 18.04 20.04 22.04" == *"$(lsb_release -rs)"* ]];
then
    echo "Ubuntu $(lsb_release -rs) is not currently supported.";
    exit;
fi
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17

Debian

sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version

#Debian 9
curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Debian 10
curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Debian 11
curl https://packages.microsoft.com/config/debian/11/prod.list > /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17

RHEL\CentOS

sudo su
#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version

#RHEL 7 and Oracle Linux 7
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo

#RHEL 8 and Oracle Linux 8
curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/mssql-release.repo

#RHEL 9
curl https://packages.microsoft.com/config/rhel/9.0/prod.repo > /etc/yum.repos.d/mssql-release.repo
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
sudo ACCEPT_EULA=Y yum install -y msodbcsql17

2 - Restart the Apache service via the terminal.

sudo service apache2 restart

Creating a Connection in Scriptcase

See below how to create a connection in your Scriptcase project, using the enabled Driver and the Microsoft SQL Server database.

1 - Access a project from your Scriptcase.

2 - Click the New Connection icon to create a connection

Creating a new connection

or access the Database > New connection menu.

Creating a new connection

After that, a screen will appear with all database connections.

3 - Select the MSSQL Server connection.

Selecting the database connection

Connection

Enter the parameters for connecting to your MSSQL Server database as follows:

Connecting to the database

  • Connection name: Define the name of your new connection. By default, Scriptcase adds the prefix conn along with the database name.

  • DBMS Driver: Select the DB2 Driver to connect. In this example, we use the MSSQL Server NATIVE SRV Driver.

  • Server/Host (Name or IP): Enter the IP or domain of the server where the database is installed and its instance separated by a backslash.
  • EX: dominiodoserver.com\SQLEXPRESS or 192.168.254.170\SQLEXPRESS

  • Port: Enter the port to connect to the MSSQL Server. By default, the port defined is 1433.

  • Database Name: List and select the database you will connect to.
  • EX: samples

  • Username: Inform the user to authenticate the connection to your database.

  • Password: Enter the password to complete the authentication process.

  • Test connection: Click this button to get a response to the Scriptcase request to find out if the parameters entered are correct.

Testing the database connection

Security

Security tab, where the connection encryption settings are defined.

Database connection security

  • Encrypt

    This property specifies whether communication with the SQL server should be encrypted. To enable encryption, you must set this property to “true”. This ensures that data sent between the client and server is protected by encryption.

  • trustservercertificate

    Set to “true” to specify that the driver does not validate the server’s TLS/SSL certificate.

    If “true”, the server’s TLS/SSL certificate is automatically trusted when the communication layer is encrypted using TLS.

  • trustStore

    The path (including the file name) to the certificate’s trustStore file. The trustStore file contains the list of certificates that the client trusts.

    When this property is not specified or is set to null, the driver relies on the trust manager factory query rules to determine which certificate store to use.

  • trustStorePassword

    The password used to verify the integrity of trustStore data.

    If the trustStore property is set but the trustStorePassword property is not set, the integrity of the trustStore is not checked.

  • hostnameInCertificate

    The hostname to use to validate the SQL Server TLS/SSL certificate.

    This property allows you to specify the expected hostname in the SQL server certificate. This is useful to ensure that the connection is only made to the correct server and not to a malicious server that may be using an invalid certificate.

    Note: This property is used in combination with the encrypt/authentication properties and the trustServerCertificate property. This property affects certificate validation if the connection uses TLS encryption and trustServerCertificate is set to “false”. Ensure that the value passed to hostNameInCertificate matches the Common Name (CN) or DNS name in the Subject Alternative Name (SAN) in the server certificate for a TLS connection to be successful. For more information about encryption support, see Understanding encryption support.

Filter

Accessing this tab, you can configure which Database items will be displayed on the connection, depending on the owner or not.

Filtering the database connection

Show


It allows the connection to see tables, views, system tables and procedures depending on the items selected by the user. By default, the items Tables and Views are already selected by Scriptcase.

  • Tables: Selecting this option, the tables in your database will be displayed.
    • By default, Scriptcase enables this option .
  • Views: By selecting this option, the views of your database will be displayed.
    • By default, Scriptcase enables this option .
  • System Tables: Selecting this option, the system tables of your database will be displayed.

  • Procedures: By selecting this option, the procedures of your database will be displayed.

Searches


Allows you to define which tables and owners are displayed.

  • Tables: You can define in this option which tables will be displayed. The configuration can contain a PREFIX%% or name of the tables to display.
    • By default, Scriptcase leaves this option empty .
    • EX:

    Example of using the prefix


  • Owner: Inform the user who sees the tables informed for display.
    • User must be capitalized as in the example above .
  • View: Choose whether tables for the informed owner are displayed.

NOTE: By using table filtering, you eliminate unnecessary tables for your project and improves the performance of your database connection.

Advanced

In this tab, you have access to specific settings for the connection. The settings made in this session impact the data display and application performance.

Advanced database connection configuration

  • Decimal Separator: Select the type of separator for decimal records, between comma and period.
    • By default, the . dot is selected as a separator .
  • Persistent Connection: Define whether connections will be terminated after the execution of your scripts in Scriptcase applications.
    • By default, Scriptcase disables this option .
  • Use the schema before the table name: Define whether the database schema will be displayed before the table names.
    • By default, Scriptcase enables this option .
Questions or Connection Problems?

Contact our support in case of connection problems or questions regarding this database.