[FireDac][DatS]-32.Variable length column overflow executing SELECT stateme

When executing the "SELECT * FROM DATA_OLD" statement in a FireBird 2.5.3 table I get the following error message:

[FireDac][DatS]-32. Variable length column [ORIGIN] overflow. Value length - [4], column maximum length - [1].

The [ORIGIN] column is defined as VARCHAR(1), and only can contain the followin characters "C", "W" or "M", after checking the table all records have a valid value in this column, and  there is no any  null or empy value in any record.

The character set of the  table ( all tables as it is defined at Database level) is UTF8.

Anyone knows how to solve this ?
-1
Jorge
12/11/2014 5:14:45 PM
embarcadero.delphi.firedac 822 articles. 2 followers. Follow

4 Replies
4343 Views

Similar Articles

[PageSpeed] 21

> Anyone knows how to solve this ?

Could you please send simple test application + DB file to me ?
dmitry dot arefiev at embarcadero dot com

-- 
With best regards,
Dmitry Arefiev / FireDAC Architect
0
Dmitry
12/12/2014 7:50:10 AM
> {quote:title=Dmitry Arefiev wrote:}{quote}
> > Anyone knows how to solve this ?
> 
> Could you please send simple test application + DB file to me ?
> dmitry dot arefiev at embarcadero dot com
> 
> -- 
> With best regards,
> Dmitry Arefiev / FireDAC Architect

Hi Dmtry email sent !!

Also I've found that changing the column from VARCHAR(1) to CHAR(1) the error message is not shown anymore
1
Jorge
12/12/2014 6:32:14 PM
> Also I've found that changing the column from VARCHAR(1) to CHAR(1) the error message is not shown anymore

I checked. The value stored in the column is 'C   ' (C and 3 spaces).
This does not correspond to the CHAR(1), where 1 = 1 character.
I understand, that with UTF8 encoding the CHAR(1) means CHAR(4 bytes).
Still describing CHAR(1) as dtWideChar(4 chars) may lead to other
questions, like "why it is 4 chars long, if it is defined 1 char long ?".
That was in past, so the decision was to more "honestly / precisely"
define character fields.

Two options:
- use VARCHAR(1), and then trailing spaces will be not stored;
- set FormatOptions.StrsTrim2Len to True, then FireDAC will trim the value to 1 character.

-- 
With best regards,
Dmitry Arefiev / FireDAC Architect
0
Dmitry
12/15/2014 1:01:01 AM
> {quote:title=Dmitry Arefiev wrote:}{quote}
> > Also I've found that changing the column from VARCHAR(1) to CHAR(1) the error message is not shown anymore
> 
> I checked. The value stored in the column is 'C   ' (C and 3 spaces).
> This does not correspond to the CHAR(1), where 1 = 1 character.
> I understand, that with UTF8 encoding the CHAR(1) means CHAR(4 bytes).
> Still describing CHAR(1) as dtWideChar(4 chars) may lead to other
> questions, like "why it is 4 chars long, if it is defined 1 char long ?".
> That was in past, so the decision was to more "honestly / precisely"
> define character fields.
> 
> Two options:
> - use VARCHAR(1), and then trailing spaces will be not stored;
> - set FormatOptions.StrsTrim2Len to True, then FireDAC will trim the value to 1 character.
> 
> -- 
> With best regards,
> Dmitry Arefiev / FireDAC Architect

Hi Dmitry, thanks for you time.

I'm litlle bit confused as the database I shared with you has the problematic field defined as VARCHAR(1), and you're giving me as solution just this definition, do you mean CHAR(1) ?

I've checked also that if I empty the table and populate it again with new data , the problem also disappears, so it depends on data or on metadata ?

Regards.
0
Jorge
12/15/2014 1:01:01 AM
Reply:

Similar Artilces:

