Issue Details (XML | Word | Printable)

Key: DNET-630
Type: New Feature New Feature
Status: Closed Closed
Resolution: Incomplete
Priority: Major Major
Assignee: Jiri Cincura
Reporter: Mark Junker
Votes: 3
Watchers: 3
Operations

If you were logged in you would be able to see more operations.
.NET Data provider

Support for Firebird 3.0

Created: 14/Sep/15 01:57 PM   Updated: 08/Oct/18 09:20 AM
Component/s: ADO.NET Provider
Affects Version/s: 4.8.1.0
Fix Version/s: None

Environment: Windows 10
Issue Links:
Relate
 

Sub-Tasks  All   Open   

 Description  « Hide
It seems that the Firebird ADO.NET driver doesn't support Firebird 3.0 beta 2 yet. At least two things come to mind that probably have to be changed:

* Support for BOOLEAN data type
* Support for changed data structures
  * I found at least one situation where the data structure was changed: When I try to open an already opened embedded database


 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Jiri Cincura added a comment - 14/Sep/15 02:06 PM
What changed data structures you're talking about?

Mark Junker added a comment - 15/Sep/15 08:29 AM
Here's a stack trace when I try to open an already opened database:

System.IndexOutOfRangeException: Der Index war außerhalb des Arraybereichs.
   bei FirebirdSql.Data.Common.IscHelper.VaxInteger(Byte[] buffer, Int32 index, Int32 length) in C:\Users\Jiri\Documents\devel\NETProvider\working\NETProvider\src\FirebirdSql.Data.FirebirdClient\Common\IscHelper.cs:Zeile 312.
   bei FirebirdSql.Data.Common.IscHelper.ParseDatabaseInfo(Byte[] buffer) in C:\Users\Jiri\Documents\devel\NETProvider\working\NETProvider\src\FirebirdSql.Data.FirebirdClient\Common\IscHelper.cs:Zeile 35.
   bei FirebirdSql.Data.Client.Native.FesDatabase.GetDatabaseInfo(Byte[] items, Int32 bufferLength) in C:\Users\Jiri\Documents\devel\NETProvider\working\NETProvider\src\FirebirdSql.Data.FirebirdClient\Client\Native\FesDatabase.cs:Zeile 392.
   bei FirebirdSql.Data.Client.Native.FesDatabase.GetServerVersion() in C:\Users\Jiri\Documents\devel\NETProvider\working\NETProvider\src\FirebirdSql.Data.FirebirdClient\Client\Native\FesDatabase.cs:Zeile 372.
   bei FirebirdSql.Data.Client.Native.FesDatabase.Attach(DatabaseParameterBuffer dpb, String dataSource, Int32 port, String database) in C:\Users\Jiri\Documents\devel\NETProvider\working\NETProvider\src\FirebirdSql.Data.FirebirdClient\Client\Native\FesDatabase.cs:Zeile 291.
   bei FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect() in C:\Users\Jiri\Documents\devel\NETProvider\working\NETProvider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbConnectionInternal.cs:Zeile 171.
   bei FirebirdSql.Data.FirebirdClient.FbConnectionPoolManager.Pool.CreateNewConnectionIfPossibleImpl(FbConnectionString connectionString) in C:\Users\Jiri\Documents\devel\NETProvider\working\NETProvider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbConnectionPoolManager.cs:Zeile 202.
   bei FirebirdSql.Data.FirebirdClient.FbConnectionPoolManager.Pool.GetConnection(FbConnection owner) in C:\Users\Jiri\Documents\devel\NETProvider\working\NETProvider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbConnectionPoolManager.cs:Zeile 106.
   bei FirebirdSql.Data.FirebirdClient.FbConnectionPoolManager.Get(FbConnectionString connectionString, FbConnection owner) in C:\Users\Jiri\Documents\devel\NETProvider\working\NETProvider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbConnectionPoolManager.cs:Zeile 221.
   bei FirebirdSql.Data.FirebirdClient.FbConnection.Open() in C:\Users\Jiri\Documents\devel\NETProvider\working\NETProvider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbConnection.cs:Zeile 542.

Jiri Cincura added a comment - 15/Sep/15 08:38 AM
Are you using latest provider? Does this happen only on FB3 and FB2.5.x is OK? This doesn't look like FB3 caused to me.

Mark Junker added a comment - 15/Sep/15 08:47 AM
Yes, I'm using 4.8.0.0 and this happens with FB3 only. When using the FB2.5 DLLs, I get the following exception:

FirebirdSql.Data.FirebirdClient.FbException (0x80004005): I/O error during "CreateFile (open)" operation for file "D:\DATALINE\DATALINE.OFFICE.MFC\BUILD\DEBUG\DATA\MUSTER.FDB"
Error while trying to open file ---> I/O error during "CreateFile (open)" operation for file "D:\DATALINE\DATALINE.OFFICE.MFC\BUILD\DEBUG\DATA\MUSTER.FDB"
Error while trying to open file
   bei FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect() in C:\Users\Jiri\Documents\devel\NETProvider\working\NETProvider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbConnectionInternal.cs:Zeile 196.
   bei FirebirdSql.Data.FirebirdClient.FbConnectionPoolManager.Pool.CreateNewConnectionIfPossibleImpl(FbConnectionString connectionString) in C:\Users\Jiri\Documents\devel\NETProvider\working\NETProvider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbConnectionPoolManager.cs:Zeile 202.
   bei FirebirdSql.Data.FirebirdClient.FbConnectionPoolManager.Pool.GetConnection(FbConnection owner) in C:\Users\Jiri\Documents\devel\NETProvider\working\NETProvider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbConnectionPoolManager.cs:Zeile 106.
   bei FirebirdSql.Data.FirebirdClient.FbConnectionPoolManager.Get(FbConnectionString connectionString, FbConnection owner) in C:\Users\Jiri\Documents\devel\NETProvider\working\NETProvider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbConnectionPoolManager.cs:Zeile 221.
   bei FirebirdSql.Data.FirebirdClient.FbConnection.Open() in C:\Users\Jiri\Documents\devel\NETProvider\working\NETProvider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbConnection.cs:Zeile 542.

It might be an interesting for you, that the other application opens the database using a Firebird server, while my test application tries to open the DB directly (embedded).