CT-LIBRARY error: ct_connect(): user api layer: internal Client Library

Hi everyone

I'm using ASE 11.5.1, and I often getting the following message on the
client log file

"CT-LIBRARY error:  ct_connect(): user api layer: internal Client Library
error: Read from the server has timed out."

According to client developer, above problem is caused by network problem.
However I don't think that.

I tried to fix this problem as much as I can, but still occured.

Anyone helps would be grateful.

Thanks. DHL



0
Dong
10/14/2000 2:41:07 AM
sybase.sqlserver.general 4269 articles. 0 followers. Follow

5 Replies
1699 Views

Similar Articles

[PageSpeed] 19

Try increasing the retry_attempts and delay_interval parameters in the 
interfaces file.

Make sure the IP address or host name is correct in the SQL.INI file.

Can you ping the server through the DSEDIT utility?

-- 
Jim Egan [TeamSybase]
Houston, TX
http://www.eganomics.com

Sybase Developers Network
http://sdn.sybase.com/sdn/mec/mec_home.stm
0
Jim
10/14/2000 6:32:21 PM
Thanks a lot for your help.

Which machine do I increase the retry_attempts and delay_interval
parameters? Client or Server?
interfaces file exists in the ASE on the unix, but there is no interfaces
file on the Windows NT.

Sure, ping is OK through the DSEDIT.

Dong-Hyun


"Jim Egan" <dbaguru@eganomics.com> wrote in message
news:MPG.145262b3708509ac98aed2@199.93.177.77...
> Try increasing the retry_attempts and delay_interval parameters in the
> interfaces file.
>
> Make sure the IP address or host name is correct in the SQL.INI file.
>
> Can you ping the server through the DSEDIT utility?
>
> --
> Jim Egan [TeamSybase]
> Houston, TX
> http://www.eganomics.com
>
> Sybase Developers Network
> http://sdn.sybase.com/sdn/mec/mec_home.stm


0
Dong
10/15/2000 11:35:47 PM
See if this helps.  The example looks different from my NT setup which 
uses brackets around the server name.  The change in retry_attempts 
should be made on the client side
----------------------------------------------------------------------
How SQL Server Communicates with Clients

When client (front-end) software, or a server acting as a client by
executing remote procedure calls (RPCs), needs to communicate
with SQL Server, it performs the following steps:

1. It determines the name of the SQL Server, usually from the value
of the environment variable, DSQUERY, or from the value given
through a command-line option.

2. It looks for an entry in the interfaces file that has a SQL Server
name matching the value of DSQUERY or of the command line
option.

3. It connects to the SQL Server running on the combination of the
machine and port listed for that entry. If the client is unable to
connect the first time, it makes additional attempts according to
the delay and retry numbers in the interfaces file. (If no matching
entry is found, an error message is written to the client's
standard error file.)

The client can connect to any server correctly listed in the interfaces
file as long as the matching server name is supplied via DSQUERY or
a command line option. If no server name is supplied, the software
looks for an interfaces file entry with the default server name,
SYBASE. Use this feature if you always connect to a single SQL
Server named SYBASE.



Sample interface file and its format, taken from System AAdministration
Guide Supplement for IBM RISC System/6000 AIX:

#
TEST
query tcp ibm-ether gummo 2025
master tcp ibm-ether gummo 2025
#
PRACTICE
query tcp ibm-ether chico 4067
master tcp ibm-ether chico 4067
#
PRODUCTION
query tcp ibm-ether groucho 5789
master tcp ibm-ether groucho 5789



Each interfaces file
entry has the following format:

# put comments here<newline>
SERVERNAME<tab>retry_attempts<tab>delay_interval<newline>
<tab>service_type protocol network machine port<newline>
<blank lines or comments between entries for different SQL
Servers>

SERVERNAME

SERVERNAME is the name of the SQL Server or Backup Server.
Server names can be no more than 31 characters long. The initial
character of a server name must be a letter (ASCII a-z, A-Z). The
characters that follow must be letters, numbers, or underscores (_).

retry_attempts and delay_interval

retry_attempts and delay_interval are optional values that determine
how many times, and how often, a client tries to connect to SQL
Server after an initial failure to connect.
Clients attempt to connect to SQL Server using each query line in the
interfaces entry. If the client has unsuccessfully tried to establish a
connection to the SQL Server, it checks the retry_attempts and
delay_interval values in the interfaces file. The retry_attempts value
specifies how many times the client attempts a connection after an
initial failure to connect. The delay_interval specifies how many
seconds to wait between retries.

