Error occurred during login please check server firebird log for details

Jaybird Frequently Asked Questions 1. Where do I get Jaybird? 1.1. Maven 1.1.1. Jaybird 5 Jaybird 5 is available on Maven Central: 5.0.0. (where is java11 or java8 ) Contrary to Jaybird 4, a Maven relocation artifact with artifact id jaybird-XX (with XX jdk17 , jdk18 ) is no longer provided. Please make sure […]

Содержание

  1. Jaybird Frequently Asked Questions
  2. 1. Where do I get Jaybird?
  3. 1.1. Maven
  4. 1.1.1. Jaybird 5
  5. 1.1.2. Jaybird 4
  6. 1.1.3. Jaybird 3
  7. 1.1.4. Jaybird 2.2
  8. 1.2. Download
  9. 2. Where can I get the sourcecode?
  10. 3. How is Jaybird licensed?
  11. 3.1. Which version of the LGPL applies?
  12. 4. Which Java versions are supported?
  13. Jaybird 5
  14. Jaybird 4
  15. Jaybird 3
  16. Jaybird 2.2
  17. 5. What is the Java 9 module name for Jaybird?
  18. 6. Which Firebird versions are supported?
  19. Jaybird 5
  20. Jaybird 4
  21. Jaybird 3
  22. Jaybird 2.2
  23. 7. Can Jaybird connect to Interbase?
  24. 8. Can Jaybird be used on Android
  25. Documentation and Support
  26. 9. Where to get more information on Jaybird
  27. 10. Where to get help
  28. 11. Contributing
  29. 12. Reporting Bugs
  30. Connecting to Firebird
  31. 13. JDBC URLs ( java.sql.DriverManager )
  32. 13.1. Pure Java (default)
  33. 13.2. Open Office/Libre Office (Pure Java)
  34. 13.3. Native (using Firebird client library)
  35. 13.4. Embedded Server
  36. 14. Character sets
  37. 14.1. How can I specify the connection character set?
  38. 14.2. How does character set NONE work?
  39. 14.2.1. Jaybird 3.0 and higher
  40. 14.2.2. Jaybird 2.2 and earlier
  41. 14.3. What happens if no connection character set is specified?
  42. 14.4. How can I solve the error «Connection rejected: No connection character set specified»
  43. 15. How can I enable the Windows «TCP Loopback Fast Path» introduced in Firebird 3.0.2?
  44. 16. Common connection errors
  45. 16.1. Your user name and password are not defined. Ask your database administrator to set up a Firebird login. (335544472)
  46. 16.2. Incompatible wire encryption levels requested on client and server (335545064)
  47. 16.3. connection rejected by remote interface (335544421)
  48. 16.3.1. Cause: username or password is null
  49. 16.3.2. Cause: wirecrypt required
  50. 16.4. Error occurred during login, please check server firebird.log for details (335545106)
  51. 16.5. Encryption key did not meet algorithm requirements of Symmetric/Arc4 (337248282)
  52. JDBC Support
  53. 17. How much of JDBC is supported by Jaybird?
  54. 18. What parts of JDBC are NOT supported by Jaybird?
  55. Features
  56. 19. Does Jaybird support connection pooling?

Jaybird Frequently Asked Questions

1. Where do I get Jaybird?

1.1. Maven

1.1.1. Jaybird 5

Jaybird 5 is available on Maven Central:

5.0.0. (where is java11 or java8 )

Contrary to Jaybird 4, a Maven relocation artifact with artifact id jaybird-XX (with XX jdk17 , jdk18 ) is no longer provided. Please make sure you use the jaybird artifactId.

For example, for Java 11:

If you want to use Type 2 support (native or embedded), you need to explicitly include JNA 5.12.1 as a dependency:

1.1.2. Jaybird 4

Jaybird 4 is available from Maven Central:

4.0.8. (where is java11 , java8 or java7 )

