Hi,

I've been using Firebird since a long time, using quoted identifiers with Swedish characters åäö in them. I am now at version 3.0.3 (on Windows Server 2016, 64 bit).

Now I tried this code in C# using FirebirClient 6.3.0.0:

/*-----*/
Dictionary<string, FbTransactionBehavior> locks = new Dictionary<string, FbTransactionBehavior>() {   { "KörningInstans", FbTransactionBehavior.Protected | FbTransactionBehavior.LockWrite },   { "Körning", FbTransactionBehavior.Protected | FbTransactionBehavior.LockWrite }
};
FbTransaction trans = connection.BeginTransaction(new FbTransactionOptions() {
  LockTables = locks,
  TransactionBehavior = FbTransactionBehavior.Consistency | FbTransactionBehavior.Write
});
/*-----*/

The BeginTransaction call fails with an exception "arithmetic exception, numeric overflow, or string truncation Cannot transliterate character between character sets". Error code in the exception is 335544321. SQLSTATE 22000. It contains 3 errors:
1. type 1, error code 335544321, no message.
2. type 1, error code 335544565, no message.
3. type 0, error code 335544321, message "arithmetic exception, numeric overflow, or string truncation\r\nCannot transliterate character between character sets".

The database is created like this in isql:
create database 'KorningarDev' user DEV password '***' page_size 4096 set names 'UTF8' default character set UTF8 collation UNICODE;

And the connection string looks like this:
Server=xxx.xxx.xxx.xxx;Port=3050;Database=KorningarDev;Charset=UTF8;User=DEV;Password=***

So, I see no reason why there would be any transliteratio problems: Windows unicode -> UTF8, and then UTF8 all the way, right?

What might be going on here? Anything I might be doing wrong? Bug in .NET FirebirdClient? Bug in Firebird itself?

Regards,
Kjell Rilbe

<<attachment: kjell_rilbe.vcf>>

_______________________________________________
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

Reply via email to