SQL Anywhere Question


I'm normally working with ASE, but now I'm facing SQLAnywhere. We have an SQLAnywhere networkservice (SQL_ANY_SRVR on TCPIP) up and running. There's a database on the same server we want to connect to from another server, at which I tried to configure a client service (SQL_ANY_CLNT). The goal of this all is to get an ODBC connection on server A to a database on server B. Now I can't get the client service running.. We don't have manuals here.. so I'm up sh*t creek..
Can anybody give me some hints?

Who is Participating?
jkotekConnect With a Mentor Commented:
I have done several tests myself.

The problem you are encountering is, that on the client machine (SQL_ANY_CLNT) won't start the dbclient.exe process (SSA 5 client).

You have to force this by starting the dbclient with the '-y' parameter - it will force the dbclient ro run even if there won't be any connection to database active.

If you don't do this, you get the 'Unable to start server' message (SSA 5 odbc driver tries to start local db engine - results in faliure).
Are you trying to create the SQL_ANY_CLNT on the same physical machine as the SQL_ANY_SRVR?
Here another comment.

I don't know how you try to start your service. I sometimes get errormessages when trying it from Sybase Central.

Go to Start --> Settings --> controlpanel --> services
and make sure that you start your SQL_ANY_CLNT service automatically.
Aftre this reboot your machine.
Cloud Class® Course: Python 3 Fundamentals

This course will teach participants about installing and configuring Python, syntax, importing, statements, types, strings, booleans, files, lists, tuples, comprehensions, functions, and classes.

lizzzardAuthor Commented:
No, on another machine..
That's possible right??
the services are configured to start at system boot..
try looking at http://sybooks.sybase.com/database.html it has sybase manuals online.
I still don't get it.

Are you trying to reach a database on machine 1 from machine 2?

You can do this as follows:

On Machine 1: Start your database using the sql anywhere service on machine 1. You can have several databases in 1 server (service).

On machine 2: Use dbclient to connect to the server and database on machine 1. (ASA 5.5)
Or connect bij ODBC directly (ASA 6.0 and higher) end use the IP-Adress from machine 1.
lizzzardAuthor Commented:

What you explained is exacly what I'm trying to do. However, I get the message 'Unable to start server' when trying to connect through DBClient from machine3, wether the server is running or not.
So I guess, I'm missing some parameter here...
Try this:

Make sure that the database server is running on machine1.

from machine2 (or 3) type:

dbclient -x tcpip{host=xxx.xxx.xxx.xxx} <SERVER_NAME>

xxx.xxx.xxx.xxx is the IP adress of machine1

<SERVER_NAME> is the name of your SQL_Anywhere Server on machine1
I also recomend adding '-y' switch to the dbclient's start line. The '-y' parameter will keep the dbclinet up and running even if there is no connection to the db server (that can be a source of the 'Unable to start server' error).

1 )albertsp suggestion for the client is correct, try to add one more thing to your dbclient start line. like

dbclient -x tcpip{host=xxx.xxx.xxx.xxx;MyIP=xxx.xxx.xxx.xxx} <SERVER_NAME)

What this does is tels server where to return data packets (client IP).

2) Also possible problem is how you have setup your ODBC entry. Could you provide more info.

3) Make sure that your client side is same level of patch as server side (both ends must be ver 5.5.03 or 5.504 ...)

Hope this helps.
lizzzardAuthor Commented:
the -y option indeed works...

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.