For backwards compatibility, we also provide a Maven relocation artifact with artifact id jaybird-XX (with XX jdk17 or jdk18 . However, we recommend switching to the jaybird artifact.

For example, for Java 11:

If your application is deployed to a Java EE application server, you will need to exclude the javax.resource:connector-api dependency, and add it as a provided dependency:

If you want to use Type 2 support (native, local or embedded), you need to explicitly include JNA 5.5.0 as a dependency:

1.1.3. Jaybird 3

Jaybird 3 is end-of-life and will receive no further updates. We recommend upgrading to Jaybird 4.

Jaybird 3 is available from Maven Central:

jaybird-XX (where XX is jdk18 or jdk17 )

For ease of use, we also provide a Maven relocation artifact with artifact id jaybird . For Jaybird 3 this relocation artifact points to jaybird-jdk18 .

For example, for Java 8:

If your application is deployed to a Java EE application server, you will need to exclude the javax.resource:connector-api dependency, and add it as a provided dependency:

If you want to use Type 2 support (native, local or embedded), you need to explicitly include JNA 4.4.0 as a dependency:

1.1.4. Jaybird 2.2

Jaybird 2.2 is end-of-life and will receive no further updates. We recommend upgrading to Jaybird 4.

1.2. Download

Firebird can be downloaded from the Firebird website, under Downloads, JDBC Driver.

Alternatively, you can go directly to GitHub and download Jaybird from the jaybird releases.

2. Where can I get the sourcecode?

All Jaybird distribution zips contain a jaybird- -sources.zip with the sources used for that specific version. The full Jaybird sourcecode is also available from GitHub in the jaybird repository:

Each release is also tagged in the repository.

3. How is Jaybird licensed?

Jaybird JDBC driver is distributed under the GNU Lesser General Public License (LGPL). Text of the license can be obtained from http://www.gnu.org/copyleft/lesser.html.

Using Jaybird (by importing Jaybird’s public interfaces in your Java code), and extending Jaybird by subclassing or implementation of an extension interface (but not abstract or concrete class) is considered by the authors of Jaybird to be dynamic linking. Hence, our interpretation of the LGPL is that the use of the unmodified Jaybird source does not affect the license of your application code.

Even more, all extension interfaces to which an application might want to link are released under dual LGPL/modified BSD license. Latter is basically «AS IS» license that allows any kind of use of that source code. Jaybird should be viewed as an implementation of that interfaces and the LGPL section for dynamic linking is applicable in this case.

3.1. Which version of the LGPL applies?

Current releases of Jaybird do not explicitly specify an LGPL version. This means that you can choose which version applies. Future versions of Jaybird may specify an explicit version, or be released under a different license.

4. Which Java versions are supported?

Jaybird 5

Jaybird 5 supports Java 8, 11 and 17. Support for Java 9 and higher is limited to Java 11, 17 and the most recent LTS version after Java 17 and the latest Java release. Currently, that means we support Java 8, 11, 17 and 19.

Jaybird 5 is the last version to support Java 8 and 11, support will be dropped with Jaybird 6, raising the minimum supported version to Java 17.

Jaybird 5 will serve as a form of long-term support for Java 8 and 11, with maintenance releases guaranteed at least until the release of Jaybird 7.

Jaybird 4

Jaybird 4 supports Java 7, 8, 11 and 17. Support for Java 9 and higher is limited to Java 11, 17 and the most recent LTS version after Java 17 and the latest Java release. Currently, that means we support Java 7, 8, 11, 17 and 19.

Jaybird 4 is the last version to support Java 7, support will be dropped with Jaybird 5.

Jaybird 3

Jaybird 3.0 supports Java 7 and 8 and has basic support for Java 9 and higher using the Java 8 version of the driver. Support for Java 9 and higher is limited to the latest LTS and current latest release, but in practice Jaybird should work on all Java 9+ versions. Jaybird 3.0.12 is that last release of Jaybird 3.0, and is end-of-life. We recommend upgrading to Jaybird 4.

Jaybird 2.2

Jaybird 2.2 supports Java 6, 7 and 8. Jaybird 2.2.15 is that last release of Jaybird 2.2, and is end-of-life. We recommend upgrading to Jaybird 4.

Jaybird 2.2.4 added basic support for Java 8 (JDBC 4.2), although not all JDBC 4.2 features are supported or fully implemented.

Jaybird 2.2.7 is the last version to support Java 5, support has been dropped with Jaybird 2.2.8.

Jaybird 2.2 is the last version to support Java 6, support has been dropped with Jaybird 3.0.

5. What is the Java 9 module name for Jaybird?

Jaybird itself is not (yet) modularized. To ensure a stable module name, Jaybird, since 2.2.14 and 3.0.3, declares the automatic module name org.firebirdsql.jaybird .

6. Which Firebird versions are supported?

Jaybird 5

Jaybird 5 supports Firebird version 2.5, 3.0 and 4.0, and provides tentative support for Firebird 5.0. Firebird 5.0 will become fully supported in the first release after Firebird 5.0.0.

Jaybird 5 is the last version to support Firebird 2.5. Future versions of Jaybird are not guaranteed to work with version 2.5 and earlier.

Jaybird 4

Jaybird 4 supports Firebird version 2.5, 3.0 and 4.0, and introduces support for Firebird 4.0 types DECLOAT , extended precision of NUMERIC and DECIMAL , and time zone types ( TIME WITH TIME ZONE and TIMESTAMP WITH TIME ZONE ).

Jaybird 4 only provides partial support for Firebird 5.0, and the generated-keys support does not work in all cases due to Firebird 5.0 now supporting multi-row RETURNING . Full Firebird 5.0 support will become available in Jaybird 5.

Jaybird 3

Jaybird 3 supports Firebird versions 2.0 — 4.0. Support for Firebird 4.0 is limited to the Firebird 3.0 feature set. Formally, Firebird 5.0 is not supported, though in practice the problems are similar as for Jaybird 4.

Jaybird 3 is the last version to support Firebird 2.0 and 2.1. Future versions of Jaybird are not guaranteed to work with version 2.1 and earlier.

Jaybird 2.2

Jaybird 2.2 supports Firebird versions 1.0 — 4.0. Jaybird 2.2.4 added support for new features of Firebird 3.0 (e.g. BOOLEAN support). Support for Firebird 4 is limited to the Firebird 3.0 feature set.

Jaybird 2.2 is the last version to support Firebird 1.0 and 1.5. Future versions of Jaybird are not guaranteed to work with these versions.

7. Can Jaybird connect to Interbase?

Jaybird does not support Interbase, and as far as we know connecting to Interbase 6.0 and later will fail due to Firebird specific changes in the implementation.

8. Can Jaybird be used on Android

Jaybird does not work on Android. It uses classes and Java features which are not available on Android.

Instead, we recommend building a webservice (e.g. REST-based) to mediate between your Android application and the database.

Documentation and Support

9. Where to get more information on Jaybird

Apart from this FAQ, you can get additional information from:

For version specific details, consult the release notes

10. Where to get help

On Stack Overflow, please tag your questions with jaybird and firebird

You can subscribe to the mailing list by sending an email to [email protected]

Looking for professional support of Jaybird? Jaybird is now part of the Tidelift subscription.

Firebird support and other Firebird mailing lists for questions not directly related to Jaybird and java.

11. Contributing

There are several ways you can contribute to Jaybird or Firebird in general:

Report bugs or submit patches on the tracker (see Reporting Bugs)

Become a developer (for Jaybird contact us on firebird-java, for Firebird in general, use the Firebird-devel mailing list)

Become a paying member or sponsor of the Firebird Foundation (see https://www.firebirdsql.org/en/firebird-foundation/)

12. Reporting Bugs

The developers follow the firebird-java Google Group. Join the list and post information about suspected bugs. List members may be able to help out to determine if it is an actual bug, provide a workaround and get you going again, whereas bug fixes might take a while.

You can report bugs in the Firebird bug tracker, https://github.com/FirebirdSQL/jaybird/issues/.

When reporting bugs, please provide a minimal, but complete reproduction, including databases and sourcecode to reproduce the problem. Patches to fix bugs are also appreciated. Make sure the patch is against a recent master version of the code. You can also fork the jaybird repository and create pull requests.

Connecting to Firebird

13. JDBC URLs ( java.sql.DriverManager )

13.1. Pure Java (default)

Default URL format:

This will connect to the database using the Type 4 JDBC driver using the Java implementation of the Firebird wire-protocol. This is best suited for client-server applications with dedicated database server. Port can be omitted (default value is 3050 ), host name must be present.

The part is either the hostname, the IPv4 address, or the IPv6 address in brackets (eg [::1] ). Use of IPv6 address literals is only supported in Jaybird 3 or newer with Firebird 3 or newer.

The part should be replaced with the database alias or the path to the database. In general, it is advisable to use database aliases instead of the path of the database file as it hides implementation details like file locations and OS type.

On Linux the root / should be included in the path. A database located on /opt/firebird/db.fdb should use (note the double slash after port!):

Deprecated, but still supported legacy URL format:

The legacy URL format does not support IPv6 address literals.

Jaybird 4 and higher also support:

13.2. Open Office/Libre Office (Pure Java)

Jaybird 5 and earlier can be used together with OpenOffice and LibreOffice Base. To address some compatibility issues (and differences in interpretation of JDBC specifications) a separate sub-protocol is used:

Jaybird 4 and higher also support:

This URL format is deprecated with jaybird 5 and will be removed in Jaybird 6. As a replacement, use the “Firebird External” option in LibreOffice Base.

13.3. Native (using Firebird client library)

Default URL format:

Legacy URL format:

Type 2 driver, will connect to the database using client library ( fbclient.dll on Windows, and libfbclient.so on Linux). Requires correct installation of the client library and — for Jaybird 2.2 or earlier — the Jaybird native library, or — for Jaybird 3.0 and higher — the JNA jar file.

Type 2 driver in local mode. Uses client library as in previous case, however will not use socket communication, but rather access database directly. Requires correct installation of the client library and — for Jaybird 2.2 or earlier — the Jaybird native library, or — for Jaybird 3.0 and higher — the JNA jar file.

Jaybird 4 and higher also support:

As of Jaybird 5, the separate “LOCAL” protocol implementation has been removed. The JDBC URL sub-protocol jdbc:firebirdsql:local and jdbc:firebird:local are still supported but are now simply aliases for “ native ”.

13.4. Embedded Server

Similar to the Firebird client library, however fbembed.dll on Windows and libfbembed.so on Linux are used, falling back to fbclient.dll / libfbclient.so under the assumption it provides Embedded functionality. Requires correctly installed and configured Firebird embedded library and — for Jaybird 2.2 or earlier — the Jaybird native library, or — for Jaybird 3.0 and higher — the JNA jar file.

Jaybird 4 and higher also support:

14. Character sets

14.1. How can I specify the connection character set?

Jaybird provides two connection properties to specify the connection character set:

charSet with a Java character set name (alias: localEncoding )

The Java character set name must map to an equivalent Firebird character set.

encoding with a Firebird character set name (alias: lc_ctype )

The Firebird character set name — except NONE — must map to an equivalent Java character set.

For most applications, use only one of these two properties.

For special situations it is possible to specify both charSet and encoding to convert/reinterpret a character set into another character set, this is usually only necessary to fix data problems.

To phrase differently:

encoding= : use connection encoding and interpret in the equivalent Java character set

charSet= : use Firebird equivalent of as connection encoding and interpret in

encoding= &charSet= : use connection encoding , but interpret in

The handling of Firebird character set NONE is slightly different, see below.

14.2. How does character set NONE work?

The Firebird character set NONE is a special case, it essentially means “no character set”. You can store anything in it, but conversions to or from this character set are not defined.

Using character set NONE can result in incorrect character set handling when the database is used from different locales.

When used as a connection character set, Jaybird handles NONE as follows:

14.2.1. Jaybird 3.0 and higher

encoding=NONE means connection encoding NONE and interpret columns with character set NONE using the default JVM encoding, and interpret columns with an explicit character set in their equivalent Java character set

encoding=NONE&charSet=ISO-8859-1 the same, but instead of the JVM default, use ISO-8859-1

14.2.2. Jaybird 2.2 and earlier

encoding=NONE means use connection encoding NONE and interpret everything using the default JVM encoding

encoding=NONE&charSet=ISO-8859-1 the same, but instead of the JVM default, use ISO-8859-1

14.3. What happens if no connection character set is specified?

When no character set has been specified explicitly, Jaybird 2.2 and earlier, and Jaybird 3.0.2 and higher default to connection character set NONE . See How does character set NONE work? for details on character set NONE .

In Jaybird 3 it is possible to override the default connection character set by specifying system property org.firebirdsql.jdbc.defaultConnectionEncoding with a valid Firebird character set name.

Jaybird 3.0.2 introduces the system property org.firebirdsql.jdbc.requireConnectionEncoding , which — when set to true — will reject connections without a character set (which was the default behavior in Jaybird 3.0.0 and 3.0.1).

14.4. How can I solve the error «Connection rejected: No connection character set specified»

If no character set has been set, Jaybird 3 will reject the connection with an SQLNonTransientConnectionException with message «Connection rejected: No connection character set specified (property lc_ctype, encoding, charSet or localEncoding). Please specify a connection character set (e.g. property charSet=utf-8) or consult the Jaybird documentation for more information.»

In Jaybird 3.0.0 and 3.0.1 this error will be thrown if the character set has not been set explicitly. In Jaybird 3.0.2 and higher this error will only be thrown if system property org.firebirdsql.jdbc.requireConnectionEncoding has been set to true .

To address this error, you can set the default connection character set using one of the following options:

Use connection property encoding (alias: lc_ctype ) with a Firebird character set name.

Use encoding=NONE for the default behavior (with some caveats, see How does character set NONE work?).

Use connection property charSet (alias: localEncoding ) with a Java character set name.

Use a combination of encoding and charSet , if you want to reinterpret a Firebird character set in a Java character set other than the default mapping.

By providing a default Firebird character set with system property org.firebirdsql.jdbc.defaultConnectionEncoding . Jaybird will apply the specified character set as the default when no character set is specified in the connection properties.

This property only supports Firebird character set names.

Use -Dorg.firebirdsql.jdbc.defaultConnectionEncoding=NONE to revert to the default behavior (with some caveats, see How does character set NONE work?). With Jaybird 3.0.2 or higher, it is better to just not set system property org.firebirdsql.jdbc.requireConnectionEncoding if you want to apply NONE .

15. How can I enable the Windows «TCP Loopback Fast Path» introduced in Firebird 3.0.2?

Microsoft has deprecated the SIO_LOOPBACK_FAST_PATH and recommends not to use it.

Firebird 3.0.2 adds support for “TCP Loopback Fast Path” ( SIO_LOOPBACK_FAST_PATH socket option). This is available in Windows 8 / Windows Server 2012 and higher. This feature enables performance optimizations when connecting through localhost (127.0.0.1 / ::1). It requires support on both client and server side.

Java support for «TCP Loopback Fast Path» was introduced in Java 8 update 60, it can be enabled by specifying the system property jdk.net.useFastTcpLoopback with value true (e.g. specify -Djdk.net.useFastTcpLoopback=true in your Java commandline).

Unfortunately, Java only has an ‘all-or-nothing’ support for the “TCP Loopback Fast Path”, so Jaybird cannot enable this for you: you must specify this property on JVM startup. On the other hand, this has the benefit that this works for all Jaybird versions, as long as you use Java 8 update 60 or higher (and Firebird 3.0.2 or higher).

16. Common connection errors

16.1. Your user name and password are not defined. Ask your database administrator to set up a Firebird login. (335544472)

This error means that the user does not exist, or that the specified password is not correct.

When connecting to Firebird 3.0 and higher, this error can also mean that the user does exist (with that password), but not for the authentication plugins tried for this connection.

For example, Jaybird 2.2.x and earlier only support legacy authentication, if you try to log in as a user created for SRP authentication, you will get the same error.

16.2. Incompatible wire encryption levels requested on client and server (335545064)

With Jaybird 3.0.0 — 3.0.3 connecting to Firebird 3.0 or higher, this usually means that the setting WireCrypt is set to its (default) value of Required .

Upgrade to Jaybird 3.0.4 or higher, or relax this setting (in firebird.conf ) to WireCrypt = Enabled .

With Jaybird 3.0.4 or higher, or Jaybird 4, this error means that you have requested a connection with a mismatch in encryption settings. For example, you specified connection property wireCrypt=required while Firebird is set to WireCrypt = Disabled (or vice versa).

16.3. connection rejected by remote interface (335544421)

In general this error means that Jaybird requested a connection with properties not supported by Firebird. It can have other causes than described below.

16.3.1. Cause: username or password is null

With Jaybird 3 and Jaybird 4 connecting to Firebird 3.0 or higher, leaving username or password null will lead to Jaybird not trying any authentication plugin, and as a result Firebird will reject the connection.

With Firebird 2.5 and earlier, or Jaybird 2.2 or earlier, or Jaybird 5 or higher, this situation will yield error “Your user name and password are not defined. Ask your database administrator to set up a Firebird login.”

16.3.2. Cause: wirecrypt required

With Jaybird 2.2.x connecting to Firebird 3.0 or higher, this usually means that the setting WireCrypt is set to its (default) value of Required .

Relax this setting (in firebird.conf ) to WireCrypt = Enabled .

Make sure you check the other settings mentioned in that article, otherwise you’ll get the next error.

16.4. Error occurred during login, please check server firebird.log for details (335545106)

If the logging contains something like

With Jaybird 2.2 connecting to Firebird 3.0 or higher, this means that the setting AuthServer does not include the Legacy_Auth plugin.

Enable Legacy_Auth (in firebird.conf ) by adding this value to the property AuthServer , for example: AuthServer = Srp, Legacy_Auth .

With Jaybird 4 and higher, this can also mean that none of the default authentication plugins, or those specified using connection property authPlugins , are listed in the AuthServer setting. Either revise the Firebird configuration, or explicitly configure connection property authPlugins with authentication plugins that are configured in Firebird.

You also need to make sure your user is created with the legacy user manager, see Jaybird Wiki — Jaybird and Firebird 3 for details.

16.5. Encryption key did not meet algorithm requirements of Symmetric/Arc4 (337248282)

If the exception cause is java.security.InvalidKeyException: Illegal key size or default parameters, this means that your Java installation applies a security policy that does not allow ARCFOUR with a 160 bit encryption key.

If wireCrypt=ENABLED (the default), this is just logged as a warning. The connection will succeed, but it does mean that the connection will not be encrypted. If wireCrypt=REQUIRED , this is thrown as an exception, and the connection will fail.

This could indicate that your Java version applies the limited strength Cryptographic Jurisdiction Policy (this was the default in Java 8 Update 152 and earlier), or has been explicitly configured to apply the limited policy, or has a custom security policy to restrict the cryptographic key size.

Solutions and workarounds:

Apply the unlimited Cryptographic Jurisdiction Policy, see this Stack Overflow answer

Relax your custom security policy to allow 160 bit keys for ARCFOUR

Disable wire encryption for Firebird by setting WireCrypt = Disabled in firebird.conf

Set wireCrypt=DISABLED in the connection properties

Be aware that the first two options may have legal implications depending on the local law in your country regarding cryptography.

JDBC Support

17. How much of JDBC is supported by Jaybird?

WARNING The information in this section is not 100% up-to-date

Jaybird 4 follows the JDBC 4.3 specification with some features and methods not implemented as they are not supported by Firebird.

Most useful JDBC functionality (“useful” in the opinion of the developers).

XA transactions with true two phase commit when used via javax.sql.XADataSource implementation org.firebirdsql.ds.FBXADataSource .

ObjectFactory implementation org.firebirdsql.ds.DataSourceFactory for use in environments with JNDI but no TransactionManager .

DataSource implementation org.firebirdsql.ds.FBSimpleDataSource (no pooling).

ConnectionPoolDataSource implementation org.firebirdsql.ds.FBConnectionPoolDataSource (please be aware, contrary to suggested by the naming, this does not provide connection pooling, this is intended as a factory of connections for use by a connection pool, e.g. as provided by a Java EE/Jakarta EE application server)

Complete access to all Firebird database parameter block and transaction parameter block settings.

JMX mbean for database management (so far just database create and drop).

18. What parts of JDBC are NOT supported by Jaybird?

WARNING The information in this section is outdated

The following optional features are NOT supported:

The following optional features and the methods that support it are not implemented:

Ref and Array types.

setRef(int i, Ref x)

setArray(int i, Array x)

User Defined Types/Type Maps.

getObject(int i, java.util.Map map)

getObject(String columnName, java.util.Map map)

Excluding the unsupported features, the following methods are not yet implemented:

getBytes(long pos, int length)

position(byte pattern[], long start)

position(Blob pattern, long start)

getBinaryStream(long pos, long length)

Methods with a position ( pos ) parameter with a value greater than 1

position(String searchstr, long start)

position(Clob searchstr, long start)

getCharacterStream(long pos, long length)

Methods with a position ( pos ) parameter with a value greater than 1

The following methods are implemented, but do not work as expected:

get/setMaxFieldSize does nothing

get/setQueryTimeout supported since Jaybird 4 with Firebird 4.0 and higher

setObject(index,object,type) This method is implemented but behaves as setObject(index,object)

setObject(index,object,type,scale) This method is implemented but behaves as setObject(index,object)

getBigDecimal(index,scale) This method is implemented but behaves as getBigDecimal(index) . The method is deprecated, and we suggest using getBigDecimal(index) and adjust the scale of the returned BigDecimal using BigDecimal.setScale(newScale,roundingMode)

isReadOnly(i) always returns false

isWritable(i) always returns true

isDefinitivelyWritable(i) always returns true

getBigDecimal(index,scale) This method is implemented but behaves as getBigDecimal(index) . The method is deprecated, and we suggest using getBigDecimal(index) and adjust the scale of the returned BigDecimal using BigDecimal.setScale(newScale,roundingMode)

Features

19. Does Jaybird support connection pooling?

Jaybird itself no longer provides connection pooling. Earlier versions had a DataSource implementation with connection pooling, but this implementation had severe bugs. This implementation (and all other classes in org.firebirdsql.pool ) was deprecated in Jaybird 2.2 and dropped in Jaybird 3.

Jaybird provides a basic DataSource implementation and a ConnectionPoolDataSource implementation. Contrary to its name the latter does not provide a connection pool, but is intended to be used by a connection pool (as implemented in an application server) to create connections for the connection pool.

If your application is built on a Java EE/Jakarta EE application server, we suggest you use the connection pooling provided by the application server using the javax.sql.ConnectionPoolDataSource implementation org.firebirdsql.ds.FBConnectionPoolDataSource , or using the javax.sql.XADataSource implementation org.firebirdsql.ds.FBXADataSource .

If you develop standalone applications, or you use an application server without connection pooling, we suggest you use third-party libraries like:

Источник

Marazm54

1 / 0 / 1

Регистрация: 01.07.2019

Сообщений: 41

1

12.09.2019, 10:08. Показов 5637. Ответов 4

Метки wpf (Все метки)


Server Version = connection.Server Version выдал исключение типа System.InvalidOperationException

при открытии соединения.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
        FbDataAdapter adapter;
        DataTable dataTable;
        FbConnection connection = null;
        string sql = "SELECT FULL_NAME , PASSWRD , USERDB , USER_ID FROM Users";
        List<User> users_all = new List<User>();
 
        internal void InitializeComponent(Server server)
        {
            FbConnectionStringBuilder stringBuilder = new FbConnectionStringBuilder();
            stringBuilder.UserID = server.User;
            stringBuilder.DataSource = server.DataSource;
            stringBuilder.Database = server.Database;
            stringBuilder.Port = server.Port;
            stringBuilder.Password = server.Password;
            connection = new FbConnection(stringBuilder.ToString());
        }
        internal List<User> GetUsers()
        {
            dataTable = new DataTable();
            try
            {
                FbCommand cmd = new FbCommand(sql, connection);
                adapter = new FbDataAdapter(cmd);
                connection.Open();
                adapter.Fill(dataTable);

раньше когда был Firebird 2.5 Подключалось нормально , после обновления перестало, но могу понять в чем дело

Добавлено через 17 секунд
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Windows;
using FirebirdSql.Data.FirebirdClient;
using System.Xml.Serialization;
using System.IO;

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



управление сложностью

1687 / 1300 / 259

Регистрация: 22.03.2015

Сообщений: 7,545

Записей в блоге: 5

12.09.2019, 10:27

2

Ошибку-то какую-нибудь выдает ?



0



1 / 0 / 1

Регистрация: 01.07.2019

Сообщений: 41

12.09.2019, 10:29

 [ТС]

3

Почтальон, Server Version = connection.Server Version выдал исключение типа System.InvalidOperationException
в режиме отладки

$exception {«Error occurred during login, please check server firebird.log for details»} FirebirdSql.Data.FirebirdClient.FbException



0



управление сложностью

1687 / 1300 / 259

Регистрация: 22.03.2015

Сообщений: 7,545

Записей в блоге: 5

12.09.2019, 10:42

4

Цитата
Сообщение от Marazm54
Посмотреть сообщение

please check server firebird.log for details

В логах смотрели ?

Добавлено через 1 минуту
Вот здесь почитайте, авось что найдете https://habr.com/ru/post/281865/

Добавлено через 3 минуты
Ну и вот: https://habr.com/ru/post/278405/

Добавлено через 1 минуту
На просторах интернета

Замечание о работе с Firebird 3.0

К сожалению текущий ADO .Net провайдер для Firebird (версия 4.10.0) не поддерживает аутентификацию по протоколу SRP (по умолчанию в Firebird 3.0). Поэтому если вы желаете работать с Firebird 3.0, то вам необходимо изменить некоторые настройки в firebird.conf (или в databases.conf для конкретной БД), чтобы Firebird работал через Legacy_Auth. Для этого необходимо поменять следующие настройки:
UserManager = Legacy_UserManager
WireCrypt = Disabled
AuthServer = Legacy_Auth, Srp, WinSspi

Сохранить настройки. После чего необходимо создать пользователя SYSDBA и других пользователей с использованием Legacy_UserManager.



0



1 / 0 / 1

Регистрация: 01.07.2019

Сообщений: 41

12.09.2019, 10:48

 [ТС]

5

INET/inet_error: read errno = 10054, client host
хотя да, проблема скорее всего в не корректной работе сервера



0



New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account

Assignees

@mrotteveel

Comments

@firebird-issue-importer

Submitted by: John Kilin (johnkilin)

When I try FireBird 3 via JayBird 2.2.10 i receive error:
Internal Exception: java.sql.SQLException: Cannot create PoolableConnectionFactory (GDS Exception. 335545106. No message for code 335545106 found.)

Commits: 4dccd4a 4496f13

@firebird-issue-importer

Commented by: @mrotteveel

335545106 Seems to be a (relatively) recent error message in Firebird 3 (it must have been added after the 9th of December when I last updated the messages). I will update the error message file with the next release.

Could you please post the entire stacktrace?

@firebird-issue-importer

Commented by: @mrotteveel

The error message for 335545106 is «Error occurred during login, please check server firebird.log for details». Have you followed the instructions for using Jaybird 2.2.x with Firebird 3 on https://github.com/FirebirdSQL/jaybird/wiki/Jaybird-and-Firebird-3.0-beta-2? Because you can only login with users that have been created for legacy authentication; the new Srp authentication is not supported in 2.2.

Otherwise also post the firebird.log around the time of this error.

@firebird-issue-importer

Commented by: John Kilin (johnkilin)

Caused by: org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335545106. No message for code 335545106 found.
at org.firebirdsql.jdbc.FBDataSource.getConnection(FBDataSource.java:120)
at org.firebirdsql.jdbc.AbstractDriver.connect(AbstractDriver.java:138)
at org.apache.tomcat.dbcp.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:255)
at org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:867)
at org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:432)
at org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:360)
at org.apache.tomcat.dbcp.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:133)
at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1532)
at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:135)
… 89 more
Caused by: org.firebirdsql.gds.GDSException: No message for code 335545106 found.
at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.readStatusVector(AbstractJavaGDSImpl.java:2092)
at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.receiveResponse(AbstractJavaGDSImpl.java:2042)
at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.internalAttachDatabase(AbstractJavaGDSImpl.java:457)
at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.iscAttachDatabase(AbstractJavaGDSImpl.java:411)
at org.firebirdsql.jca.FBManagedConnection.<init>(FBManagedConnection.java:105)
at org.firebirdsql.jca.FBManagedConnectionFactory.createManagedConnection(FBManagedConnectionFactory.java:509)
at org.firebirdsql.jca.FBStandAloneConnectionManager.allocateConnection(FBStandAloneConnectionManager.java:65)
at org.firebirdsql.jdbc.FBDataSource.getConnection(FBDataSource.java:118)
… 98 more

