README.user.embedded 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. -----------------------------------------------------------
  2. Firebird 2.0 Embedded Server notes
  3. -----------------------------------------------------------
  4. 1. GENERIC INFORMATION
  5. The embedded server is a fully functional server linked
  6. as a dynamic library (fbembed.dll). It has exactly the
  7. same features as the usual server and exports the
  8. standard Firebird API entrypoints.
  9. 2. ISSUES AND LIMITATIONS
  10. 2.1. Registry
  11. The Firebird registry entries are ignored. The root
  12. directory of the embedded server is the directory of
  13. its binary file (library).
  14. 2.2. Database access
  15. Client access can be only via the local protocol,
  16. i.e. NOT a TCP/IP connection string that includes
  17. the server name "localhost" or IP address 127.0.0.1.
  18. The embedded server supports only the local connect
  19. to a database file path without a server name. The
  20. client program gets an exclusive access to the
  21. database file after successful connect.
  22. The embedded server acts as a true local server for a single
  23. client accessing databases on a local machine. It can also
  24. act as a remote gateway that redirects all network calls to
  25. other hosts, just as the regular client library
  26. does.
  27. 2.3. Authentication and security
  28. The security database (namely security2.fdb) is not used
  29. in the embedded server and hence is not required. Any
  30. user is able to attach to any database. Since both
  31. the server and the client run in the same address space,
  32. the security becomes just an agreement between both
  33. sides which can be easily compromised.
  34. But note that SQL privileges are still checked.
  35. 2.4. Compatibility
  36. You may run any number of applications with the embedded
  37. server without any conflicts. Having IB/FB server running
  38. is not a problem either.
  39. But you should be aware that you cannot access single
  40. database from a number of the embedded servers
  41. simultaneously, because they have SuperServer architecture
  42. and hence exclusively lock attached databases.
  43. 3. USAGE
  44. Just copy fbembed.dll, icudt30.dll, icuin30.dll and
  45. icuuc30.dll into the directory with your application.
  46. Then rename fbembed.dll to either fbclient.dll or
  47. gds32.dll depending on your database connectivity software.
  48. Then start your application and it will use the embedded
  49. server as a client library and will be able to access
  50. local datasases. You should also copy firebird.msg and
  51. firebird.conf (if necessary) to the same directory.
  52. If external libraries are required for your application,
  53. then you should have them separately. Most probably, it
  54. will be INTL support (fbintl.dll and fbintl.conf) or UDF
  55. libraries. To be able to use them, you should place them
  56. into the directory tree which emulates the Firebird server
  57. one, i.e. has subdirectories like /intl or /udf:
  58. c:\my_app\app.exe
  59. c:\my_app\gds32.dll
  60. c:\my_app\ib_util.dll
  61. c:\my_app\icudt30.dll
  62. c:\my_app\icuin30.dll
  63. c:\my_app\icuuc30.dll
  64. c:\my_app\firebird.conf
  65. c:\my_app\firebird.msg
  66. c:\my_app\intl\fbintl.dll
  67. c:\my_app\intl\fbintl.conf
  68. c:\my_app\udf\fbudf.dll
  69. If you want to place the Firebird files (excluding the
  70. renamed fbembed.dll) in another directory, you need to
  71. modify your firebird.conf and set RootDirectory to the
  72. Firebird directory tree. Example:
  73. c:\my_app\app.exe
  74. c:\my_app\gds32.dll
  75. c:\my_app\ib_util.dll
  76. c:\my_app\icudt30.dll
  77. c:\my_app\icuin30.dll
  78. c:\my_app\icuuc30.dll
  79. c:\my_app\firebird.conf
  80. d:\fb\firebird.msg
  81. d:\fb\intl\fbintl.dll
  82. c:\fb\intl\fbintl.conf
  83. d:\fb\udf\fbudf.dll
  84. firebird.conf:
  85. RootDirectory = d:\fb