Thursday, March 29, 2012
Deserialization failed - how to fix?
Have got the following message:
Deserialization failed: The table "table1" has rows that contain a different
number of cells than the number of the columns in the table (including cells
that span more than one column)
The report was fine until: I changed in the Code window the name of a
dataset field as it was used in 15 places for look and feel and it's quicker
to do it in the Code window via Search and Replace (have done this before).
The table 'table1' has a couple of merged cells, but these don't even use
this field. However it seems to me that the problem is related to the merged
cells.
I've changed it back in the code window, but the error remains. I can't
even see the report in Designer view anymore, just this error message. I can
still view the code.
Help! Have just spent days.
CR.Save the RDL, delete the report and re-add the RDL , That should get rid of
any former information in the RSS database and let you start anew.
--
Wayne Snyder, MCDBA, SQL Server MVP
Mariner, Charlotte, NC
www.mariner-usa.com
(Please respond only to the newsgroups.)
I support the Professional Association of SQL Server (PASS) and it's
community of SQL Server professionals.
www.sqlpass.org
"CR" <CR@.discussions.microsoft.com> wrote in message
news:0799C041-FCE0-41F2-9403-9F42C60800F0@.microsoft.com...
> Hi,
> Have got the following message:
> Deserialization failed: The table "table1" has rows that contain a
different
> number of cells than the number of the columns in the table (including
cells
> that span more than one column)
> The report was fine until: I changed in the Code window the name of a
> dataset field as it was used in 15 places for look and feel and it's
quicker
> to do it in the Code window via Search and Replace (have done this
before).
> The table 'table1' has a couple of merged cells, but these don't even use
> this field. However it seems to me that the problem is related to the
merged
> cells.
> I've changed it back in the code window, but the error remains. I can't
> even see the report in Designer view anymore, just this error message. I
can
> still view the code.
> Help! Have just spent days.
> CR.
>|||Have saved then deleted the RDL from the .NET project, then re-added. Is this
what you meant? The problem remains. Not sure what you mean by 'RSS'
database.
"Wayne Snyder" wrote:
> Save the RDL, delete the report and re-add the RDL , That should get rid of
> any former information in the RSS database and let you start anew.
> --
> Wayne Snyder, MCDBA, SQL Server MVP
> Mariner, Charlotte, NC
> www.mariner-usa.com
> (Please respond only to the newsgroups.)
> I support the Professional Association of SQL Server (PASS) and it's
> community of SQL Server professionals.
> www.sqlpass.org
> "CR" <CR@.discussions.microsoft.com> wrote in message
> news:0799C041-FCE0-41F2-9403-9F42C60800F0@.microsoft.com...
> > Hi,
> >
> > Have got the following message:
> > Deserialization failed: The table "table1" has rows that contain a
> different
> > number of cells than the number of the columns in the table (including
> cells
> > that span more than one column)
> >
> > The report was fine until: I changed in the Code window the name of a
> > dataset field as it was used in 15 places for look and feel and it's
> quicker
> > to do it in the Code window via Search and Replace (have done this
> before).
> > The table 'table1' has a couple of merged cells, but these don't even use
> > this field. However it seems to me that the problem is related to the
> merged
> > cells.
> >
> > I've changed it back in the code window, but the error remains. I can't
> > even see the report in Designer view anymore, just this error message. I
> can
> > still view the code.
> >
> > Help! Have just spent days.
> >
> > CR.
> >
>
>|||I think he meant to delete from the server. (Using Report Manager)
--
Cheers,
'(' Jeff A. Stucker
\
Business Intelligence
www.criadvantage.com
---
"CR" <CR@.discussions.microsoft.com> wrote in message
news:4AC3E1CC-5B9C-426C-877F-7704A66FCA2C@.microsoft.com...
> Have saved then deleted the RDL from the .NET project, then re-added. Is
> this
> what you meant? The problem remains. Not sure what you mean by 'RSS'
> database.
> "Wayne Snyder" wrote:
>> Save the RDL, delete the report and re-add the RDL , That should get rid
>> of
>> any former information in the RSS database and let you start anew.
>> --
>> Wayne Snyder, MCDBA, SQL Server MVP
>> Mariner, Charlotte, NC
>> www.mariner-usa.com
>> (Please respond only to the newsgroups.)
>> I support the Professional Association of SQL Server (PASS) and it's
>> community of SQL Server professionals.
>> www.sqlpass.org
>> "CR" <CR@.discussions.microsoft.com> wrote in message
>> news:0799C041-FCE0-41F2-9403-9F42C60800F0@.microsoft.com...
>> > Hi,
>> >
>> > Have got the following message:
>> > Deserialization failed: The table "table1" has rows that contain a
>> different
>> > number of cells than the number of the columns in the table (including
>> cells
>> > that span more than one column)
>> >
>> > The report was fine until: I changed in the Code window the name of a
>> > dataset field as it was used in 15 places for look and feel and it's
>> quicker
>> > to do it in the Code window via Search and Replace (have done this
>> before).
>> > The table 'table1' has a couple of merged cells, but these don't even
>> > use
>> > this field. However it seems to me that the problem is related to the
>> merged
>> > cells.
>> >
>> > I've changed it back in the code window, but the error remains. I
>> > can't
>> > even see the report in Designer view anymore, just this error message.
>> > I
>> can
>> > still view the code.
>> >
>> > Help! Have just spent days.
>> >
>> > CR.
>> >
>>|||Thanks both. I also deleted from ReportServer database. However can't
re-deploy due to Build failure with the original message.
It seems to me there's an issue with using Search and Replace in the Code
Window when merged cells are used in the table. Even when the merged cells
don't use the item you've editted. Have used Search/replace a lot and never
an issue, only in this case.
Wondering if anyone has found this also.
Cheers,
CR.
"Jeff A. Stucker" wrote:
> I think he meant to delete from the server. (Using Report Manager)
> --
> Cheers,
> '(' Jeff A. Stucker
> \
> Business Intelligence
> www.criadvantage.com
> ---
> "CR" <CR@.discussions.microsoft.com> wrote in message
> news:4AC3E1CC-5B9C-426C-877F-7704A66FCA2C@.microsoft.com...
> > Have saved then deleted the RDL from the .NET project, then re-added. Is
> > this
> > what you meant? The problem remains. Not sure what you mean by 'RSS'
> > database.
> >
> > "Wayne Snyder" wrote:
> >
> >> Save the RDL, delete the report and re-add the RDL , That should get rid
> >> of
> >> any former information in the RSS database and let you start anew.
> >>
> >> --
> >> Wayne Snyder, MCDBA, SQL Server MVP
> >> Mariner, Charlotte, NC
> >> www.mariner-usa.com
> >> (Please respond only to the newsgroups.)
> >>
> >> I support the Professional Association of SQL Server (PASS) and it's
> >> community of SQL Server professionals.
> >> www.sqlpass.org
> >>
> >> "CR" <CR@.discussions.microsoft.com> wrote in message
> >> news:0799C041-FCE0-41F2-9403-9F42C60800F0@.microsoft.com...
> >> > Hi,
> >> >
> >> > Have got the following message:
> >> > Deserialization failed: The table "table1" has rows that contain a
> >> different
> >> > number of cells than the number of the columns in the table (including
> >> cells
> >> > that span more than one column)
> >> >
> >> > The report was fine until: I changed in the Code window the name of a
> >> > dataset field as it was used in 15 places for look and feel and it's
> >> quicker
> >> > to do it in the Code window via Search and Replace (have done this
> >> before).
> >> > The table 'table1' has a couple of merged cells, but these don't even
> >> > use
> >> > this field. However it seems to me that the problem is related to the
> >> merged
> >> > cells.
> >> >
> >> > I've changed it back in the code window, but the error remains. I
> >> > can't
> >> > even see the report in Designer view anymore, just this error message.
> >> > I
> >> can
> >> > still view the code.
> >> >
> >> > Help! Have just spent days.
> >> >
> >> > CR.
> >> >
> >>
> >>
> >>
>
>|||Using visual studio.net, un-merge the cells in your report (from the layout tab), then run the report. Now go back to report in the layout tab and merge your cells. I found that this worked for me.
Cheers
B
--
Message posted via http://www.sqlmonster.com
Deserialization failed
following error:
Deserialization failed: The table "table2" has rows that contain a different
number of cells than the number of the columns in the table (including cells
that span more than one column)
Is there a way to fix this without redoing the whole report. The designer
won't show it in the layout window.
Thanks,
DavidI don't have a solution to your problem per se but I can tell you when it
seems to occur.
This happens to me when I cut/copy and paste columns that contain merged
cells. The merged cells themselves are ok. It seems that the copy/paste of
them doesn't work properly.
If I need to copy them now I unmerge them first copy then and merge them
back.
If this happens before you have exited the designer, you can usually salvage
your work by deleting the pasted rows in design view. After you have exited
the designer, it will no longer load the report into design view so short of
editing the rdl file manually (Which seems like it would be painful) I do
not know how to recover from this.
This appears to be a bug in the designer. Has anyone else experienced this?
General Patton
"CapitalEMR" <CapHS@.hvif.com> wrote in message
news:uCe3$gqVFHA.544@.TK2MSFTNGP15.phx.gbl...
> I created a table with merged cells - etc. tried to render it and got the
> following error:
> Deserialization failed: The table "table2" has rows that contain a
different
> number of cells than the number of the columns in the table (including
cells
> that span more than one column)
> Is there a way to fix this without redoing the whole report. The designer
> won't show it in the layout window.
> Thanks,
> David
>|||Yes, this is a known problem in Report Designer.
--
Albert Yen
SQL Server Reporting Services
This posting is provided "AS IS" with no warranties, and confers no rights.
"General_Patton" <general_patton@.community.nospam.com> wrote in message
news:OyR9In$VFHA.2196@.TK2MSFTNGP09.phx.gbl...
>I don't have a solution to your problem per se but I can tell you when it
> seems to occur.
> This happens to me when I cut/copy and paste columns that contain merged
> cells. The merged cells themselves are ok. It seems that the copy/paste of
> them doesn't work properly.
> If I need to copy them now I unmerge them first copy then and merge them
> back.
> If this happens before you have exited the designer, you can usually
> salvage
> your work by deleting the pasted rows in design view. After you have
> exited
> the designer, it will no longer load the report into design view so short
> of
> editing the rdl file manually (Which seems like it would be painful) I do
> not know how to recover from this.
> This appears to be a bug in the designer. Has anyone else experienced
> this?
> General Patton
>
>
> "CapitalEMR" <CapHS@.hvif.com> wrote in message
> news:uCe3$gqVFHA.544@.TK2MSFTNGP15.phx.gbl...
>> I created a table with merged cells - etc. tried to render it and got the
>> following error:
>> Deserialization failed: The table "table2" has rows that contain a
> different
>> number of cells than the number of the columns in the table (including
> cells
>> that span more than one column)
>> Is there a way to fix this without redoing the whole report. The
>> designer
>> won't show it in the layout window.
>> Thanks,
>> David
>>
>|||"Albert Yen [MSFT]" wrote:
> Yes, this is a known problem in Report Designer.
That's really great you already know that. The question is, if there is some
RDL hack how one can remedy the problem. I've worked on a report for four
hours now and suddenly I've got that "Deserialization failed" error message.
Please, don't tell me I've got to do that work again!
Desapering rows
I have an mdx query which return some rows and for some values there are null values for 1 column (it's ok). But when the report is rendered have disapeared all these rows. I need to show these rows because they have value for other columns.
Thanks in advance.I refresh the datasource by editing the query and refresh and that's all.
I don't know what happend.
Deriving unique rows from historical data
Whenever an employee arrives at a location (whether it is arriving for
work, or at one of the company's other sites) they scan the barcode on
their employee badge. This writes a record to the tblTSCollected table
(DDL and dummy data below).
The application needs to be able to display to staff in a control room
the CURRENT location of each employee.
>From the data I've provided, this would be:
EMPLOYEE ID LOCATION CODE
963 VB002
964 VB003
966 VB003
968 VB004
977 VB001
982 VB001
Note that, for example, Employee 963 had formerly been at VB001 but was
more recently logged in at VB002, so therefore the application is not
concerned with the earlier record.
What would also be particularly useful would be the NUMBER of staff at
each location - viz.
LOCATION CODE NUM STAFF
VB001 2
VB002 1
VB003 2
VB004 1
Can anyone help?
Many thanks in advance
Edward
NOTES ON DDL:
THE BARCODE IS CAPTURED BECAUSE THE COMPANY MAY RE-USE BARCODE NUMBERS
(WHICH IS DERIVED FROM THE EMPLOYEE PIN), SO THEREFORE THE BARCODE
CANNOT BE RELIED UPON TO BE UNIQUE.
THE COLUMN fldRuleAppliedID IS NULL BECAUSE THAT PARTICULAR ROW HAS NOT
BEEN PROCESSED. THERE ARE BUSINESS RULES CONCERNING EMPLOYEE HOURS
WHICH OPERATE ON THIS DATA. ONCE A ROW HAS BEEN PROCESSED FOR
UPLOADING TO THE PAYROLL APPLICATION, THE fldRuleAppliedID COLUMN WILL
CONTAIN A VALUE. IN THE PRODUCTION SYSTEM, THEREFORE, ANY SQL AS
REQUESTED ABOVE WILL CONTAIN IN ITS WHERE CLAUSE (fldRuleAppliedID Is
NULL)
if exists (select * from dbo.sysobjects where id =
object_id(N'[dbo].[tblTSCollected]') and OBJECTPROPERTY(id,
N'IsUserTable') = 1)
drop table [dbo].[tblTSCollected]
GO
CREATE TABLE [dbo].[tblTSCollected] (
[fldCollectedID] [int] IDENTITY (1, 1) NOT NULL ,
[fldEmployeeID] [int] NULL ,
[fldLocationCode] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS
NULL ,
[fldTimeStamp] [datetime] NULL ,
[fldRuleAppliedID] [int] NULL ,
[fldBarCode] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY]
GO
INSERT INTO dbo.tblTSCollected
(fldEmployeeID,
fldLocationCode,
fldTimeStamp,
fldBarCode)
VALUES (
963, 'VB001', '2005-10-18 11:59:27.383', 45480)
INSERT INTO dbo.tblTSCollected
(fldEmployeeID,
fldLocationCode,
fldTimeStamp,
fldBarCode)
VALUES (
963, 'VB002', '2005-10-18 12:06:17.833', 45480)
INSERT INTO dbo.tblTSCollected
(fldEmployeeID,
fldLocationCode,
fldTimeStamp,
fldBarCode)
VALUES (
964, 'VB001', '2005-10-18 12:56:20.690', 45481)
INSERT INTO dbo.tblTSCollected
(fldEmployeeID,
fldLocationCode,
fldTimeStamp,
fldBarCode)
VALUES (964, 'VB002', '2005-10-18 15:30:35.117', 45481)
INSERT INTO dbo.tblTSCollected
(fldEmployeeID,
fldLocationCode,
fldTimeStamp,
fldBarCode)
VALUES (964, 'VB003', '2005-10-18 16:05:05.880', 45481)
INSERT INTO dbo.tblTSCollected
(fldEmployeeID,
fldLocationCode,
fldTimeStamp,
fldBarCode)
VALUES (966, 'VB001', '2005-10-18 11:52:28.307', 97678)
INSERT INTO dbo.tblTSCollected
(fldEmployeeID,
fldLocationCode,
fldTimeStamp,
fldBarCode)
VALUES (966, 'VB002', '2005-10-18 13:59:34.807', 97678)
INSERT INTO dbo.tblTSCollected
(fldEmployeeID,
fldLocationCode,
fldTimeStamp,
fldBarCode)
VALUES (966, 'VB001', '2005-10-18 14:04:55.820', 97678)
INSERT INTO dbo.tblTSCollected
(fldEmployeeID,
fldLocationCode,
fldTimeStamp,
fldBarCode)
VALUES (966, 'VB003', '2005-10-18 16:10:01.943', 97678)
INSERT INTO dbo.tblTSCollected
(fldEmployeeID,
fldLocationCode,
fldTimeStamp,
fldBarCode)
VALUES (968, 'VB001', '2005-10-18 11:59:34.307', 98374)
INSERT INTO dbo.tblTSCollected
(fldEmployeeID,
fldLocationCode,
fldTimeStamp,
fldBarCode)
VALUES (968, 'VB002', '2005-10-18 12:04:56.037', 98374)
INSERT INTO dbo.tblTSCollected
(fldEmployeeID,
fldLocationCode,
fldTimeStamp,
fldBarCode)
VALUES (968, 'VB004', '2005-10-18 12:10:02.723', 98374)
INSERT INTO dbo.tblTSCollected
(fldEmployeeID,
fldLocationCode,
fldTimeStamp,
fldBarCode)
VALUES (977, 'VB001', '2005-10-18 12:05:06.630', 96879)
INSERT INTO dbo.tblTSCollected
(fldEmployeeID,
fldLocationCode,
fldTimeStamp,
fldBarCode)
VALUES (982, 'VB001', '2005-10-18 12:06:13.787', 96697)On 25 Oct 2005 02:30:17 -0700, teddysnips@.hotmail.com wrote:
>My application is to capture employee locations.
>Whenever an employee arrives at a location (whether it is arriving for
>work, or at one of the company's other sites) they scan the barcode on
>their employee badge. This writes a record to the tblTSCollected table
>(DDL and dummy data below).
Hi Edward,
Thanks for posting the DDL and the data - makes writing and testing a
sloution so much easier!!
>The application needs to be able to display to staff in a control room
>the CURRENT location of each employee.
>>From the data I've provided, this would be:
>EMPLOYEE ID LOCATION CODE
>963 VB002
>964 VB003
>966 VB003
>968 VB004
>977 VB001
>982 VB001
This query works for the data given:
SELECT a.fldEmployeeID, a.fldLocationCode
FROM tblTSCollected AS a
WHERE NOT EXISTS
(SELECT *
FROM tblTSCollected AS b
WHERE b.fldEmployeeID = a.fldEmployeeID
AND b.fldTimeStamp > a.fldTimeStamp)
Since the data in the table is checked against the data in the table
itself, execution time might explode if the table has lots of rows. That
can be controlled with proper indexing. A non-clustered index on
(fldEmployeeID, fldTimeStamp) would do wonders for this query (but be
aware that it might hurt performance in other parts of your system!)
>What would also be particularly useful would be the NUMBER of staff at
>each location - viz.
>LOCATION CODE NUM STAFF
>VB001 2
>VB002 1
>VB003 2
>VB004 1
Using the previous query as a starting point:
SELECT a.fldLocationCode, COUNT(*) AS Num_Staff
FROM tblTSCollected AS a
WHERE NOT EXISTS
(SELECT *
FROM tblTSCollected AS b
WHERE b.fldEmployeeID = a.fldEmployeeID
AND b.fldTimeStamp > a.fldTimeStamp)
GROUP BY a.fldLocationCode
Best, Hugo
--
(Remove _NO_ and _SPAM_ to get my e-mail address)|||Hugo Kornelis wrote:
> On 25 Oct 2005 02:30:17 -0700, teddysnips@.hotmail.com wrote:
[...]
> Best, Hugo
Many thanks, Hugo. That does the trick perfectly!
Edward|||Your DDL is wrong in almost every way possible. IDENTITY is not a key,
barcodes are fixed length and none of them are CHAR(50) -- you never
did even the minimal research!! You use the magical, "I have no
brains!!" VARCHAR(50) all over the place, TIMESTAMP is a reserved word
in SQL, etc.
Where did you get the stupid idea that you need to put "fld-" and
"tbl-" prefixes on names? In violation of both common sense and
ISO-11179? One of the major principles of RDBMS is to avoid redundance;
Do you put "noun-" in your English?
When you design a history table, you need to learn that time comes in
durations; you need a (stsrt, end). You need to think of the schema as
a whole and not a bunch disjoint files. you need to avoid havign more
NULLs than the entie payroll of Genral Motors. More like this: .
CREATE TABLE EmpLocationHistory
(emp_id INTEGER NOT NULL
REFERENCES Personnel(emp_id)
ON UPDATE CASCADE,
location_code INTEGER NOT NULL
REFERENCES Locations(location_code)
ON UPDATE CASCADE,
start_time DATETIME NOT NULL,
end_time DATETIME, -- null means current
CHECK (start_time < end_time),
PRIMARY KEY (emp_id, location_code,start_time),
etc. );
Google how to code for this schema.
Among the errors in this posting, you do not know that SQL uses
ISO-8601 format for temporal data. You might want to look at the
research on camelCase and program readability; it sucks because the eye
jumps to the uppercase letter then flicks back to the start of the
word.
I was not kidding when I said that your code is wrong in almost every
way possible.|||Wow! Where can I send you some money so you can buy your medication
and calm the fuck down?
There is a right way and a wrong way to correct people. You use the
wrong (read, asshole) way. There is no call for lines like "I have no
brains!!" or "stupid idea".
Being civil is worth so much more than posting DDL or not calling a
column a field and a row a record.
Get a grip and be nicer.