I have recently installed Developer Edition of SQL Anywhere 17 on a Windows Server VM. I am able to start the db and connect locally. On my laptop, I tried to connect to the database using SQL Central 17 and chose to connect to a running database on another computer. When I click the "Ping" button it is able to ping it, but I'm never able to actually connect to it. Is there a configuration I'm suppose to modify first on the server to allow connections remotely, like in Oracle where I need to change the tnsnames file from "localhost" to the host address? Error message: Could not connect to the database. Database server not found Ensure that the name in the "Server name" field is spelled correctly, that the network options on the network tab are correct and that the database server has been started. [SAP][ODBC Driver][SQL Anywhere]Database server not found SQLCODE=-100 SQLSTATE=08001 Connection parameters: User=* Password= Host=**:2638 Server=* DBN=*** LINKS=TCPIP Thanks |
Thanks. Running dbsrv17 resolved my issue. |
hi, how are you starting the database server? In particular, do you see dbeng17 or dbsrv17 process?
If you are connecting to a database server on another machine, you have to ensure that you are running the network server (dbsrv17.exe), i.e.,
dbsrv17 -x tcpip(port=12345) -n MySrv database.db -n MyDb
The connection for SQL Central should be configured like:
Host: <host_name_or_ip> Port: 12345 Server name: MySrv Database name: MyDb
I do not see dbsrv17 running. Is this something that gets configured automatically or do I have to create the service? Is this service considered the listener for client connection? Thanks.
On the server itself, after installing SQL Anywhere, I launch SQL Central and choose "Connection" from menu bar and choose SQL Anywhere 17. In that dialog box I choose under Action "Start and connect to a database on this computer". That is how I start it. Then on a client computer I use SQL Central again, using the same method under Action I choose "Connect to a running database on another computer" but can't connect. No I do not see service dbsrv17 running. But I do see in the system tray that SQL Anywhere Personal Server was started.
Please try specifying dbsrv17 in a "Start line" of the window when you start the db server. It will start it as a network server and not as a personal server. You can read more about database servers here: https://help.sap.com/viewer/c2244d5288574e9ca0b8464993bd0eae/17.0/en-US/813963cc6ce21014b53f93288e6e8bad.html and here: https://help.sap.com/viewer/c2244d5288574e9ca0b8464993bd0eae/17.0/en-US/3bc8723c6c5f10149da5dc2f3b74259d.html?q=dbeng17
If you are not starting the engine separately from the client application, you are autostarting the database and in most cases that means it is using a standalone engine dbeng17.exe. That engine only allows local machine connections.
If you require access to the same database on multiple machines, you will need to run the network server dbsrv17.exe. I would generally recommend that you start a network server based environment as a service as it will allow for starting up at machine start.
You can use SQL Central to create a network server service. If you look at my example, the service parameters would be:
-x tcpip(port=12345) -n MySrv database.db -n MyDb