@firebird-issue-importer

Commented by: John Kilin (johnkilin)

Problem only in absence of the new error message in JayBird.
With FB everything is OK.

@firebird-issue-importer

Commented by: @mrotteveel

John, just to confirm: your only concern is the fact that the error message is missing?

So if I add this error message in Jaybird 2.2.11, then everything is ok?

@firebird-issue-importer

Modified by: @mrotteveel

Fix Version: Jaybird 2.2.11 [ 10751 ]

Fix Version: Jaybird 3.0 [ 10440 ]

@firebird-issue-importer

Commented by: John Kilin (johnkilin)

Yes :)

@firebird-issue-importer

Commented by: @mrotteveel

Updated messages with current head of Firebird branch B3_0_Release

@firebird-issue-importer

Modified by: @mrotteveel

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

@firebird-issue-importer

Modified by: @mrotteveel

status: Resolved [ 5 ] => Closed [ 6 ]

2 participants

@mrotteveel

@firebird-issue-importer

<< IBExpert FAQs | Documentation | IBExpert Replication FAQs >>

  • Wrong or obsolete version
  • IBExpert currently uses IBExpert.stg …
  • Client library is missing or invalid
  • ’00-2′ is not a valid integer value
  • Error loading PlugIn Engine 12
  • firebird.msg not found
  • Your user name and password are not defined
  • Error occurred during login, please
    check server firebird.log for details