Variable length column overflow Exception in FDQuery [FireDAC][DatS]-32
I got this exception when issuing SHOW SLAVE STATUS query. Variable length column overflow Exception in FDQuery [FireDAC][DatS]-32. Variable length column[Slave_IO_State] overflow. Value length - [32], column maximum length - [14]. How can i make maximum colun size larrger? Found it! Charset shouldn't be set to utf8 > {quote:title=Marko Ravnik wrote:}{quote} > I got this exception when issuing SHOW SLAVE STATUS query. > > Variable length column overflow Exception in FDQuery [FireDAC][DatS]-32. > Variable length column[Slave_IO_State] overflow. Value length...

GUID Ending With X'00' Causes FireDAC Exception [FireDAC][DatS]-10. Fixed length column [field-name] data length mismatch.
I have been having intermittent difficulties with GUID fields in Interbase. I have finally been able to determine that I can reliably recreate the FireDAC exception by making sure that the low order byte of the GUID posted to the database has the value X'00'. Likewise, if I ensure that the low order byte does not have this value the FireDAC exception never appears. This looks suspiciously like something is counting a length by using null-terminated string logic. A GUID is a 128 bit number and any value from all X'00' through all X'FF' is valid, so null-...

FireDAC and Delphi Pro XE4... firedac tab not visible?
I am moving from a very old Borland product (2006) to Delphi XE4 Professional with FireDAC addon. I purchased both from Embarcadero, and have downloaded both. The documentation says the FireDAC components should automagically appear in the tabset for Delphi. They do not. I don't want to fool around too much as my environment is strictly controlled by IT, and they are very slow to do anything. Is there something that I should have done, but did not do? I installed XE4 first, registered it, then used the link in my email from Embarcadero to download the FireDAC components. Then I ra...

Firedac Error: "[Firedac][DatS]-15. Duplicate row found on unique index."
Hello, I am using Firedac 8 with Firebird 2.5 on Delphi 2007. I have a table with an primary index on SIndex (integer), and an index defined as: CREATE UNIQUE DESC INDEX idx_Plans_Prj_Id ON Plans (SIndex) When I open a TADTable without IndexName (so, primary index is used), everything works. When I open the same TADTable with IndexName = 'idx_Plans_Prj_Id' I get the error message: "[Firedac][DatS]-15. Duplicate row found on unique index. Constraint [RDB$PRIMARY11]" (rdb$primary11 is the primary index of Plans table). The SIndex is unique by construction...

FireDac
Hello, I am using Delphi XE4 and facing a problem with FireDac (8.0.5) and MySQL. I'm trying to get the last 100 records from a large table (20 million rows). When I run the following SQL: {code}select * from largetable order by FId limit 100{code} in MySQL Workbench it returns in 0.2 seconds. When I run the above SQL in Delphi through an ADQuery it never returns (Delphi freezes). Any Ideas ? Thank you ...

ordering columns of crosstab report and variable length columns
Is it possible to order the columns of a crosstab report in a particular order. Can crystal reports handle result sets whose no. of columns may vary. Thanks a lot  Hi, yes we can order the columns, for this In Cross tab expert select the GroupOptions in that column list. In that Group Options select the Specified Order format instead of ascending or desending order . In the specified order tab. you can add your specified order , run the report once in crystal itself so that the specified order list will be filled automatically, so that you can select the order and you can chang...

FireDAC Interbase SQL execution fails when IBScript execution does not
Hello, I am making a table in Interbase XE3 using FireDAC that looks like the following: {code} CREATE TABLE "CardTypes" ( "CardTypeID" INTEGER DEFAULT 1 NOT NULL, "CardTypeName" VARCHAR(30) NOT NULL, PRIMARY KEY ("CardTypeID") ); /* Generator and Trigger for CardTypeID */ CREATE GENERATOR "GenCardID"; SET GENERATOR "GenCardID" TO 100; CREATE TRIGGER "IncCardID" FOR "CardTypes" BEFORE INSERT AS BEGIN NEW."CardTypeID" = GEN_ID("GenCardID", 1); END; INSERT INTO &q...

