0

I am completely new to Firebird Database; I am working on a Firebird 2.5 database that already exists; I retrieve the stored procedures and views (database objects) from this database to develop reports in Microsoft SSRS. I use Windows 7 Operating System.

Occasionally (not always) I get the following error when I run some stored procedures or views (database objects) that use the LTRIM function:

can't format message 13:896 - message file C:Windows\firebird.msg not found; invalid request BLR at offset 623; function LTRIM is not defined; module name or entrypoint could not be found; Error while parsing procedure XXXXXXX (stored_procedure name) ;

(I get this both in IB Expert and SSRS)

This said I am able to access other database objects that do not use LTRIM function!

My temporary workaround:

Sometimes I restart the machine, and am able to run these same stored procedures and views that threw this error sometime back. At other times, I restart the machine a couple of times, and am able to access these views and stored procedures.

At some other times, I restart the machine many times, still not able to run the database objects. I get frustrated and quit for the day. When I open the machine fresh the next morning, I am able to run these objects again.

What could be the reason for this? And what will be the permanent solution?

This database is given by my client, and am not supposed to modify anything (such as changing LTRIM to something else). I can just use the existing objects to develop reports.

Can you let me know how to check the server I am connecting to ? I use IB Expert to open the Firebird .fdb database

user3812887
  • 439
  • 12
  • 33
  • What `Firebird` version you use 32 or 64 bit? If 64 bit is used you must recompile `rfunc.dll` for 64 bit because 32-bit dll will not work. Or, if you want a quick solution, install 32-bit version of Firebird. – Val Marinov Sep 29 '15 at 10:48
  • For this error: "can't format message 13:896 - message file C:Windows\firebird.msg not found;" just copy `firebird.msg`from Firebird folder to Windows folder. – Val Marinov Sep 29 '15 at 10:56
  • I use both 32-bit as well as 64-bit client; 32-bit used to connect to the database, and a Delphi application; 32-bit is also used to connect the SSDT in Microsoft SSRS; a 64-bit client to connect to Microsoft SSRS Report Manager – user3812887 Sep 29 '15 at 11:00
  • I have copied and pasted firebird.msg in the Windows folder just now; – user3812887 Sep 29 '15 at 11:03
  • So Firebird SERVER is 32 bit right? Why you use 64 bit client? – Val Marinov Sep 29 '15 at 11:39
  • SSRS Report Manager that connects to Firebird Database via an ODBC connection requires a 64-bit Firebird client; however the SSRS SSDT, the Delphi application, as well as the Firebird Server use the 32-bit Firebird client only. – user3812887 Sep 29 '15 at 11:58
  • if you see the installation of the Firebird DB, the 32 bit client, .... everything was done by the installation of a Delphi application – user3812887 Sep 29 '15 at 11:59
  • I installed the Delphi application, and that installed the Firebird components as well; later to retrieve data from Firebird, I installed IB Expert; I mean to develop reports using the existing stored procedures and views. – user3812887 Sep 29 '15 at 12:00
  • It looks like I have Firebird 32-bit and 64-bit servers; I noticed Firebird folder in Program Files (x86) as well as in Program Files – user3812887 Sep 29 '15 at 12:27
  • Well, remove one of them :) If you wаnt to use 64 bit, you can download 64 bit version of rfunc.dll from here : http://sourceforge.net/projects/rfunc-64/. I have not worked with this library, so try at your own risk :) – Val Marinov Sep 29 '15 at 12:33
  • Better from here : https://www.assembla.com/spaces/audfl_rfunc/wiki – Val Marinov Sep 29 '15 at 13:12
  • @ValMarinov You use a 64 bit client library when your application is 64 bit. Bitness of server and client are unrelated, the bitness of the client library must match the application. – Mark Rotteveel Sep 29 '15 at 14:22
  • Are you sure you are always connecting to the same Firebird server? It sounds like you are sometimes connecting to the one and other times to the other Firebird server. – Mark Rotteveel Sep 29 '15 at 14:25
  • @MarkRotteveel I did not say anything like. I'm just asking questions to get to the cause of the problem. And as you can see we found. – Val Marinov Sep 29 '15 at 16:27
  • I don't understand the bitness of application or server, these jargons; I have a .fdb database; this DB is used by a Delphi application; the installation of the Delphi application created a 32-bit Firebird client in ProgramFiles(x86) folder called Firebird2_5; Now I used this .fdb database to develop reports in SSRS 2012, by using an ODBC connection; SSRS has 2 parts - SSDT and Report Manager; while SSDT connects to the Firebird 32 bit client, the Report Manager doesn't; in SSDT I use 32-bit ODBC connection that connects to the 32 bit client; – user3812887 Sep 30 '15 at 04:24
  • I later on my own installed a 64-bit Firebird client and 64-bit ODBC connection (in ProgramFiles folder) that connects to the same .fdb database; this 64-bit ODBC connection connects to the SSRS Report Manager web browser; – user3812887 Sep 30 '15 at 04:24
  • Now, to retrieve data from this .fdb database, I use IBExpert that connects to this .fdb database - ie to develop stored procedures and queries using the existing DB objects (however, this is only data retrieval - SELECT only; no data manipulation) – user3812887 Sep 30 '15 at 04:26
  • I get a feeling that sometimes I connect to the 32-bit client, and on other occasions I connect to the 64-bit client. Please let me know whether I am wrong; I don't understand the difference between a server and client - this jargon I am not so familiar about – user3812887 Sep 30 '15 at 04:29
  • Now how to check that I am connecting to Firebird server X or Y ? Can I do it from IBExpert? Is Firebird a 32-bit or 64-bit application ? – user3812887 Sep 30 '15 at 04:32
  • The problem is not in client library. The error occurs when 64 bit SERVER is connected because he can not use 32 bit. UDF 'rfunc.dll'. Just uninstall 64 bit Firebird server. Then will always work only 32 bit server. Leave the client library as is. – Val Marinov Sep 30 '15 at 06:45
  • How do I do it? You mean uninstalling the 64-bit Firebird client ? I really don't understand the difference between server and client!! – user3812887 Sep 30 '15 at 10:58
  • Hello Mark/Val, Can you let me know how to check the server I am connecting to ? I use IB Expert to open the Firebird .fdb database – user3812887 Oct 05 '15 at 08:16

0 Answers0