Page 1 of 2

Relationship

Posted: Mon Dec 13, 2010 10:01 am
by fkmfkm
I try to create relation between a use pass in data and another direct from MSSQL.


I am getting this error ...

Parent Data Source 'POrder' and Child Data Source 'Invoice' is not located in one DataSet and can't be used in relation 'Name'! You can't use property CacheAllData of report to cache this Data Source to DataSet.


How should I link them ?

Relationship

Posted: Tue Dec 14, 2010 3:40 am
by Ivan
Hello,

Please try to set the CacheAllData property of the report to true.

Thank you.

Relationship

Posted: Tue Dec 14, 2010 6:48 pm
by fkmfkm
After setting to True it does print out.

But All the child record is printed for each master record.

I have set the relation between the master and the child.

Relationship

Posted: Tue Dec 14, 2010 7:43 pm
by fkmfkm
oh my mistake i forgot to set the DataRelation property of the detail band.

I mis read the documentation.

Relationship

Posted: Tue Dec 14, 2010 10:34 pm
by Andrew
Hello,

Do I understand you correct that the issue is solved?

Thank you.

Relationship

Posted: Wed Dec 15, 2010 12:46 am
by fkmfkm
Yes the issue is solved. Thank you very much.

Relationship

Posted: Wed Dec 15, 2010 1:28 am
by Andrew
Ok!

Have a nice day!

Relationship

Posted: Thu Mar 10, 2011 8:42 pm
by jay@bplogix.com
The CacheAllData property worked for me in this same situation, thanks ...

But can you explain what this property actually does? What are the negatives to setting this to true? e.g. Does it load the entire DataSource into memory ... does it make the report slower ... does it increase memory utilization?

Thanks!

Relationship

Posted: Fri Mar 11, 2011 5:15 am
by Alex K.
Hello,

If you enable this property, all data are immediately loaded into a dataset, i.e. this increases the amount of memory, but the speed of the report performance increases. And it is possible to create relations between data sources.

Thank you.

Relationship

Posted: Fri Mar 11, 2011 1:30 pm
by jay@bplogix.com
Does this property cause ALL datasources to be loaded ... even if they are not actually used in the report?

I need to automatically create the DataSources for the report designers ... and one of the tables in this Datasource may have 20,000 records (or much more). Most reports will never need to access this table. Will this setting cause all reports that use that DataSource to read in all 20,000 records when the report is run, even though the report may not actually use that table in an relationship or on a data band? Is there a way to be more "precise" on which DataSources are completely read into memory?

Thanks!