FirebirdSQL / NETProvider

Firebird ADO.NET Data Provider
https://www.firebirdsql.org/en/net-provider/
Other
159 stars 65 forks source link

When you change culture of application while it's connected to firebird database, the connection won't be returned into pool. [DNET549] #523

Closed firebird-automations closed 10 years ago

firebird-automations commented 10 years ago

Submitted by: Lukáš Vykydal (cafee)

i found interesting bug. When you change culture of application while it's connected to firebird database, the connection won't be returned into pool.

Here is example code (from Page_Load) : this.Culture = "en-GB"; FbConnection fbc = new FbConnection("Database=d:/database.fdb;DataSource=localhost;User=sysdba;Password=masterkey;Dialect=1;Charset=UTF8;Pooling=true;MinPoolSize=0;MaxPoolSize=10;Connection lifetime=30;"); fbc.Open();

    this\.Culture = "cs\-CZ";

// this.Culture = "en-GB"; When you change it back everything will be OK

    fbc\.Close\(\);

this code will fail after 10 calls on "System.InvalidOperationException: Connection pool is full". Its thrown from "FirebirdSql.Data.FirebirdClient.Pool.CreateNewConnectionIfPossibleImpl".

After quick look into the source code i think that problem is in generating NormalizedConnectionString (FbConnectgionString.cs:233). This code is probably culture dependent.

I'm using Fb .NET Provider version 4.1.0.0 and .NET FW version: 4.0.30319 and ASP .NET 4.0.30319.34009

firebird-automations commented 10 years ago
Modified by: @cincuranet priority: Major \[ 3 \] =\> Minor \[ 4 \] Component: Providers \[ 10090 \] =\>
firebird-automations commented 10 years ago
Modified by: @cincuranet status: Open \[ 1 \] =\> Resolved \[ 5 \] resolution: Fixed \[ 1 \] Fix Version: vNext \[ 10587 \]
firebird-automations commented 10 years ago
Modified by: @cincuranet Fix Version: 4\.1\.5\.0 \[ 10590 \] Fix Version: vNext \[ 10587 \] =\>