I just started using the direct path load features provided by the OCILIB on Linux SUSE. The version I am using is the latest 3.12.1. Here are my questions.
OCI_DirPathPrepare() takes too long on a partition table. I modified the demo app and trying to load some records to a partition table - about 1000 partitions, and the prepare takes about 2 minutes, is there any better way to do it?
As I embedded the ocilib methods into my C++ code, one method I am having trouble with is OCI_DirPathSetEntry(). Say I have an number column and int input, can I do something like this:
for (i = 0; i <=1000; i++)
{
dtext val1[21];
sprintf(val1, "%d", number1);
OCI_DirPathSetEntry(dp, i, val1, 20, NULL)
....
}
also, if I have C++ string value, say string s1, and when I call OCI_DirPathSetEntry, can I do something like this:
dtext val2[21];
sprintf(val2,s1.c_str());
DirPathSetEntry(dp, i, val2, 20, NULL);
How to load records that (NumberOfRecords % SIZE_ARRAY) != 0, say we have 501 records to load based on 100 rows per load.
Thanks a lot.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
I just started using the direct path load features provided by the OCILIB on Linux SUSE. The version I am using is the latest 3.12.1. Here are my questions.
OCI_DirPathPrepare() takes too long on a partition table. I modified the demo app and trying to load some records to a partition table - about 1000 partitions, and the prepare takes about 2 minutes, is there any better way to do it?
As I embedded the ocilib methods into my C++ code, one method I am having trouble with is OCI_DirPathSetEntry(). Say I have an number column and int input, can I do something like this:
for (i = 0; i <=1000; i++)
{
dtext val1[21];
sprintf(val1, "%d", number1);
OCI_DirPathSetEntry(dp, i, val1, 20, NULL)
....
}
also, if I have C++ string value, say string s1, and when I call OCI_DirPathSetEntry, can I do something like this:
dtext val2[21];
sprintf(val2,s1.c_str());
DirPathSetEntry(dp, i, val2, 20, NULL);
How to load records that (NumberOfRecords % SIZE_ARRAY) != 0, say we have 501 records to load based on 100 rows per load.
Thanks a lot.