cancel
Showing results for 
Search instead for 
Did you mean: 

Do client computers need to have SQL Anywhere installed to access a database on a server?

01-09-2026 11:26 PM
jcatania Explorer
1244 views 6 comments
0 Likes
SAP Managed Tags
Subscribe

Hi all, 

I am having connectivity issues. I have a Windows server with SAP SQL Anywhere 17 installed. Running on this remote server is a database which I am hoping to have client computers (i.e., my team's laptops) connect to using their Windows ODBC administrator. When I test the connection in the ODBC administrator from a client computer, an error raises that it cannot connect to the database on the server. It does however work when testing if the server can connect to the database using the servers ODBC administrator. I was wondering if SQL Anywhere 17 needs to be installed on the client computers as well and if this is the reason for the connectivity issue. ChatGPT suggested that Driver Version could be a reason for lack of connectivity:

"When an ODBC connection test fails, it is usually due to incorrect credentials, network/firewall issues, or driver compatibility mismatches"

I know it is not an issue with credentials and feel pretty confident it is not a firewall issue. I noticed when looking through the ODBC administrator on a client computer, there was not a driver called "SQL Anywhere 17" but this IS the driver used by the server computer to connect to the database. 

Sorry for the naive question! I am new to databases and SQL Anywhere and am not an IT professional (just a desperate academic!). Many thanks for any and all help.

Best wishes,

Jules

0 Likes

Accepted Solutions (0)

Answers (2)

Answers (2)

VolkerBarth
Contributor

To acually answer the title question:
Client computers do not need to have a full SQL Anywhere install but need to have the required database client files installed. What set of files is required (say ODBC, JDBC, .Net, PHP etc.), depends on the client application that is to be used. Furthermore, if clients should also use SQL Central or Interactive ISQL, this can be added as an "Addministration Tool" deployment.

If the same application is to be used by several client machines, I would recommend to create an appropriate setup via the Deployment Wizard tool.


Here's a starting link:
Requirements for Deploying Client Applications 

chris_keating
Product and Topic Expert
Product and Topic Expert

Please check the following.

  • Ensure that the SQL Anywhere running is a network server (dbsrv17)
  • Ensure that you can ping the host where SQL Anywhere server is running at the client , 
  • Determine the database engine (server) name and the database name  -- values in the <...> depend on your specific configuration.
    • dbsrv17 -n <ServerName>  database.db -n <DatabaseName>
  • In the client connect, supply the Host,  Server, and DatabaseName connection parameters. For the example above 
    • HOST=<host_machine_name_or_ip>:2638;ServeNamer=<ServerName>;DatabaseName=<DatabaseName>

This is useful guide if you are unsure of how the server and database names are determined. How the SQL Anywhere Server and Database Get Their Names.. Alternatively, you can execute the following to assist in identify key elements for a connection to a SQL Anywhere server - this should be run from the machine where you can connect.

select
    property('Name') as ServerName
    , db_property('Name') as DatabaseName
    , property('MachineName') as HostMachineName
    , property( 'TcpIpListeners') as TCPIPListener;

The TCPIPListener should include the IP and port number that the listeners are enabled.  There may be multiple listeners enabled ( for example, an IPv4 and an IPv6 based IP address).