On Thursday 15 December 2005 04:49 am, Jeremy Kister wrote:
> After my sql server goes off line, Apache::DBI consistently fails, even
> after the sql server comes back online:
>  null DBI connect('server=10.0.0.10;database=SCD','user01',...) failed:
>  null: DBD::Sybase::st execute failed: OpenClient message: LAYER = (0)
> ORIGIN = (0) SEVERITY = (78) NUMBER = (38)
>  null: Server 10.0.0.10, database
>  null: Message String: Write to SQL Server failed.

Are you using MSSQL on the back end?

> the only way i've found to fix the problem is to restart apache.

I was seeing this until recently. Upgrading DBD::Sybase seemed to solve the 
problem. Before that the only work around was to disable Apache::DBI (with 
the associated overhead thereof), or to check for the error and kill off the 
child if it happens.

> I'm using:
> Solaris 5.8
> Perl 5.8.3
> Apache 1.3.33
> mod_perl 1.29 (compiled with correct callback hooks & as static module)
> DBI 1.49
> FreeTDS 0.63
> DBD::Sybase 1.07
> Apache::DBI 0.9901

That's the same version of DBD::Sybase as works here though, so I'm not sure 
what the problem is. If you upgraded recently, make sure that's really what 
you have running on the server.

I'm running apache2/mp2 on linux though. I'm not sure if that makes any 
difference.

> I've tried modifying the ping sub inside DBD::Sybase, making it
> virtually identical to the generic ping listed in the Apache::DBI docs
> -- the behavior didnt change.
>
> any suggestions?

Unfortunately not.


-- 
"Debugging is twice as hard as writing the code in the first place.
 Therefore, if you write the code as cleverly as possible, you are,
 by definition, not smart enough to debug it."
- Brian W. Kernighan

Reply via email to