73
Views
2
Comments
Integration Builder: Failing to connect to an on-prem external Database
Application Type
Reactive

Hi,

I'm currently facing an issue in my use case where I need to establish a connection to an external on-premises SQL Server database. 

Our OutSystems installation is on-premise and not in the cloud. When I attempt to connect to the external database using the Integration Studio-Service Center method, everything works fine.

 Additionally, I can successfully connect to it directly from SQL Server Management Studio.

However, when I try to perform the same operation using Integration Builder, and click on "Test Connection" using the same credentials and configuration, I encounter the following error:

Invalid connection string.

Connection string test failed with 'A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)'.

Does anyone have any insights into what might be causing this issue? Looks like a connectivity issue between the OutSystems server and the external SQL Server but I am unsure where to start from. Any assistance would be greatly appreciated :)

P.S: I did check the forum, but did not find anything relevant to my problem with Integration Builder.

Best regards,

Abed

2024-01-20 14-53-12
Ahmed Essawy

This is pure connection error between the Outsystems server and your sql server :

The error message you're encountering is a common one when working with SQL Server and typically indicates an issue with connecting to the SQL Server instance. Here are several steps to troubleshoot and potentially resolve this issue:


### 1. Verify SQL Server Instance Name

   - Ensure that the SQL Server instance name you are using in your connection string is correct. If you're using a named instance, the format should typically be `hostname\instancename`.


### 2. Check SQL Server Service

   - Make sure that the SQL Server service is running on the server. You can check this using the SQL Server Configuration Manager or the Services app in Windows.


### 3. Enable TCP/IP Protocol

   - In SQL Server Configuration Manager, ensure that the TCP/IP protocol is enabled under SQL Server Network Configuration.


### 4. Check Firewall Settings

   - The server's firewall may be blocking SQL Server. Ensure that the port used by SQL Server (default is 1433) is open on the server's firewall for inbound connections. If you're using a named instance, make sure that the SQL Server Browser service is running and allowed through the firewall, as it helps direct traffic to the correct port for named instances.


### 5. Allow Remote Connections

   - In SQL Server Management Studio (SSMS), right-click on the server in the Object Explorer, go to Properties → Connections, and ensure that "Allow remote connections to this server" is checked.


### 6. Test Network Connectivity

   - Use tools like `ping` or `telnet` to test basic network connectivity to the SQL Server host. For example, you can use `telnet hostname 1433` to test if the port is accessible.


### 7. SQL Server Browser Service

   - If you're using a named instance and not specifying a port in your connection string, ensure that the SQL Server Browser service is running. This service directs connections to the correct port for a named instance.


### 8. Check Client Protocols

   - On the client machine, use SQL Server Configuration Manager to ensure that the client protocols (TCP/IP, Named Pipes) are enabled.


### 9. DNS Issues

   - If you are connecting using a hostname, make sure that there are no DNS resolution issues.



2024-01-04 15-15-51
Abed Al Banna

Thanks for the thorough reply Ahmed, I will look into the things you have mentioned, have a good day! :)

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.