Few weeks ago the 3.0.0 version was released (actually it was during Firebird Conference 2012, during my talk
) and it came with some new features and improvements (hence version 3.0.0). And as it goes, nothing is perfect and few items slipped through testing phase. So that’s th reason why today, I’m happy to announce version 3.0.1 to be released.
You can download it from NuGet or from Firebird SQL site as it gets updated.
This release contains fixes for two regressions introduced in 3.0.0. You can see both in tracker. It’s also my initial step to release these small bugfix releases more often (as discussed in list).
Go grab it, while it’s hot.
Pingback: Firebird News » .NET provider for Firebird 3.0.1 released
The change for http://tracker.firebirdsql.org/browse/DNET-452 appears to have broken EF 5′s Context.Database.SqlQuery() capability. I have an app that uses this feature extensively that works fine in 2.7.7, but fails on 3.0.0.1 with an error at FDDataReader.GetColumnIndex. It looks like
return value.Replace(”, ‘ ‘).Trim();
is not equivalent to
return value.TrimEnd(”, ‘ ‘);
Firebird Embedded does not work with FirebirdSql.Data.FirebirdClient 3.0.1
Err: ‘Unable to complete network request to host “localhost”.
Why ‘localhost’ if it’s embedded?
It’s not same from C#’s POV but should be considering the wire protocol. Anyway a repro-case would be helpful. BTW this affects any query (with varchar) not just EF.
I am using the following connection string to connect Firebird embedded.
ServerType=Embedded;User=SYSDBA;Password=masterkey;Dialect=3;Pooling=false;Database=C:\1.GDB;
3.0.0 OK but 3.0.1 Fail
I think the ServerType (Embedded or 1) is not unavailable on 3.0.1
Works fine here:
and succeeds with:
You have to disable the firebird service and try it again.
I don’t have Firebird running here. And you can see from stack, it’s using P/Invoke path, not network.
if (key == “server type”)
{
FbServerType serverType = default(FbServerType);
try
{
Enum.Parse(typeof(FbServerType), values[1], true);
}
catch
{
throw new NotSupportedException(“Not supported ‘server type’.”);
}
this.options[key] = serverType;
}
else
{
this.options[key] = values[1];
}
You have omitted the variable.
serverType = (FbServerType)Enum.Parse(typeof(FbServerType), values[1], true);
Fucking .NET 3.5 compatibility. I used
Enum.TryParse, but as I was building all versions I had to change it. Interesting the previous code worked as expected, wondering what it was loading. Thanks for catching. 3.0.2 soon.Could not reproduce error in a test app. I eventually downloaded the FirebirdClient source and debugged. Basically, the exception thrown in FbDataReader.GetColumnIndex was not being handled by the EntityFramework when materializing query results to an object. I’m honestly not sure how it got resolved, but after a Clean and Rebuild it works now. Anyway, issue resolved. Thanks.