It's hard to tell for sure what could be wrong.

First, I would try to check that the Sybase related env. variable are
correctly seen when you are in the dbi-link script.

Second - you may run into an insurmountable problem: Sybase open
client installs its own signal handler to do a number of things
(timeouts, among others). This signal handler is incompatible with the
signal handler that perl installs for itself since 5.8.x or
thereabouts, and causes various issues depending on which combination
of modules you try to use.

I assume that you compiled DBD::Sybase with the non-threaded
libraries, as is recommended, right?

Michael


On Sat, Dec 26, 2009 at 11:23 PM,  <[email protected]> wrote:
> Hi there,
>
> This may not be the best list for my question, but I'm sure someone there 
> will he able to help me
> ;-)
>
> I'm trying to use dbi-link under RHEL5.3. Using PostgreSQL and Perl rpms from 
> distro, installed
> Sybase ASE 1.5.5 developers edition and DBD::Sybase using cpan -i.
>
> My test programs, using pubs2 example database, work fine. They connect as:
>
> $dbh = DBI->connect("dbi:Sybase:server=RHEL53I386", "teste", "123testando");
>
> So I have a working DBD::Sybase install. But then I try to initialize 
> dbi-link using the statement:
>
> SELECT make_accessor_functions(
>    'dbi:Sybase:server=RHEL53I386',
>    'teste',
>    '123testando',
>    '---
> AutoCommit: 1
> RaiseError: 1
> ',
>    NULL,
>    NULL,
>    NULL,
>    'pubs2'
> );
>
> I get the error (from postgresql logs)
>
> OpenClient message: LAYER = (7) ORIGIN = (2) SEVERITY = (6) NUMBER = (6)
> Message String: ct_con_alloc(): unable to get layer message string: unable to 
> ge
> t origin message string: error string not available
> NOTICE:  ct_con_alloc failed at 
> /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread
> -multi/DBD/Sybase.pm line 92.
>
> CONTEXT:  SQL statement "SELECT dbi_link.cache_connection( 1 )"
>        SQL statement "SELECT dbi_link.create_accessor_methods(
>            'pubs2',
>            NULL,
>            NULL,
>            'dbi:Sybase:server=RHEL53I386',
>            'teste',
>            '123testando',
>            1
>        )
>        "
> ERROR:  error from Perl function: error from Perl function: error from Perl 
> func
> tion: DBI connect('server=RHEL53I386','teste',...) failed: (no error string) 
> at
> line 137 at line 36. at line 53.
>
> I already tried forcing my database to en_US.UTF-8 and sourced SYBASE.sh from 
> postgres bash_profile
> script. Before that, the error was aboit missing dynamic libs.
>
> I know this looks more a postgresql / dbi-link thing than a dbi thing but 
> maybe someone can
> understand the sybase error message and help me.
>
>
> []s, Fernando Lozano
>
>

Reply via email to