Subject Problem with Firebird embedded on Windows: CHARACTER SET UTF8 is not defined
Author Anil

I'm using Firebird 3.0 from .NET Core 2.1 application in embedded mode. Database is created using FbConnection.CreateDatabase. However, when trying to execute first query I get following exception.

The application works fine on Windows 10 development machine, but I wanted to test the deployment story with Windows Server 2008 R2 and Windows Server 2012 - same error on both:

FirebirdSql.Data.FirebirdClient.FbException: bad parameters on attach or create database CHARACTER SET UTF8 is not defined 
>>> FirebirdSql.Data.Common.IscException: bad parameters on attach or create database CHARACTER SET UTF8 is not defined
at FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect() at FirebirdSql.Data.FirebirdClient.FbConnectionPoolManager.Pool.CreateNewConnectionIfPossibleImpl(FbConnectionString connectionString) at FirebirdSql.Data.FirebirdClient.FbConnectionPoolManager.Pool.GetConnection(FbConnection owner) at FirebirdSql.Data.FirebirdClient.FbConnection.Open()

When I try to access the DB with isql i get following issue:

C:\Users\xxx\Temp>isql STATE.FDB
Statement failed, SQLSTATE = XX000
internal Firebird consistency check (cannot find tip page (165), file: tra.cpp line: 2324)
Statement failed, SQLSTATE = XX000
internal Firebird consistency check (can't continue after bugcheck)
Statement failed, SQLSTATE = XX000
internal Firebird consistency check (can't continue after bugcheck)
Database:  STATE.FDB

If I take the DB created on e.g. Mac (with same application) it is being read properly by the application on Windows Server.

It seems that the DB creation on Windows is resulting in an invalid DB file.