Jump to content
php.lv forumi

Firebird exception handling


Recommended Posts

Posted

Čau visapkārt.

Jau kādu brīdi cīnos ar googli un nespēju izvilkt no tās savas problēmas risinājumu.

Proti, lietoju Firebird datubāzi, kurai izveidoju testa procedūru, kura, savukārt, "izmet" exception'u.

Pieslēguma skripts kodā zemāk

$dbh = ibase_connect($db_path, "SYSDBA", $sys_pass, 'win1257') or die ("Nevar pieslēgties datu bāzei");
$sql_txt = 'execute procedure TEST;'; //procedūra, kura vienkārši izmet exception
$query = ibase_query($dbh, $sql_txt)  or die(ibase_errmsg());
$row = ibase_fetch_object($query);
ibase_close($dbh);

Sāpīgākais moments ir tas, ka atgrieztais exception's ir "Warning: ibase_query() [function.ibase-query]: exception @1 @1 in test.php on line 83

exception @1 @1".

 

"@1 @1" vietā vajadzētu būt smukam uzrakstam, bet nekā tamlīdzīga

Vienu brīdi jau jutu, ka esmu risinājumam tuvu, norādot character set'u pie pieslēguma (win1257), bet arī tas neko nelīdz. Ir kāda ideja?

Posted

Kāds ir tas exception? firebird.msg fails ir atrodams install folderī? 100% jau vairs neatminos, bet šķiet, ka šādu prikolu redzēju pēc Firebird updeitošanas pa virsu vecajai versijai, kad kaut-kas aizgāja pa pieskari ar firebird.msg failu.

Posted

Kāds ir tas exception? firebird.msg fails ir atrodams install folderī? 100% jau vairs neatminos, bet šķiet, ka šādu prikolu redzēju pēc Firebird updeitošanas pa virsu vecajai versijai, kad kaut-kas aizgāja pa pieskari ar firebird.msg failu.

Exception ir vnkāršs uzraksts - "TESTS". firebird.msg fails arī atrodas firebird mapē. Uz ibexpert'a (db menedžera) šis exceptions tiek atgriezts, ka prieks..

Posted (edited)

Tātad, skaidrs, ka vaika ir kaut-kur klienta galā. Ko izdod `php -i | grep -i fireb`? Vai arī pie phpinfo() Firebird sadaļā kas ir redzams? Kāda Firebird versija?

Edited by marrtins
Posted

Tātad, skaidrs, ka vaika ir kaut-kur klienta galā. Ko izdod `php -i | grep -i fireb`? Vai arī pie phpinfo() Firebird sadaļā kas ir redzams? Kāda Firebird versija?

phpinfo() izdod šo..

Firebird/InterBase Support	         dynamic
Compile-time Client Library Version	 Firebird API version 20
Run-time Client Library Version	         WI-V6.3.5.13206 Firebird 2.0

Takā esmu daudzmaz zaļš gurķis iekš php, tad jautājums - kas īsti ir `php -i | grep -i fireb`? Un kā to pielietot?

Posted

Nekas aizdomīgs.. Kāda ir paša servera versija un PHP versija?

 

Tā ir komanda, ko izpildītu no konsoles un dabūtu tieši to pašu, ko Tu ar copy/paste no phpinfo() :)

 

Aha, skaidrs.

 

Servera versija

Apache Version	Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1

 

Un php versija ir 5.3.1.

Posted (edited)

Es biju domājis kāda Firebird servera versija. Vairāk izskatās pēc server->client nesapasēšanas, jo @1 @1, visticamāk, tāds atnāk jau no servera.

 

Kāda OS? Windows? Atrodi fbclient.dll un paskaties versiju.

Edited by marrtins
Posted (edited)

Es biju domājis kāda Firebird servera versija. Vairāk izskatās pēc server->client nesapasēšanas, jo @1 @1, visticamāk, tāds atnāk jau no servera.

 

Kāda OS? Windows? Atrodi fbclient.dll un paskaties versiju.

Griežās viss uz XP.

Pats firebird serveris ir 2.1

Edited by veejaBraalis
Posted

fbclient.dll atradi?

 

Edit: pie reizes pameklē, vai kaut-kur zem c:/windows vai php instalācijas folderī nav gds32.dll

Ir ir fbclient.dll ar versiju 2.1.1.17910.

Un gds32.dll arī stāv iekš system32 mapes.

 

Hmm, pilnīgi un galīgi vairs nesaprotu kur vēl varētu rakt un meklēt vainu.

Posted

Tad pārkopē to fbclient.dll pa virsu gds32.dll (protams, uztaisi backup)

Paldies, marrtins.

 

Atradu beidzot kas par vainu.

Lieta tāda, ka datoram uz kura rakstīju web lapu, virsū stāv firebird 2.1. Bet datubāze griežas uz servera, kur atrodas firebird 1.5. Līdz ar to radās nesaderība starp 2.1 firebird gds32.dll un firebird 1.5 gds32.dll. Fuhh, beidzot.

 

Paldies, katrā ziņā.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...