FireDac Delphi Xe2
Hello, I have FireDac components installed to Delphi Xe2, My version of FireDac is 8.0.1 but in this version I have probelm with TAdoquery with StrsEmpty2Null param. It doesn't work. Maybe someone know what I have to change in FiredAc source to remove this issue. To set the Param on NULL value before executing the query I do: {code} with qryExample.ParamByName('Example_id') do Begin DataType:=ftInteger; Clear; // Bound := True; End; {code} > {quote:title=Robert Triest wrote:}{quote} > To set the Param on NULL value before executing the query I do: >...

FireDac Delphi Xe2
Hello, I have FireDac components installed to Delphi Xe2, My version of FireDac is 8.0.1 but in this version I have probelm with TAdoquery with StrsEmpty2Null param. It doesn't work. Maybe someone know what I have to change in FiredAc source to remove this issue. To set the Param on NULL value before executing the query I do: {code} with qryExample.ParamByName('Example_id') do Begin DataType:=ftInteger; Clear; // Bound := True; End; {code} > {quote:title=Robert Triest wrote:}{quote} > To set the Param on NULL value before executing the query I do: >...

[FireDAC][DatS]-15.
I am getting "[FireDAC][DatS]-15. Duplicate row found on unique index.Constraint [RDB$PRIMARY9]" when navigating in TADTable ? What that means ? I can't find any duplicate row in the primary indexed fields. I working with Delphi XE5/win8.1/64, Firebird embedded database, FireDac components. Hello Jukka http://docwiki.embarcadero.com/RADStudio/XE5/en/Browsing_Tables_(FireDAC)#Avoiding_.22Unique_Key_Violation.22_Error_in_LDW_Mode -- With best regards, Dmitry Arefiev / FireDAC Architect FireDAC - Firebird, SQLite, MySQL, SQL Server, Oracle, PostgreSQL, DB2, SQL Anywher...

It is FireDAC after all
Marco announces FireDAC: http://blog.marcocantu.com/blog/firedac_announced.html -- Nick The Buy Now button almost work ;-) > {quote:title=Nick Hodges wrote:}{quote} > Marco announces FireDAC: > > http://blog.marcocantu.com/blog/firedac_announced.html > That was fast :) delete this message > What's the price for XE3 Pro licensees? Introductory price is $399 -- With best regards, Dmitry Arefiev / FireDAC Architect http://www.embarcadero.com/products/rad-studio/firedac > All the links I found just go to a page that lets you purchase Delp...

FireDac Delphi Xe2
Hello, I have FireDac components installed to Delphi Xe2, My version of FireDac is 8.0.1 but in this version I have probelm with TAdoquery with StrsEmpty2Null param. It doesn't work. Maybe someone know what I have to change in FiredAc source ro remove this issue. I suggest to the FireDAC newgroup. You'll probably get a better response there. Sebastian Kumor wrote: > Hello, > I have FireDac components installed to Delphi Xe2, > My version of FireDac is 8.0.1 but in this version I have probelm with TAdoquery with StrsEmpty2Null param. > It doesn't work. Mayb...

FireDAC?
I'm starting a new development initiative and want to pick the tech that will last the longest and have the most complete feature set. Elsewhere someone noted that DBExpress has been deprecated in favour of FireDAC. I seem to have missed the announcement of FireDAC. So I'm looking for any info on what FireDAC is and why I should use it. Any links? I just discovered the FireDAC newsgroup and the first message there is an announcement with links to the product info and documentation. So my basic question (What is it?) is answered. Still don't know the future of DBExpr...

FireDAC select driver
my pc sql server driver has three kind ,SQLSERV32.DLL、SQLNCLI10.DLL、SQLNCLI11.DLL I add TFDPhysMSSQLDriverLink 、 FDConnection MSSQL driver auto select SQLNCLI11.DLL,but my MSSQL is SQL2000, link ERROR ...

Web resources about - [FireDac][DatS]-32.Variable length column overflow executing SELECT stateme - embarcadero.delphi.firedac

Resources last updated: 1/21/2016 11:06:31 PM