Here we have attempted to list some of the more frequently asked questions regarding Firebird and IBExpert error messages which appear when working with IBExpert. Should you not be able to find a solution to your problem under the links provided here or elsewhere within the IBExpert documentation, please send an email to register@ibexpert.biz.

Wrong or obsolete version

 

The incorrect ODS version has been specified for the Firebird version in use. On disc structure 11.2 is always for Firebird 2.5 and ODS version 12 is Firebird 3.0, ODS version 13 for Firebird 4.

Solutions:

  1. Delete the database file and recreate it again with the same DLL.
  2. use the 32-bit fbclient.dll from the Firebird 3 subdirectory.

Refer to ODS version for a list of all ODS versions for both Firebird and InterBase.

IBExpert currently uses IBExpert.stg …

If you have not specified and registered your IBExpert User database, you will receive the following error message, the first time you start IBExpert:

Please refer to the following documentation:

  • IBExpert User database
  • ibexpert.stg
  • and below: ’00-2′ is not a valid integer value

Client library is missing or invalid

This is actually an IBExpert errror message. As IBExpert is still currently a 32-bit application, it requires a 32-bit client dll. If you try to register a 64-bit Firebird (with the standard 64-bit fbclient.dll) in IBExpert you will get an error message informing you that the fbclient.dll is missing or invalid.

Solutions:

  1. Specify the 32 bit fbclient.dll from the corresponding Firebird version in the IBExpert Registration Info.
  2. When specifying the IBExpert User Database, you can specify the fbembed.dll, situated in the C:Program Files (x86)HK-SoftwareIBExpertIBEUDB subdirectory.

’00-2′ is not a valid integer value

 

This error appears if you are still using the old deprecated ibexpert.stg to store all your IBExpert settings. It indicates that IBExpert.stg is corrupted, cannot be repaired and user database should be used instead.

To solve this issue configure the IBExpert User Database.

If you have not specified a location yourself: by default, the user database file can always be found in the folder: HK-SoftwareIBExpertibexpert.udb. This area is user-dependent and even if several users work on one machine, each user has their own file.

If you are still using the old ibexpert.stg (default path: Documents and Settings<user>Application DataHK-SoftwareIBExpertIBExpert.stg) then copy this. Please refer to our online documentation:

  • IBExpert User database
  • ibexpert.stg

