2 Replies Latest reply on Sep 16, 2004 7:48 AM by nothi1

    Networktraffic using OO4O and Objects

    nothi1
      Hi all!

      I'm using OO4O in MS VC++ 7.0 (the COM - Interfaces, not the Wrapper Library). On our Database - Server (9.2.0.4) we are storing Geometry - Information using Oracle - Spatial, especially SDO_GEOMETRY - Types.

      Thats how we access these Objects:

                ds = db->GetCreateDynaset(sql, OO::ORADYN_READONLY || OO::ORADYN_NOCACHE);
                long stpc = 0;
                ofs = ds->GetFields();
                of = ofs->GetItem("GEOM");
                obj = of->GetValue();
                att = obj->GetItem(_variant_t(5L)); // Das 5.te Attribut eines SDO_GEOMETRY Objektes ist das Koordinaten - Array
                col = att->GetValue();

                while (!ds->EndOF)
                {
                     if (!obj->IsNull)
                     {
                          stpc += col->Getsize();
                     }
                     ds->MoveNext();
                }

      As you can see, I'm just reading the size of an Array, which is an Attribute of the SDO_GEOMETRY - Objekt embedded in the Dynaset.

      My Problem is:
      When the query returns more than a specific amount or Rows (Objects), the Network - Traffic dramatically increases.

      Example:
      When I query 2000 Rows (with Geoms), I measure 1600 Packets (1.1 MBytes on the line).
      When I query 2100 Rows (with Geoms), I measure 4400 Packets (2.5 MBytes on the line).
      Querying 3000 Rows (with Geoms), I measure 16255 Packets (about 6Mbytes on the wire).
      And this gets worse...

      Transfering the same Data with the OCCI - Interface shows a linear traffic to data - relation.

      Has anyone faced the same Problem?

      thanx in advance,
      Nothi