1

I created a "Firebird4x32" folder in which I have all the necessary files to access the Firebird database in embedded mode.

If I copy the content to the root directory of the application (e.g. D:\app), the database is loaded and the application works with it normally.

But for the sake of clarity, I don't want to have so many files in the root directory. I therefore need to have Firebird in that separate folder (path D:\app\Firebird4x32). Unfortunately, in this case, the application cannot find the fbclient.dll file.

I found on the Firebird website that you can set the default directory in the firebird.conf file. However, I couldn't find information anywhere about how and where to add it in the mentioned file.

You don't happen to know where and how to set the path for fbclient.

Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197
Jirka
  • 11
  • 2
  • how does your connectionstring look? from your description it’s very likely you have only specified the name of the DLL, specify a absolute or relative path to the DLL – Rand Random Aug 08 '23 at 12:23
  • You either must add the directory to the path, or you need to load fbclient.dll using an absolute path. Configuring things in firebird.conf is not useful here, as that only comes into play *after* you loaded fbclient.dll. As you don't specify the program language or library you're using, it is hard to give more specific advice. – Mark Rotteveel Aug 08 '23 at 14:13
  • I use free pascal language in Lazarus IDE. – Jirka Aug 08 '23 at 18:06
  • since I use neither, I can only assume, but that doesn’t seem to answer how you are connecting to Firebird eg. are you using odbc, jdbc provider, .net provider, python driver… are you issuing commands directly to isq? maybe @MarkRotteveel knows – Rand Random Aug 09 '23 at 08:35
  • eg. with the .net provider you are supposed to set the client library of the connection string builder https://github.com/masroore/Firebird-NETProvider/blob/f1a8e686d7a2f254d675b2e21c1e9191cda74b8b/source/FirebirdSql/Data/FirebirdClient/FbConnectionStringBuilder.cs#L157 this should be an absolute or relative path pointing to the DLL – Rand Random Aug 09 '23 at 08:45
  • I don't program FreePascal, but https://wiki.freepascal.org/Firebird confirms what I already said about putting it on the PATH. It lists `TSQLDBLibraryLoader` only under "Unix/Linux/macOS", but I guess it works the same under Windows, and I **guess** if you give it an absolute path, it will load the library as well. – Mark Rotteveel Aug 09 '23 at 08:50

0 Answers0