Problem
When running PeopleSync setup, you encounter the following error message:
ODBC Connect: Timeout exceeded
This can happen if there is a firewall between PeopleSync Frontend and SQL Server, the SQL Browser service is stopped or there is a TLS problem.
Solution
With the following advice you can find out which ports your SQL Server instance uses and consequently determine if they can be reached through the firewall. You can also check for other causes with the script provided.
Determine SQL Server Ports used
Open SQL Server Management Studio and connect to the SQL Server instance where the PeopleSync database is located.
- Open a new query window
Run the following command:
EXEC xp_ReadErrorLog 0, 1, N'Server is listening on', N'any', NULL, NULL, 'DESC'
On our server, for example, this gives the following output "Server is listening on [ 'any' <ipv4> 1433]."
Verify Connection
test-netconnection -ComputerName <SQL Server Name> -Port <Port>
ComputerName : srv-2 RemoteAddress : 10.0.18.96 RemotePort : 1433 InterfaceAlias : Ethernet SourceAddress : 10.0.18.54 PingSucceeded : True PingReplyDetails (RTT) : 1 ms TcpTestSucceeded : False
$servername = Read-Host -Prompt "Enter SQL Server and instance name" $database = Read-Host -Prompt "Enter database name" $installtype = Read-Host -Prompt "Enter 'f' if you are testing the database connection for the frontend or 'b' for the backend" $Error.Clear() $connection = New-Object System.Data.Odbc.OdbcConnection switch ($installtype.ToLower()) { 'f' { $login = Get-Credential $connection.ConnectionString = "Driver={ODBC Driver 17 for SQL Server};Server=$servername; Uid=$($login.UserName);Pwd=$($login.GetNetworkCredential().Password); Database=$database" } 'b' { $connection.ConnectionString = "Driver={ODBC Driver 17 for SQL Server};Server=$servername; Trusted_Connection=yes; Database=$database" } Default { Write-Error -Message "Invalid choice. Exiting." -ErrorAction Stop } } Write-Host "Connecting..." $connection.Open() $connection.Close() if ($Error.Count -eq 0) { Write-Host "Connected" }
Multiple Instances, Dynamic Ports and Special Configurations
https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/configure-a-server-to-listen-on-a-specific-tcp-port?view=sql-server-2017 .
<servername>,<port>
. For example, in the setup, the connection to instance "srv-2\instance1" running on port 1456 would be specified as "srv-2,1456". In this case, there is no need to specify the instance name.Related articles