firebird.msg not found

 
can't format message 13:896 -- message file C:WINDOWSSYSTEM32firebird.msg not found. Dynamic SQL Error. SQL error code = -104. Token unknown - line 32, column 7.

Solution:

  1. Enter the following in the IBExpert Database Registration: client library file: C:Program Files (x86)HK-SoftwareIBExpertIBEUDBfbembed.dll
  2. or place the firebird.msg file into the C:Windowssystem32 folder.

Error loading PlugIn Engine 12

 

This error suggests that either your installation is corrupt, or the user running the Firebird service has insufficient access rights on the install folder to read /load plugins/Engine12.dll. … [???]

Solution:

… [???]

Your user name and password are not defined

 

Solution:

…[???]

Error occurred during login, please check server firebird.log for details

 

 

back to top of page
<< IBExpert FAQs | Documentation | IBExpert Replication FAQs >>

No message for code 335545106 found. [JDBC428] #469

Comments

firebird-issue-importer commented Apr 7, 2016

Submitted by: John Kilin (johnkilin)

When I try FireBird 3 via JayBird 2.2.10 i receive error:
Internal Exception: java.sql.SQLException: Cannot create PoolableConnectionFactory (GDS Exception. 335545106. No message for code 335545106 found.)

The text was updated successfully, but these errors were encountered:

firebird-issue-importer commented Apr 7, 2016

335545106 Seems to be a (relatively) recent error message in Firebird 3 (it must have been added after the 9th of December when I last updated the messages). I will update the error message file with the next release.

Could you please post the entire stacktrace?

firebird-issue-importer commented Apr 7, 2016

The error message for 335545106 is «Error occurred during login, please check server firebird.log for details». Have you followed the instructions for using Jaybird 2.2.x with Firebird 3 on https://github.com/FirebirdSQL/jaybird/wiki/Jaybird-and-Firebird-3.0-beta-2? Because you can only login with users that have been created for legacy authentication; the new Srp authentication is not supported in 2.2.

Otherwise also post the firebird.log around the time of this error.

firebird-issue-importer commented Apr 7, 2016

Commented by: John Kilin (johnkilin)

Caused by: org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335545106. No message for code 335545106 found.
at org.firebirdsql.jdbc.FBDataSource.getConnection(FBDataSource.java:120)
at org.firebirdsql.jdbc.AbstractDriver.connect(AbstractDriver.java:138)
at org.apache.tomcat.dbcp.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:255)
at org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:867)
at org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:432)
at org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:360)
at org.apache.tomcat.dbcp.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:133)
at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1532)
at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:135)
. 89 more
Caused by: org.firebirdsql.gds.GDSException: No message for code 335545106 found.
at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.readStatusVector(AbstractJavaGDSImpl.java:2092)
at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.receiveResponse(AbstractJavaGDSImpl.java:2042)
at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.internalAttachDatabase(AbstractJavaGDSImpl.java:457)
at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.iscAttachDatabase(AbstractJavaGDSImpl.java:411)
at org.firebirdsql.jca.FBManagedConnection. (FBManagedConnection.java:105)
at org.firebirdsql.jca.FBManagedConnectionFactory.createManagedConnection(FBManagedConnectionFactory.java:509)
at org.firebirdsql.jca.FBStandAloneConnectionManager.allocateConnection(FBStandAloneConnectionManager.java:65)
at org.firebirdsql.jdbc.FBDataSource.getConnection(FBDataSource.java:118)
. 98 more

firebird-issue-importer commented Apr 8, 2016

Commented by: John Kilin (johnkilin)

Problem only in absence of the new error message in JayBird.
With FB everything is OK.

firebird-issue-importer commented Apr 8, 2016

John, just to confirm: your only concern is the fact that the error message is missing?

So if I add this error message in Jaybird 2.2.11, then everything is ok?

firebird-issue-importer commented Apr 8, 2016

Fix Version: Jaybird 2.2.11 [ 10751 ]

Fix Version: Jaybird 3.0 [ 10440 ]

firebird-issue-importer commented Apr 8, 2016

Commented by: John Kilin (johnkilin)

firebird-issue-importer commented Jul 18, 2016

Updated messages with current head of Firebird branch B3_0_Release

firebird-issue-importer commented Jul 18, 2016

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

firebird-issue-importer commented Aug 20, 2016

status: Resolved [ 5 ] => Closed [ 6 ]

Footer

© 2023 GitHub, Inc.

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Источник

Problems connecting to firebird 3 #65

Comments

choallin commented Nov 12, 2018

Since it seems that issue #58 seems to be merged I make a new issue here.

I am trying to connect to a firebird 3 and am always getting an error (Firebird error unknown ISC error 335545106) which, after some research seems to be an authentication error. The firebird.log is also telling me, that the auth plugin not supported by network protocol
I have configured the db to use legacy_auth but still nothing changed. Do I have to configure something else as well?

The text was updated successfully, but these errors were encountered:

woblavobla commented Nov 12, 2018

@choallin check your configuration and security3.fdb. On clean Firebird you should initialize security db. Try to google on issues with connecting to clean firebird 3.

choallin commented Nov 12, 2018

@woblavobla I am very new to Firebird (but I know postrges and mysql). Where do I find the security3.fdb? Or how can I configure it?

woblavobla commented Nov 12, 2018 •

@choallin First of all you should uninstall any previous versions of Firebird and gem ‘fb’. Then install Firebird 3 and gem fb. This is needed to build gem with firebird 3 header files. And try to connect again.

choallin commented Nov 12, 2018

I did this already, but it didn’t change. (Now I have th fb gem version 0.9.0)

woblavobla commented Nov 12, 2018

@choallin you can only login with users that have been created for legacy authentication; the new Srp authentication is not supported; You should google how to correctly config legacy auth for Firebird 3.

Источник

Подключиться от FB3.0 к FB2.5

У меня было 2 сервера, которые использовали Firebird 2.5. У каждого из серверов была отдельная база данных, и один из них подключался к другому для получения некоторых данных. Один из серверов перешел на Firebird 3.0 и теперь не может подключиться к серверу 2.5. В нем указано, что мое имя пользователя или пароль неверны. Я подключился к серверу 2.5 с учетными данными, и они в порядке.

Для получения данных я использовал оператор Execute [STATEMENT] на внешнем источнике данных [SERVER] в качестве пароля пользователя [USER] [PASSWORD].

В версии 2.5 больше баз данных, и обновить ее до версии 3.0 будет непросто.

У кого-нибудь была эта проблема?

1 ответ

Я провел некоторое тестирование с Firebird 2.5 (2.5.8) и Firebird 3 (3.0.4) на том же сервере с разными портами, используя следующую простую инструкцию (и изменяя некоторые части в зависимости от того, что я тестирую), чтобы увидеть, что типа сбоев соединения, которые я могу произвести.

От Firebird 3 до Firebird 2.5

Используя этот оператор, я могу получить ошибку «Ваше имя пользователя и пароль не определены». от Firebird 3 до 2.5 в следующих ситуациях:

Firebird 3 имеет конфигурацию AuthClient 1 , которая не включает Legacy_Auth . Firebird 3 не может аутентифицироваться в Firebird 2.5, поскольку Firebird 2.5 знает только об устаревшем механизме аутентификации.

Чтобы исправить это, добавьте Legacy_Auth в настройку AuthClient в firebird.conf сервера Firebird 3 (например, установите его на AuthClient = Srp, Legacy_Auth ) и перезапустите сервер.

Скорее всего, это ваша проблема.

Отсутствие указания имени пользователя и пароля (т.е. исключение as user ‘sysdba’ password ‘masterkey’ из execute statement ). Вероятно, это связано с различием в механизмах аутентификации, поскольку Firebird не знает фактический пароль с протоколом SRP и поэтому не сможет аутентифицироваться на другом сервере.

Это можно исправить, указав имя пользователя и пароль.

От Firebird 2.5 до Firebird 3

В обратном направлении (Firebird 2.5 до 3) я не могу установить соединение в следующих ситуациях:

Аутентификация с использованием имени пользователя и пароля, который существует только как пользователь Srp. Это приводит к ошибке «Ваше имя пользователя и пароль не определены» , поскольку Firebird 2.5 поддерживает только устаревшую аутентификацию и в результате может аутентифицироваться только с теми пользователями, которые существуют для плагина Legacy_UserManager в Firebird 3.

Создайте пользователя (с тем же или другим именем) для плагина Legacy_UserManager:

Если это приводит к ошибке «Отсутствует запрошенный плагин управления» , вам необходимо отредактировать Firebird 3 firebird.conf и добавить Legacy_UserManager в настройку UserManager (например, установить на UserManager = Srp, Legacy_UserManager ; по умолчанию только Srp ) и перезапустите Firebird.

В качестве SYSDBA вы можете проверить на сервере Firebird 3, для какого плагина (или плагинов!) Существует пользователь, выполнив

Firebird 3 имеет настройку WireCrypt = Required (это значение по умолчанию!). Это вызывает ошибку «соединение отклонено удаленным интерфейсом» .

