[Delphi] DecisionCube werkt niet meer - waarom?

Pagina: 1
Acties:

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 07:18

Tomatoman

Fulltime prutser

Topicstarter
Sinds een dag krijg ik geen enkele DecisionCube meer aan de praat :(. Telkens als ik een DecisionQuery (of een willekeurige andere DataSet) op Active zet, krijg ik de volgende foutmelding (een ELowCapacityError):
The DecisionCube capacity is low. Please deactivate dimensions or change the data set.
Vervolgens wordt de dataset wel active, maar een DecisionGrid of DecisionGraph toont nog steeds een gesloten DecisionCube. De datasets die ik gebruik zijn heel klein, dus een capaciteitsprobleem lijkt met uitgesloten.

Dit is een totaal nieuw probleem. Het dook ineens op, terwijl ik in de tussentijd niet met Delphi heb gewerkt. Het probleem treedt ook op in oude applicaties met DecisionCubes, die tot op heden prima werkten (en niet opnieuw zijn gecompileerd). Heeft iemand een idee wat er mis is?

Een goede grap mag vrienden kosten.


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Volgens google groups heeft het niets met Delphi te maken, maar met SQL Server. Er wordt alleen geen oplossing gegeven.

http://groups.google.com/....6600%40NewsReader&rnum=1

We adore chaos because we like to restore order - M.C. Escher


Verwijderd

ELowCapacityError

capacity is low .. . er wordt hier niet gezegd de capacity van wie. . . voor het zelfde geld is het je mem capacity. . oftewel . . probleem kan ook bij je system zelf liggen

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 07:18

Tomatoman

Fulltime prutser

Topicstarter
Bedankt LordLarry, toevallig heb ik inderdaad SQL Server 2000 geïnstalleerd. Toch ben ik er inmiddels achter dat de fout door iets anders komt. Ik heb direct na de installatie van SQL Server mijn page file vergroot en dat veroorzaakte de fout. In een Delphi nieuwsgroep heb ik meteen maar even de bug gepost en de workaround die ik heb gevonden.
Hi to all of you,

If you have a lot of physical memory or a large page file, you may find that a DecisionCube raises the following exception whenever the DecisionCube's data set is opened:

Exception class: ELowCapacityError
Message: "The DecisionCube capacity is low. Please deactivate dimensions or change the data set."

Cause
====
The exception will occur whenever the sum of the available physical memory and the available page file memory exceeds 2 GBytes. This is caused by a bug in Delphi - more specifically: an integer being out of range in the procedure GetAvailableMem (unit Mxarrays).

Workaround
==========
Use the code below in any unit of your application.

Regards,
Robin Gerrets

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
uses Mxarrays;

function GetAvailableMem: Integer;
const
  MaxInt: Int64 = High(Integer);
var
  MemStats: TMemoryStatus;
  Available: Int64;
begin
  GlobalMemoryStatus(MemStats);
  if (MemStats.dwAvailPhys > MaxInt) or
    (Longint(MemStats.dwAvailPhys) = -1) then
    Available := MaxInt
  else
    Available := MemStats.dwAvailPhys;
  if (MemStats.dwAvailPageFile > MaxInt) or
    (Longint(MemStats.dwAvailPageFile) = -1) then
    Inc(Available, MaxInt div 2)
  else
    Inc(Available, MemStats.dwAvailPageFile div 2);
  Result := Available mod MaxInt;
end;

initialization
  Mxarrays.SetMemoryCapacity(GetAvailableMem);
end.

[ Voor 0% gewijzigd door Tomatoman op 21-10-2002 00:45 . Reden: opmaak ]

Een goede grap mag vrienden kosten.


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 07:18

Tomatoman

Fulltime prutser

Topicstarter
Voor iedereen die liever niet wil typen: hier kun je de kant en klare code downloaden. :*)

Een goede grap mag vrienden kosten.


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Geweldig.

Ook al bij QualityCentral al aangemeld zodat het de volgende versie gefixed kan worden?
http://codecentral.borlan...cweb.exe/listing?id=17842

We adore chaos because we like to restore order - M.C. Escher


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 07:18

Tomatoman

Fulltime prutser

Topicstarter
LordLarry schreef op 20 oktober 2002 @ 19:17:
Geweldig.

Ook al bij QualityCentral al aangemeld zodat het de volgende versie gefixed kan worden?
Zojuist gedaan.

Een goede grap mag vrienden kosten.

Pagina: 1