Go to Scriptcase store

# Connection with Google Cloud PDO DBLIB

If you do not have the PDO DBLIB driver enabled, check below our documentation on how to enable this driver in Scriptcase for connection.

- To enable PDO DBLIB: click here

> ATTENTION: If you don’t have a Google Cloud database created, check how to create it by clicking here.

## Creating a connection to Scriptcase

See below how to create a connection in your Scriptcase project, using the Driver enabled (PDO DBLIB) and the Google Cloud MSSQL Server database.

1 - Access a project from your Scriptcase.

2 - Click the New Connection icon to create a connection

or access the Database> New connection menu.

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

3 - Select the Google Cloud connection.

4 - And choose the Google Cloud SQL Server database.

## Connection

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

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

- SGDB Driver: Select the MSSQL Server Driver to connect. In this example, we use the Driver PDO DBLIB.

- SGDB server: Enter the domain of the Google Cloud server where the database is installed.

- EX: `banco-mssql.us-east-2.rds.amazonaws.com`

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

- Database: List and select the database you will connect to.

- EX: `samples`

- User: 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.

## Security

Security tab, where the connection encryption settings are defined.

- 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.

#### 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: 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: Selecting this option, the procedures of your database will be displayed.

#### Filters

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:

- Owner: Inform the user who sees the tables informed for display.
  - The user must be in capital letters 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.

- client_encoding: Select the encoding used in your database. In the example above, we use the client_encoding utf8.
  - By default, the utf8 charset is set.
- Decimal Separator: Select the separator type of the decimal records, between comma and period.
  - By default, the point `.` is selected as a separator.
- Persistent Connection: Define whether connections will be closed 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.

## SSH

Here are the SSH options available in the image and their descriptions regarding database connection:

#### Use SSH

Enables or disables the SSH tunnel for database connection. When enabled, the database connection will be routed through the SSH server.

#### SSH Server

The IP address or hostname of the SSH server that will be used for tunneling. This is the machine that will act as a bridge to access the database securely.

#### SSH Port

The port used to connect to the SSH server.

#### SSH User

The username used to authenticate with the SSH server. This user must have permissions to establish an SSH connection.

#### Authentication method

You can choose two options: password or certificate. When you choose one of the options, a new field will appear below for the configuration.

#### Private cert. file

The private key file used for authentication if the SSH server requires key-based authentication instead of a password.

#### Local port for port forwarding

The local port on the client machine that will be used for forwarding database traffic through the SSH tunnel. This port acts as a bridge between the database client and the remote database.

#### Database server from SSH

The hostname or IP address of the database server as seen from the SSH server. This is necessary when the database is only accessible within the SSH server’s network.

#### Database port from SSH

The port of the database server that will be accessed through the SSH tunnel. This should match the database service’s listening port.

> Connection Questions or Problems?

> Contact our [support][link_support]{:target=’_ blank’} in case of connection problems or questions regarding this database.