Чтобы исправить это, установите WireCrypt = Enabled в firebird.conf сервера Firebird 3 и перезапустите сервер.

Отсутствие указания имени пользователя и пароля (т.е. исключение as user ‘sysdba’ password ‘masterkey’ из execute statement ). Это вызывает ошибку «неизвестная ошибка ISC 335545106» (фактическое сообщение — «Ошибка при входе в систему, пожалуйста, проверьте сервер firebird.log для подробностей» , если файл сообщений Firebird 3 used), где в журнале Firebird 3 указано «Нет подходящих подключаемых модулей на сервере» , вероятно, это связано с различием в механизмах аутентификации.

Это можно исправить, указав имя пользователя и пароль.

Firebird 3 имеет конфигурацию AuthServer , которая не включает Legacy_Auth (по умолчанию используется только Srp !). Это также приводит к ошибке «неизвестная ошибка ISC 335545106» (фактическое сообщение — «Ошибка при входе в систему, пожалуйста, проверьте сервер firebird.log для подробностей» , если файл сообщений Firebird 3 использовано), где в журнале Firebird 3 написано «На сервере нет соответствующих плагинов» .

Чтобы исправить это, добавьте Legacy_Auth в настройку AuthServer в firebird.conf сервера Firebird 3 (например, установите его на AuthServer = Srp, Legacy_Auth ) и перезапустите сервер.

И, конечно же, в обоих направлениях ошибка «Ваше имя пользователя и пароль не определены» также может быть вызвана использованием несуществующих пользователей или неправильных паролей.

1. Здесь важна настройка AuthClient , поскольку сервер действует как клиент при выполнении execute statement . on external data source .

Источник

Unable to connect to firebird 3 #78

Comments

mreis1 commented Apr 4, 2017

I’ve a server running firebird on port 3050 (default). This server ip local ip address is 192.168.0.120.
The database alias is correctly configure to V12_M.

I downloaded and installed the sample node-libfbclient demo app.
And created my connection with the following settings:

Connection Name: «SERVER_LOCAL»
datatabase: «168.168.0.120/3050:V12_M»
user: «SYSDBA»
password: «MY_CUSTOM_PASSWORD»
role: «»

[Attempt 1]
Having a default firebird.conf and the settings above when checking the connection I get
«Error: While connecting — connection rejected by remote interface»

After googling I found that on windows it’s possible to manage the service and enable the connection between the service and the desktop. I enabled it and restarted the service and I retried to connect but still got the same error.

Also it’s not a problem of firewall since I disabled it on purpose.

[Attempt 2]

  1. Updated the firebird.conf
    WireCrypt = Disabled
    AuthServer = Legacy_Auth, Srp, Win_Sspi
    AuthClient = Legacy_Auth, Srp, Win_Sspi
  2. Restarted the DBMS
  3. Check connection returns:
    Error: While connecting — Your user name and password are not defined.
    Ask your database administrator to set up a Firebird login.

[Attempt 3]

  1. Removed the lines added on the previous attempt and added WireCrypt = Enabled to the bottom of the .conf file like I did on step 2.
  2. Clicked «Check connection» and received «Error: While connecting — unknown ISC error 335545106»

Note:
The database settings are correct. I tested a remote/local connection to both, a linux ubuntu and windows 7.

Any tips?
Thank you

The text was updated successfully, but these errors were encountered:

Источник

Jaybird Frequently Asked Questions

1. Where do I get Jaybird?

1.1. Maven

1.1.1. Jaybird 5

Jaybird 5 is available on Maven Central:

5.0.0. (where is java11 or java8 )

Contrary to Jaybird 4, a Maven relocation artifact with artifact id jaybird-XX (with XX jdk17 , jdk18 ) is no longer provided. Please make sure you use the jaybird artifactId.

For example, for Java 11:

If you want to use Type 2 support (native or embedded), you need to explicitly include JNA 5.12.1 as a dependency:

1.1.2. Jaybird 4

Jaybird 4 is available from Maven Central:

4.0.8. (where is java11 , java8 or java7 )