When you install SQL Server, sybinit prompts you for the delay
interval and the number of retry attempts for that SQL Server. You
can use sybinit to change these values at a later date. You can also
manually edit your interfaces file using a text editor such as vi or
emacs if you are an expert user. If you manually edit the interfaces 
file,
you must insert tabs or spaces between the values.

service_type

service_type describes the type of service the entry defines. The values
associated with service_type are: "query," "master," "console,"
"commit," and "debug."

- A line beginning with ``query'' represents the service that a client,
such as Data Workbench[, uses to log into SQL Server. The
``query'' entry in an interfaces file corresponds to the DSQUERY
environment variable described earlier.

- A line beginning with ``master'' defines the service SQL Server
uses to listen to login requests from clients. This entry
corresponds to the value of the DSLISTEN environment variable.
This line is not necessary in an interfaces file for a machine
running clients only.

- A line beginning with the word "debug" represents a connection
for use by Sybase Technical Support.

protocol

protocol is the name of the network protocol. Available protocols for
RISC System/6000 AIX are TCP/IP and IPX/SPX. They are
represented in the interfaces file entry by the letters "tcp" (for
TCP/IP) or "tli" (for IPX/SPX).

network

network is the name of the network. Although SQL Server does not
currently use this column, sybinit enters a network name as a place
holder when creating interfaces file entries. For RISC System/6000
AIX sybinit enters "IBM-ether" as the network name.

machine

machine is the network name of the machine on which SQL Server is
running. You can use either the host name or internet address as the
machine name.
To determine the host name of a machine, log in on that machine and
use the following command:

/bin/hostname

The first 32 bytes of the machine name must be unique on the
network; SYBASE software reads a maximum of 32 bytes for a
machine name in an interfaces file entry.

port

port is a port number between 1025 and 65535. The combination of a
machine name and port number uniquely identifies a SQL Server.
The port number selected for your SQL Server must not be used for
any other purpose on the machine where SQL Server is located.
More than one SQL Server can have the same port number if each
server is on a different machine. Check the /etc/services file on each
machine on the network to see a list of port numbers in use.


-- 
Jim Egan [TeamSybase]
Houston, TX
http://www.eganomics.com

Sybase Developers Network
http://sdn.sybase.com/sdn/mec/mec_home.stm
0
Jim
10/16/2000 2:19:35 AM
Hi, Jim

Thanks a lot for your considering.

I set up the retry_attempts and delay_interval in the sql.ini of client
SYBASE.
The following comment is sql.ini file.

;; Sybase Interfaces file
;;
;; [<database_server_name>]
;; <link_type>=<network_driver>,<connection_info>
;;
;; Examples:
;; [JUPITER]
;; QUERY=NLMSNMP,\\JUPITER\pipe\sybase\query
;; WIN3_QUERY=WNLNMP,\\JUPITER\pipe\sybase\query
;;

[IMS0]
master=TCP,192.168.111.200,9000
query=TCP,192.168.111.200,9000

IMS0 3 5
 query tcp   IMS0 9000

Could you check if this setting is correct?

Many thanks, Dong-Hyun


"Jim Egan" <dbaguru@eganomics.com> wrote in message
news:MPG.145421b7401c6a3798aed4@199.93.177.77...
> See if this helps.  The example looks different from my NT setup which
> uses brackets around the server name.  The change in retry_attempts
> should be made on the client side
> ----------------------------------------------------------------------
> How SQL Server Communicates with Clients
>
> When client (front-end) software, or a server acting as a client by
> executing remote procedure calls (RPCs), needs to communicate
> with SQL Server, it performs the following steps:
>
> 1. It determines the name of the SQL Server, usually from the value
> of the environment variable, DSQUERY, or from the value given
> through a command-line option.
>
> 2. It looks for an entry in the interfaces file that has a SQL Server
> name matching the value of DSQUERY or of the command line
> option.
>
> 3. It connects to the SQL Server running on the combination of the
> machine and port listed for that entry. If the client is unable to
> connect the first time, it makes additional attempts according to
> the delay and retry numbers in the interfaces file. (If no matching
> entry is found, an error message is written to the client's
> standard error file.)
>
> The client can connect to any server correctly listed in the interfaces
> file as long as the matching server name is supplied via DSQUERY or
> a command line option. If no server name is supplied, the software
> looks for an interfaces file entry with the default server name,
> SYBASE. Use this feature if you always connect to a single SQL
> Server named SYBASE.
>
>
>
> Sample interface file and its format, taken from System AAdministration
> Guide Supplement for IBM RISC System/6000 AIX:
>
> #
> TEST
> query tcp ibm-ether gummo 2025
> master tcp ibm-ether gummo 2025
> #
> PRACTICE
> query tcp ibm-ether chico 4067
> master tcp ibm-ether chico 4067
> #
> PRODUCTION
> query tcp ibm-ether groucho 5789
> master tcp ibm-ether groucho 5789
>
>
>
> Each interfaces file
> entry has the following format:
>
> # put comments here<newline>
> SERVERNAME<tab>retry_attempts<tab>delay_interval<newline>
> <tab>service_type protocol network machine port<newline>
> <blank lines or comments between entries for different SQL
> Servers>
>
> SERVERNAME
>
> SERVERNAME is the name of the SQL Server or Backup Server.
> Server names can be no more than 31 characters long. The initial
> character of a server name must be a letter (ASCII a-z, A-Z). The
> characters that follow must be letters, numbers, or underscores (_).
>
> retry_attempts and delay_interval
>
> retry_attempts and delay_interval are optional values that determine
> how many times, and how often, a client tries to connect to SQL
> Server after an initial failure to connect.
> Clients attempt to connect to SQL Server using each query line in the
> interfaces entry. If the client has unsuccessfully tried to establish a
> connection to the SQL Server, it checks the retry_attempts and
> delay_interval values in the interfaces file. The retry_attempts value
> specifies how many times the client attempts a connection after an
> initial failure to connect. The delay_interval specifies how many
> seconds to wait between retries.
>
> When you install SQL Server, sybinit prompts you for the delay
> interval and the number of retry attempts for that SQL Server. You
> can use sybinit to change these values at a later date. You can also
> manually edit your interfaces file using a text editor such as vi or
> emacs if you are an expert user. If you manually edit the interfaces
> file,
> you must insert tabs or spaces between the values.
>
> service_type
>
> service_type describes the type of service the entry defines. The values
> associated with service_type are: "query," "master," "console,"
> "commit," and "debug."
>
> - A line beginning with ``query'' represents the service that a client,
> such as Data Workbench[, uses to log into SQL Server. The
> ``query'' entry in an interfaces file corresponds to the DSQUERY
> environment variable described earlier.
>
> - A line beginning with ``master'' defines the service SQL Server
> uses to listen to login requests from clients. This entry
> corresponds to the value of the DSLISTEN environment variable.
> This line is not necessary in an interfaces file for a machine
> running clients only.
>
> - A line beginning with the word "debug" represents a connection
> for use by Sybase Technical Support.
>
> protocol
>
> protocol is the name of the network protocol. Available protocols for
> RISC System/6000 AIX are TCP/IP and IPX/SPX. They are
> represented in the interfaces file entry by the letters "tcp" (for
> TCP/IP) or "tli" (for IPX/SPX).
>
> network
>
> network is the name of the network. Although SQL Server does not
> currently use this column, sybinit enters a network name as a place
> holder when creating interfaces file entries. For RISC System/6000
> AIX sybinit enters "IBM-ether" as the network name.
>
> machine
>
> machine is the network name of the machine on which SQL Server is
> running. You can use either the host name or internet address as the
> machine name.
> To determine the host name of a machine, log in on that machine and
> use the following command:
>
> /bin/hostname
>
> The first 32 bytes of the machine name must be unique on the
> network; SYBASE software reads a maximum of 32 bytes for a
> machine name in an interfaces file entry.
>
> port
>
> port is a port number between 1025 and 65535. The combination of a
> machine name and port number uniquely identifies a SQL Server.
> The port number selected for your SQL Server must not be used for
> any other purpose on the machine where SQL Server is located.
> More than one SQL Server can have the same port number if each
> server is on a different machine. Check the /etc/services file on each
> machine on the network to see a list of port numbers in use.
>
>
> --
> Jim Egan [TeamSybase]
> Houston, TX
> http://www.eganomics.com
>
> Sybase Developers Network
> http://sdn.sybase.com/sdn/mec/mec_home.stm


0
Dong
10/21/2000 2:04:23 AM
I emailed you also, but I'll post here too just in case someone else can 
offer help.

I've never had to specify any of those parameters so I don't know what it 
should look like.
-- 
Jim Egan [TeamSybase]
Houston, TX
http://www.eganomics.com

Sybase Developers Network
http://sdn.sybase.com/sdn/mec/mec_home.stm
0
Jim
10/23/2000 3:02:24 AM
Reply: