Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

open client & php & ASE

1 view
Skip to first unread message

Thomas

unread,
Oct 16, 2000, 3:00:00 AM10/16/00
to
I have a problem when using php to connect ASE via OpenClient.
But I dont which newsgroup that would be appropriate for me to post this
message. Anyway, I did, sorry for any inconvenience caused.

I configured a machine with php, pws and open client. Then the php
scripting engine seems working fine. And then I created a file named
"sybase.php" to test the connection between the php, open client and
ASE.
However, the return shows that there is something wrong with the ASE.
Afterward, I searched the manuals.sybase.com almost entirely for an
answer about the error message. But I got nothing, would someone can
help to me to solve it. Thanks.

The following shows that content of the sybase.php

<?php
$connect=sybase_connect("TEST","sa", "") or
die ("Could not connect to the sybase server!");
$selectdb=sybase_select_db("mydb",$connect) or die
("could not select db");
$clssybase=sybase_close($connect) or die
("Cound not close sysbase database server");
?>

The following shows the content of the error message.

Warning: Sybase: Server message: Changed database context to 'master'.
(severity 10, procedure N/A) in D:\Inetpub\wwwroot\cgi-bin\sybase.php on
line 4
PHP has encountered an Access Violation at 01FA03B3

Thomas
mailto:tom...@bigfoot.com

Jay Anderson

unread,
Oct 16, 2000, 3:00:00 AM10/16/00
to
On Mon, 16 Oct 2000 09:42:06 +0800, Thomas <tom...@bigfoot.com> wrote:

Guessing but I suspect you have the wrong calling convention for the Sybase error message handler and the stack becomes corrupted in the call to the message handler.

The calling convention for openclient called functions is __stdcall.
So the error message handlers are defined like this:

CS_RETCODE CS_PUBLIC client_handlers(... etc ...)
on the NT platfrom CS_PUBLIC is defined : #define CS_PUBLIC __stdcall

This allows you to use whatever calling convention you want in your program but assures that the error handler will be calling properly. Use this calling convention for both the client and the server message callback() functions.

Jay

0 new messages