For backwards compatibility, we also provide a Maven relocation artifact with artifact id jaybird-XX (with XX jdk17 or jdk18 . However, we recommend switching to the jaybird artifact.

For example, for Java 11:

If your application is deployed to a Java EE application server, you will need to exclude the javax.resource:connector-api dependency, and add it as a provided dependency:

If you want to use Type 2 support (native, local or embedded), you need to explicitly include JNA 5.5.0 as a dependency:

1.1.3. Jaybird 3

Jaybird 3 is end-of-life and will receive no further updates. We recommend upgrading to Jaybird 4.

Jaybird 3 is available from Maven Central:

jaybird-XX (where XX is jdk18 or jdk17 )

For ease of use, we also provide a Maven relocation artifact with artifact id jaybird . For Jaybird 3 this relocation artifact points to jaybird-jdk18 .

For example, for Java 8:

If your application is deployed to a Java EE application server, you will need to exclude the javax.resource:connector-api dependency, and add it as a provided dependency:

If you want to use Type 2 support (native, local or embedded), you need to explicitly include JNA 4.4.0 as a dependency:

1.1.4. Jaybird 2.2

Jaybird 2.2 is end-of-life and will receive no further updates. We recommend upgrading to Jaybird 4.

1.2. Download

Firebird can be downloaded from the Firebird website, under Downloads, JDBC Driver.

Alternatively, you can go directly to GitHub and download Jaybird from the jaybird releases.

2. Where can I get the sourcecode?

All Jaybird distribution zips contain a jaybird- -sources.zip with the sources used for that specific version. The full Jaybird sourcecode is also available from GitHub in the jaybird repository:

Each release is also tagged in the repository.

3. How is Jaybird licensed?

Jaybird JDBC driver is distributed under the GNU Lesser General Public License (LGPL). Text of the license can be obtained from http://www.gnu.org/copyleft/lesser.html.

Using Jaybird (by importing Jaybird’s public interfaces in your Java code), and extending Jaybird by subclassing or implementation of an extension interface (but not abstract or concrete class) is considered by the authors of Jaybird to be dynamic linking. Hence, our interpretation of the LGPL is that the use of the unmodified Jaybird source does not affect the license of your application code.

Even more, all extension interfaces to which an application might want to link are released under dual LGPL/modified BSD license. Latter is basically «AS IS» license that allows any kind of use of that source code. Jaybird should be viewed as an implementation of that interfaces and the LGPL section for dynamic linking is applicable in this case.

3.1. Which version of the LGPL applies?

Current releases of Jaybird do not explicitly specify an LGPL version. This means that you can choose which version applies. Future versions of Jaybird may specify an explicit version, or be released under a different license.

4. Which Java versions are supported?

Jaybird 5

Jaybird 5 supports Java 8, 11 and 17. Support for Java 9 and higher is limited to Java 11, 17 and the most recent LTS version after Java 17 and the latest Java release. Currently, that means we support Java 8, 11, 17 and 19.

Jaybird 5 is the last version to support Java 8 and 11, support will be dropped with Jaybird 6, raising the minimum supported version to Java 17.

Jaybird 5 will serve as a form of long-term support for Java 8 and 11, with maintenance releases guaranteed at least until the release of Jaybird 7.

Jaybird 4

Jaybird 4 supports Java 7, 8, 11 and 17. Support for Java 9 and higher is limited to Java 11, 17 and the most recent LTS version after Java 17 and the latest Java release. Currently, that means we support Java 7, 8, 11, 17 and 19.

Jaybird 4 is the last version to support Java 7, support will be dropped with Jaybird 5.

Jaybird 3

Jaybird 3.0 supports Java 7 and 8 and has basic support for Java 9 and higher using the Java 8 version of the driver. Support for Java 9 and higher is limited to the latest LTS and current latest release, but in practice Jaybird should work on all Java 9+ versions. Jaybird 3.0.12 is that last release of Jaybird 3.0, and is end-of-life. We recommend upgrading to Jaybird 4.

Jaybird 2.2

Jaybird 2.2 supports Java 6, 7 and 8. Jaybird 2.2.15 is that last release of Jaybird 2.2, and is end-of-life. We recommend upgrading to Jaybird 4.

Jaybird 2.2.4 added basic support for Java 8 (JDBC 4.2), although not all JDBC 4.2 features are supported or fully implemented.

Jaybird 2.2.7 is the last version to support Java 5, support has been dropped with Jaybird 2.2.8.

Jaybird 2.2 is the last version to support Java 6, support has been dropped with Jaybird 3.0.

5. What is the Java 9 module name for Jaybird?

Jaybird itself is not (yet) modularized. To ensure a stable module name, Jaybird, since 2.2.14 and 3.0.3, declares the automatic module name org.firebirdsql.jaybird .

6. Which Firebird versions are supported?

Jaybird 5

Jaybird 5 supports Firebird version 2.5, 3.0 and 4.0, and provides tentative support for Firebird 5.0. Firebird 5.0 will become fully supported in the first release after Firebird 5.0.0.

Jaybird 5 is the last version to support Firebird 2.5. Future versions of Jaybird are not guaranteed to work with version 2.5 and earlier.

Jaybird 4

Jaybird 4 supports Firebird version 2.5, 3.0 and 4.0, and introduces support for Firebird 4.0 types DECLOAT , extended precision of NUMERIC and DECIMAL , and time zone types ( TIME WITH TIME ZONE and TIMESTAMP WITH TIME ZONE ).

Jaybird 4 only provides partial support for Firebird 5.0, and the generated-keys support does not work in all cases due to Firebird 5.0 now supporting multi-row RETURNING . Full Firebird 5.0 support will become available in Jaybird 5.

Jaybird 3

Jaybird 3 supports Firebird versions 2.0 — 4.0. Support for Firebird 4.0 is limited to the Firebird 3.0 feature set. Formally, Firebird 5.0 is not supported, though in practice the problems are similar as for Jaybird 4.

Jaybird 3 is the last version to support Firebird 2.0 and 2.1. Future versions of Jaybird are not guaranteed to work with version 2.1 and earlier.

Jaybird 2.2

Jaybird 2.2 supports Firebird versions 1.0 — 4.0. Jaybird 2.2.4 added support for new features of Firebird 3.0 (e.g. BOOLEAN support). Support for Firebird 4 is limited to the Firebird 3.0 feature set.

Jaybird 2.2 is the last version to support Firebird 1.0 and 1.5. Future versions of Jaybird are not guaranteed to work with these versions.

7. Can Jaybird connect to Interbase?

Jaybird does not support Interbase, and as far as we know connecting to Interbase 6.0 and later will fail due to Firebird specific changes in the implementation.

8. Can Jaybird be used on Android

Jaybird does not work on Android. It uses classes and Java features which are not available on Android.

Instead, we recommend building a webservice (e.g. REST-based) to mediate between your Android application and the database.

Documentation and Support

9. Where to get more information on Jaybird

Apart from this FAQ, you can get additional information from:

For version specific details, consult the release notes

10. Where to get help

On Stack Overflow, please tag your questions with jaybird and firebird

You can subscribe to the mailing list by sending an email to [email protected]

Looking for professional support of Jaybird? Jaybird is now part of the Tidelift subscription.

Firebird support and other Firebird mailing lists for questions not directly related to Jaybird and java.

11. Contributing

There are several ways you can contribute to Jaybird or Firebird in general:

Report bugs or submit patches on the tracker (see Reporting Bugs)

Become a developer (for Jaybird contact us on firebird-java, for Firebird in general, use the Firebird-devel mailing list)

Become a paying member or sponsor of the Firebird Foundation (see https://www.firebirdsql.org/en/firebird-foundation/)

12. Reporting Bugs

The developers follow the firebird-java Google Group. Join the list and post information about suspected bugs. List members may be able to help out to determine if it is an actual bug, provide a workaround and get you going again, whereas bug fixes might take a while.

You can report bugs in the Firebird bug tracker, https://github.com/FirebirdSQL/jaybird/issues/.

When reporting bugs, please provide a minimal, but complete reproduction, including databases and sourcecode to reproduce the problem. Patches to fix bugs are also appreciated. Make sure the patch is against a recent master version of the code. You can also fork the jaybird repository and create pull requests.

Connecting to Firebird

13. JDBC URLs ( java.sql.DriverManager )

13.1. Pure Java (default)

Default URL format:

This will connect to the database using the Type 4 JDBC driver using the Java implementation of the Firebird wire-protocol. This is best suited for client-server applications with dedicated database server. Port can be omitted (default value is 3050 ), host name must be present.

The part is either the hostname, the IPv4 address, or the IPv6 address in brackets (eg [::1] ). Use of IPv6 address literals is only supported in Jaybird 3 or newer with Firebird 3 or newer.

The part should be replaced with the database alias or the path to the database. In general, it is advisable to use database aliases instead of the path of the database file as it hides implementation details like file locations and OS type.

On Linux the root / should be included in the path. A database located on /opt/firebird/db.fdb should use (note the double slash after port!):

Deprecated, but still supported legacy URL format:

The legacy URL format does not support IPv6 address literals.

Jaybird 4 and higher also support:

13.2. Open Office/Libre Office (Pure Java)

Jaybird 5 and earlier can be used together with OpenOffice and LibreOffice Base. To address some compatibility issues (and differences in interpretation of JDBC specifications) a separate sub-protocol is used:

Jaybird 4 and higher also support:

This URL format is deprecated with jaybird 5 and will be removed in Jaybird 6. As a replacement, use the “Firebird External” option in LibreOffice Base.

13.3. Native (using Firebird client library)

Default URL format:

Legacy URL format:

Type 2 driver, will connect to the database using client library ( fbclient.dll on Windows, and libfbclient.so on Linux). Requires correct installation of the client library and — for Jaybird 2.2 or earlier — the Jaybird native library, or — for Jaybird 3.0 and higher — the JNA jar file.

Type 2 driver in local mode. Uses client library as in previous case, however will not use socket communication, but rather access database directly. Requires correct installation of the client library and — for Jaybird 2.2 or earlier — the Jaybird native library, or — for Jaybird 3.0 and higher — the JNA jar file.

Jaybird 4 and higher also support:

As of Jaybird 5, the separate “LOCAL” protocol implementation has been removed. The JDBC URL sub-protocol jdbc:firebirdsql:local and jdbc:firebird:local are still supported but are now simply aliases for “ native ”.

13.4. Embedded Server

Similar to the Firebird client library, however fbembed.dll on Windows and libfbembed.so on Linux are used, falling back to fbclient.dll / libfbclient.so under the assumption it provides Embedded functionality. Requires correctly installed and configured Firebird embedded library and — for Jaybird 2.2 or earlier — the Jaybird native library, or — for Jaybird 3.0 and higher — the JNA jar file.

Jaybird 4 and higher also support:

14. Character sets

14.1. How can I specify the connection character set?

Jaybird provides two connection properties to specify the connection character set:

charSet with a Java character set name (alias: localEncoding )

The Java character set name must map to an equivalent Firebird character set.

encoding with a Firebird character set name (alias: lc_ctype )

The Firebird character set name — except NONE — must map to an equivalent Java character set.

For most applications, use only one of these two properties.

For special situations it is possible to specify both charSet and encoding to convert/reinterpret a character set into another character set, this is usually only necessary to fix data problems.

To phrase differently:

encoding= : use connection encoding and interpret in the equivalent Java character set

charSet= : use Firebird equivalent of as connection encoding and interpret in

encoding= &charSet= : use connection encoding , but interpret in

The handling of Firebird character set NONE is slightly different, see below.

14.2. How does character set NONE work?

The Firebird character set NONE is a special case, it essentially means “no character set”. You can store anything in it, but conversions to or from this character set are not defined.

Using character set NONE can result in incorrect character set handling when the database is used from different locales.

When used as a connection character set, Jaybird handles NONE as follows:

14.2.1. Jaybird 3.0 and higher

encoding=NONE means connection encoding NONE and interpret columns with character set NONE using the default JVM encoding, and interpret columns with an explicit character set in their equivalent Java character set

encoding=NONE&charSet=ISO-8859-1 the same, but instead of the JVM default, use ISO-8859-1

14.2.2. Jaybird 2.2 and earlier

encoding=NONE means use connection encoding NONE and interpret everything using the default JVM encoding

encoding=NONE&charSet=ISO-8859-1 the same, but instead of the JVM default, use ISO-8859-1

14.3. What happens if no connection character set is specified?

When no character set has been specified explicitly, Jaybird 2.2 and earlier, and Jaybird 3.0.2 and higher default to connection character set NONE . See How does character set NONE work? for details on character set NONE .

In Jaybird 3 it is possible to override the default connection character set by specifying system property org.firebirdsql.jdbc.defaultConnectionEncoding with a valid Firebird character set name.

Jaybird 3.0.2 introduces the system property org.firebirdsql.jdbc.requireConnectionEncoding , which — when set to true — will reject connections without a character set (which was the default behavior in Jaybird 3.0.0 and 3.0.1).

14.4. How can I solve the error «Connection rejected: No connection character set specified»

If no character set has been set, Jaybird 3 will reject the connection with an SQLNonTransientConnectionException with message «Connection rejected: No connection character set specified (property lc_ctype, encoding, charSet or localEncoding). Please specify a connection character set (e.g. property charSet=utf-8) or consult the Jaybird documentation for more information.»

In Jaybird 3.0.0 and 3.0.1 this error will be thrown if the character set has not been set explicitly. In Jaybird 3.0.2 and higher this error will only be thrown if system property org.firebirdsql.jdbc.requireConnectionEncoding has been set to true .

To address this error, you can set the default connection character set using one of the following options:

Use connection property encoding (alias: lc_ctype ) with a Firebird character set name.

Use encoding=NONE for the default behavior (with some caveats, see How does character set NONE work?).

Use connection property charSet (alias: localEncoding ) with a Java character set name.

Use a combination of encoding and charSet , if you want to reinterpret a Firebird character set in a Java character set other than the default mapping.

By providing a default Firebird character set with system property org.firebirdsql.jdbc.defaultConnectionEncoding . Jaybird will apply the specified character set as the default when no character set is specified in the connection properties.

This property only supports Firebird character set names.

Use -Dorg.firebirdsql.jdbc.defaultConnectionEncoding=NONE to revert to the default behavior (with some caveats, see How does character set NONE work?). With Jaybird 3.0.2 or higher, it is better to just not set system property org.firebirdsql.jdbc.requireConnectionEncoding if you want to apply NONE .

15. How can I enable the Windows «TCP Loopback Fast Path» introduced in Firebird 3.0.2?

Microsoft has deprecated the SIO_LOOPBACK_FAST_PATH and recommends not to use it.

Firebird 3.0.2 adds support for “TCP Loopback Fast Path” ( SIO_LOOPBACK_FAST_PATH socket option). This is available in Windows 8 / Windows Server 2012 and higher. This feature enables performance optimizations when connecting through localhost (127.0.0.1 / ::1). It requires support on both client and server side.

Java support for «TCP Loopback Fast Path» was introduced in Java 8 update 60, it can be enabled by specifying the system property jdk.net.useFastTcpLoopback with value true (e.g. specify -Djdk.net.useFastTcpLoopback=true in your Java commandline).

Unfortunately, Java only has an ‘all-or-nothing’ support for the “TCP Loopback Fast Path”, so Jaybird cannot enable this for you: you must specify this property on JVM startup. On the other hand, this has the benefit that this works for all Jaybird versions, as long as you use Java 8 update 60 or higher (and Firebird 3.0.2 or higher).

16. Common connection errors

16.1. Your user name and password are not defined. Ask your database administrator to set up a Firebird login. (335544472)

This error means that the user does not exist, or that the specified password is not correct.

When connecting to Firebird 3.0 and higher, this error can also mean that the user does exist (with that password), but not for the authentication plugins tried for this connection.

For example, Jaybird 2.2.x and earlier only support legacy authentication, if you try to log in as a user created for SRP authentication, you will get the same error.

16.2. Incompatible wire encryption levels requested on client and server (335545064)

With Jaybird 3.0.0 — 3.0.3 connecting to Firebird 3.0 or higher, this usually means that the setting WireCrypt is set to its (default) value of Required .

Upgrade to Jaybird 3.0.4 or higher, or relax this setting (in firebird.conf ) to WireCrypt = Enabled .

With Jaybird 3.0.4 or higher, or Jaybird 4, this error means that you have requested a connection with a mismatch in encryption settings. For example, you specified connection property wireCrypt=required while Firebird is set to WireCrypt = Disabled (or vice versa).

16.3. connection rejected by remote interface (335544421)

In general this error means that Jaybird requested a connection with properties not supported by Firebird. It can have other causes than described below.

16.3.1. Cause: username or password is null

With Jaybird 3 and Jaybird 4 connecting to Firebird 3.0 or higher, leaving username or password null will lead to Jaybird not trying any authentication plugin, and as a result Firebird will reject the connection.

With Firebird 2.5 and earlier, or Jaybird 2.2 or earlier, or Jaybird 5 or higher, this situation will yield error “Your user name and password are not defined. Ask your database administrator to set up a Firebird login.”

16.3.2. Cause: wirecrypt required

With Jaybird 2.2.x connecting to Firebird 3.0 or higher, this usually means that the setting WireCrypt is set to its (default) value of Required .

Relax this setting (in firebird.conf ) to WireCrypt = Enabled .

Make sure you check the other settings mentioned in that article, otherwise you’ll get the next error.

16.4. Error occurred during login, please check server firebird.log for details (335545106)

If the logging contains something like

With Jaybird 2.2 connecting to Firebird 3.0 or higher, this means that the setting AuthServer does not include the Legacy_Auth plugin.

Enable Legacy_Auth (in firebird.conf ) by adding this value to the property AuthServer , for example: AuthServer = Srp, Legacy_Auth .

With Jaybird 4 and higher, this can also mean that none of the default authentication plugins, or those specified using connection property authPlugins , are listed in the AuthServer setting. Either revise the Firebird configuration, or explicitly configure connection property authPlugins with authentication plugins that are configured in Firebird.

You also need to make sure your user is created with the legacy user manager, see Jaybird Wiki — Jaybird and Firebird 3 for details.

16.5. Encryption key did not meet algorithm requirements of Symmetric/Arc4 (337248282)

If the exception cause is java.security.InvalidKeyException: Illegal key size or default parameters, this means that your Java installation applies a security policy that does not allow ARCFOUR with a 160 bit encryption key.

If wireCrypt=ENABLED (the default), this is just logged as a warning. The connection will succeed, but it does mean that the connection will not be encrypted. If wireCrypt=REQUIRED , this is thrown as an exception, and the connection will fail.

This could indicate that your Java version applies the limited strength Cryptographic Jurisdiction Policy (this was the default in Java 8 Update 152 and earlier), or has been explicitly configured to apply the limited policy, or has a custom security policy to restrict the cryptographic key size.

Solutions and workarounds:

Apply the unlimited Cryptographic Jurisdiction Policy, see this Stack Overflow answer

Relax your custom security policy to allow 160 bit keys for ARCFOUR

Disable wire encryption for Firebird by setting WireCrypt = Disabled in firebird.conf

Set wireCrypt=DISABLED in the connection properties

Be aware that the first two options may have legal implications depending on the local law in your country regarding cryptography.

JDBC Support

17. How much of JDBC is supported by Jaybird?

WARNING The information in this section is not 100% up-to-date

Jaybird 4 follows the JDBC 4.3 specification with some features and methods not implemented as they are not supported by Firebird.

Most useful JDBC functionality (“useful” in the opinion of the developers).

XA transactions with true two phase commit when used via javax.sql.XADataSource implementation org.firebirdsql.ds.FBXADataSource .

ObjectFactory implementation org.firebirdsql.ds.DataSourceFactory for use in environments with JNDI but no TransactionManager .

DataSource implementation org.firebirdsql.ds.FBSimpleDataSource (no pooling).

ConnectionPoolDataSource implementation org.firebirdsql.ds.FBConnectionPoolDataSource (please be aware, contrary to suggested by the naming, this does not provide connection pooling, this is intended as a factory of connections for use by a connection pool, e.g. as provided by a Java EE/Jakarta EE application server)

Complete access to all Firebird database parameter block and transaction parameter block settings.

JMX mbean for database management (so far just database create and drop).

18. What parts of JDBC are NOT supported by Jaybird?

WARNING The information in this section is outdated

The following optional features are NOT supported:

The following optional features and the methods that support it are not implemented:

Ref and Array types.

setRef(int i, Ref x)

setArray(int i, Array x)

User Defined Types/Type Maps.

getObject(int i, java.util.Map map)

getObject(String columnName, java.util.Map map)

Excluding the unsupported features, the following methods are not yet implemented:

getBytes(long pos, int length)

position(byte pattern[], long start)

position(Blob pattern, long start)

getBinaryStream(long pos, long length)

Methods with a position ( pos ) parameter with a value greater than 1

position(String searchstr, long start)

position(Clob searchstr, long start)

getCharacterStream(long pos, long length)

Methods with a position ( pos ) parameter with a value greater than 1

The following methods are implemented, but do not work as expected:

get/setMaxFieldSize does nothing

get/setQueryTimeout supported since Jaybird 4 with Firebird 4.0 and higher

setObject(index,object,type) This method is implemented but behaves as setObject(index,object)

setObject(index,object,type,scale) This method is implemented but behaves as setObject(index,object)

getBigDecimal(index,scale) This method is implemented but behaves as getBigDecimal(index) . The method is deprecated, and we suggest using getBigDecimal(index) and adjust the scale of the returned BigDecimal using BigDecimal.setScale(newScale,roundingMode)

isReadOnly(i) always returns false

isWritable(i) always returns true

isDefinitivelyWritable(i) always returns true

getBigDecimal(index,scale) This method is implemented but behaves as getBigDecimal(index) . The method is deprecated, and we suggest using getBigDecimal(index) and adjust the scale of the returned BigDecimal using BigDecimal.setScale(newScale,roundingMode)

Features

19. Does Jaybird support connection pooling?

Jaybird itself no longer provides connection pooling. Earlier versions had a DataSource implementation with connection pooling, but this implementation had severe bugs. This implementation (and all other classes in org.firebirdsql.pool ) was deprecated in Jaybird 2.2 and dropped in Jaybird 3.

Jaybird provides a basic DataSource implementation and a ConnectionPoolDataSource implementation. Contrary to its name the latter does not provide a connection pool, but is intended to be used by a connection pool (as implemented in an application server) to create connections for the connection pool.

If your application is built on a Java EE/Jakarta EE application server, we suggest you use the connection pooling provided by the application server using the javax.sql.ConnectionPoolDataSource implementation org.firebirdsql.ds.FBConnectionPoolDataSource , or using the javax.sql.XADataSource implementation org.firebirdsql.ds.FBXADataSource .

If you develop standalone applications, or you use an application server without connection pooling, we suggest you use third-party libraries like:

Источник

Понравилась статья? Поделить с друзьями:
  • Error occurred during initialization of vm что делать
  • Error occurred during initialization of vm майнкрафт
  • Error occurred during initialization of vm too small maximum heap
  • Error occurred during initialization of vm too small initial heap
  • Error occurred during initialization of vm minecraft