Michael Peppler
Sybase Consulting
Sybase on Linux
Install Guide for Sybase on Linux
General Sybase Resources
General Perl Resources
BCP Tool
Bug Tracker
Mailing List Archive
Downloads Directory
Sybase on Linux FAQ
Sybperl FAQ
Michael Peppler's resume

sybperl-l Archive

Up    Prev    Next    

From: Michael Peppler <mpeppler at MBAY dot NET>
Subject: Re: perl directory tree migration problem
Date: Dec 8 1997 4:17PM

Brian Black wrote:
> hi everyone,
> i installed perl 5004.004 and sybperl 2.08.52 on an nt4 server using visual c++
> without any problems. i had a request to install it on another nt box, but the
> system administrator will not allow me to install the c++ compiler first. he
> requested that i copy the perl directory tree only and did so.
> in running a simple test, i get the following error:
> DB-Library error:
>         Specified server name attribute could not be found
> Operating-system error:
>         There is no OS level error
> Can't call method "dbuse" without a package or object reference at
> line 7.
> the perl, sybase include and lib paths in the target nt system appear to be set
> correctly.

After some querying on Usenet and SYBASE-L it seems that this error
is printed when CTlib (or DBlib from OpenClient 11.x) tries
to connect to a server that does not exist in the interfaces

I find this error particularily misleading, and I much prefer
the old DBlibrary error: "Server name not found in interfaces file":

kiruna (8:07am):9 > perl -MSybase::DBlib -e '$dbh = new Sybase::DBlib
DB-Library error:
        Server name not found in interface file.

kiruna (8:08am):10 > perl -MSybase::CTlib -e '$dbh = new Sybase::CTlib

Open Client Message:
Message number: LAYER = (5) ORIGIN = (3) SEVERITY = (4) NUMBER = (3)
Message String: ct_connect(): network packet layer: internal net library
error: Specified server name attribute could not be found

So for those of you who are hitting this problem, either with
sybperl or DBI/DBD::Sybase, please make sure that $SYBASE points
to a valid SYBASE install directory, that the interfaces file
is available there (or sql.ini for NT [I think! - I'm not an NT
user!]), and that the server name you try to connect to (either
explicitly in the new/connect/dblogin/ct_connect call or in the
DSQUERY variable) is correct and exists in the interfaces file.

Many thanks to all who answered my question!

Michael Peppler       -||-  Data Migrations Inc.  -||-