[Java API] SAP DB Loader/Error handling

"Pranas Baliuka" <[email protected]> Fri, 28 Mar 2003 17:26:07 +0100
Newsgroups gmane.comp.db.sapdb.sources
Message-ID <[email protected]>
"large" (~ 1.2M records) DATAEXTRACT via Java API to the SAP DB Loader
causes commnunication Error. Communication errors are not handled in correct
way:

SIMULATION:
1.
CREATE TABLE "TEST"."TEST"
(
"FKEY" Varchar (20) ASCII NOT NULL,
"FVALUE" Varchar (20) ASCII NOT NULL
)
2.
// Inset 1280000 rows
3.
Try to export data via Java API to the SAP DB Loader
...
Properties prop = new Properties();
prop.setProperty("dbname","sapdb");
prop.setProperty("dbroot", "D:\\TEST\\");
prop.setProperty("user","test");
loader.cmd("USE USER TEST TEST");
loader.cmd("DATAEXTRACT * from test OUTFILE 'D:\\TEMP\\test.txt'");
...
RESULT:
java.lang.StringIndexOutOfBoundsException: String index out of range: -4
        at java.lang.String.checkBounds(String.java:292)
        at java.lang.String.<init>(String.java:330)
        at
com.sap.dbtech.util.StructuredBytes.getString(StructuredBytes.java:225)
        at
com.sap.dbtech.powertoys.LoaderException.create(LoaderException.java:78)
        at com.sap.dbtech.powertoys.Loader.cmd(Loader.java:126)
        at MainTest.main(MainTest.java:41)

Invocaton via Perl API:
Traceback (innermost last):
  File "<stdin>", line 1, in ?
loader.CommunicationError: loader.CommunicationError: [1] wrong connection
state

Some ideas how to fix it?

Regards,
Pranas Baliuka