Subject | Re: [firebird-support] from FB 2.5.2 to 2.5.6 and C application |
---|---|
Author | |
Post date | 2016-07-27T12:16:32Z |
Perfect
On Wednesday, July 27, 2016 8:28 AM, "ehmmm.firebird@... [firebird-support]" <firebird-support@yahoogroups.com> wrote:
Adding some notes:
Examples stat3.e and stat5.e from /opt/firebird/examples/stat/ don't work, while stat2.e works.
I'm getting the same -901 "request synchronization error".
Steps to reproduce:
Extract somewhere FirebirdCS-2.5.6.27020-0.i686.tar.gz
"su" to be root.
Run install.sh, creates backup, ask for password.
Replace /opt/firebird/security2.fdb with symlink to reallife security2.fdb.
Get /etc/init.d/firebird from somewhere.
service firebird start
cd /opt/firebird/examples/stat
cp ../include/example.h .
/opt/firebird/bin/gpre -d employee.fdb stat2.e
export ISC_USER=sysdba
export ISC_PASSWORD=...
export ISC_DATABASE=employee.fdb
cc -lfbclient stat2.c -o stat2
./stat2
(Same for stat3.e and stat5.e)
Like I said, in FB 2.5.6 stat3 and stat5 throw error.
If I do the same with FB 2.5.5 then these examples work.
Examples stat3.e and stat5.e from /opt/firebird/examples/stat/ don't work, while stat2.e works.
I'm getting the same -901 "request synchronization error".
Steps to reproduce:
Extract somewhere FirebirdCS-2.5.6.27020-0.i686.tar.gz
"su" to be root.
Run install.sh, creates backup, ask for password.
Replace /opt/firebird/security2.fdb with symlink to reallife security2.fdb.
Get /etc/init.d/firebird from somewhere.
service firebird start
cd /opt/firebird/examples/stat
cp ../include/example.h .
/opt/firebird/bin/gpre -d employee.fdb stat2.e
export ISC_USER=sysdba
export ISC_PASSWORD=...
export ISC_DATABASE=employee.fdb
cc -lfbclient stat2.c -o stat2
./stat2
(Same for stat3.e and stat5.e)
Like I said, in FB 2.5.6 stat3 and stat5 throw error.
If I do the same with FB 2.5.5 then these examples work.
---------- Původní zpráva ----------
Od: ehmmm.firebird@... [firebird-support] <firebird-support@yahoogroups.com>
Komu: firebird-support@yahoogroups.com
Datum: 26. 7. 2016 20:46:58
Předmět: [firebird-support] from FB 2.5.2 to 2.5.6 and C application
Od: ehmmm.firebird@... [firebird-support] <firebird-support@yahoogroups.com>
Komu: firebird-support@yahoogroups.com
Datum: 26. 7. 2016 20:46:58
Předmět: [firebird-support] from FB 2.5.2 to 2.5.6 and C application
=Hi,
we have server with Debian 6.0 squeeze and there we have Firebird 2.5.2 (superclassic) which sometimes hangs and I don't know why.
So my idea was to install there FB 2.5.6.
I downloaded FB 2.5.6 superclassic i686 (debian is amd64 but previous firebird seems to be i686 so I decided to continue using i686) tar.gz, extracted it and executed install.sh.
I think I was quite successful. I didn't make backups of *.fdb files, I only copied older security2.fdb into /opt/firebird and copied some init script from /opet/firebird/misc into /etc/init.d
My PHP webapges work well, my Python apps work well, FlameRobin works well.
The only problem I have with some old C programs running on the same server, precompiled via GPRE utility.
These C apps fail for example on then line (just example) EXEC SQL FETCH cur_al...:
int i, id, status;
EXEC SQL CONNECT DB USER '...' PASSWORD '...';
EXEC SQL SET TRANSACTION READ WRITE WAIT ISOLATION LEVEL READ COMMITTED;
EXEC SQL DECLARE cur_al CURSOR FOR SELECT id_blabla, status FROM blabla;
EXEC SQL OPEN cur_al;
while(SQLCODE == 0) {
EXEC SQL FETCH cur_al INTO :id, :status;
if (SQLCODE == 0) { ... }
}
EXEC SQL CLOSE cur_al;
...
It throws error -901 and messages "Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements" and "request synchronization error".
I'm not author of these C apps and I'm not very skilled in C on linux, I only found some Makefile so I tried run "make". But it didn't help.
What should I try? Should I look somewhere for some libraries?
The most interesting for me is that when I download and install FB 2.5.5 or 2.5.4 (I must admit that upgrading/downgrading firebird inside 2.5.x is quite easy) then these C apps seems to work correctly. (?) Is there any explanation for this?
=