I have a CHAR(32) field in my database using UNICODE_FSS as charset
trying to insert a string of 32 chars using=20
INSERT MyTable (ColumnName) VALUES (?)
causes an exception in GdsInetWriter.WriteOpaque
in the line Write(fill, 0, len - buffer.Length);
the value of len is 32 (presumably the size of the CHAR(32) field)
buffer.Length is 96 (why it is not 64 I don't know... thought unicode=20
was 2 bytes per char)
The resulting exception is:
System.ArgumentOutOfRangeException: Non-negative number required.
Parameter name: count
at System.IO.MemoryStream.Write(Byte[] buffer, Int32 offset, Int32 =
count)
at System.IO.BinaryWriter.Write(Byte[] buffer, Int32 index, Int32 =
count)
at FirebirdSql.Data.Firebird.Gds.GdsInetWriter.WriteOpaque(Byte[] =
buffer, Int32 len)
at =
FirebirdSql.Data.Firebird.Gds.GdsInetWriter.WriteParameter(GdsField =
param)
at FirebirdSql.Data.Firebird.Gds.GdsStatement.execute(Boolean isSP)=20
at FirebirdSql.Data.Firebird.Gds.GdsStatement.execute(Boolean isSP)=20
at FirebirdSql.Data.Firebird.Gds.GdsStatement.Execute()=20
at FirebirdSql.Data.Firebird.FbCommand.InternalExecute()=20
at FirebirdSql.Data.Firebird.FbCommand.ExecuteNonQuery()
|