Problems with OCI in embedded app

From: Jay Miller <Jay.Miller_at_remove-this-part.via-it.com>
Date: Tue, 13 May 2003 11:21:34 -0400
Message-ID: <ImudnUdNKYZykVyjXTWcqw_at_comcast.com>


We have an C application that runs in a manufacturing environment under MS-DOS 6 terminal with 1MB of memory. It has been running reasonably well now for some time compiled with Pro*C 1.3 from Oracle 6. I have recently started migrating it to OCI, and I would like to update to a more recent version. Our customers are using Oracle 8i and up for the most part. But the OCI libraries that come with 8i are not compatable with MSVC 1.52 (the most recent version that will compile 16-bit apps), and the Pro*C libraries appear to be DLL only. It looks like Oracle 7 has a ORA7DOS.LIB that may be compatable, but I can't figure out how to get ahold of Oracle 7 libraries. Can anyone help me here? I'm not trying to bypass licensing. I'm just trying to find the tool that will work in our environment so we can continue to sell more Oracle licenses to our customers.

The Oracle 6 OCI interface (don't know which version that is) works reasonably well, and since I've started using it I've been able to reduce the executable size substantially. The only trouble I'm seeing is the odefin() function, which seems to be about half the speed of the comparable Pro*C calls. From what I've read OCI should be faster all around than Pro*C, but we have one table with 100 columns that gets loaded regularly, and the reduction in speed since switching to OCI is unacceptable. Overall, the application performs acceptably, until it hits those 100 calls to odefin(), which take 3 seconds or more to execute. Is there an alternative that I am overlooking? When I look at the output from the precompiler, I see that Pro*C loads all of the output variable definitions into a large array and then calls one function, passing the arrays, to define them all at once. Does OCI perhaps have a similar option that I'm not seeing?

Thanks,
Jay Miller
Rochester, MI Received on Tue May 13 2003 - 17:21:34 CEST

Original text of this message