Beldar@cup.portal.com (02/05/88)
Help! I've got 'professional' oracle for ms-dos. I'm adapting a database, statistics, and graphics package to directly read and write oracle tables. So, I tried to use PRO*C with the PCC stuff. I've had nothing but trouble with bind variables (which I need to insert into tables). Select variable DESCRIBEs work fine. Using the EXEC SQL DESCRIBE BIND stuff seems to corrupt memory badly, eventually trashing dos. So, I've switched to the older OCI calls. Of course, their names in the library are in upper case, without leading underscores, so microsoft C is not amused. But I've worked around that. Don't these people ever use what they write? Here's my real problem. The ODSC (describe select list variables) call gives less information than the EXEC SQL DESCRIBE statement. I need the column width and scale (e.g., 7 and 2 where a column is NUMBER(7,2)); I use this info when I later create an oracle table using data read from other tables. My solution is to fetch this info with: SELECT CNAME,COLTYPE,WIDTH,SCALE FROM SYSCOLUMNS WHERE TNAME=table AND (CREATOR=USER OR CREATOR='SYSTEM') This is unbelievably slow (but then, so is everything else in oracle under msdos), and I have to parse the table name to optionally match its creator. Is there a better way? I'd rather avoid going back to the PRO*C preprocessor stuff (it expands my width 3 tabs to 8 columns and has the gall to complain that my lines are longer than 132 columns; it buries error messages after lines of stupid banner information; it's slow; it really doesn't do much for you; and it really gets in the way when using codeview). Thanks in advance. Perhaps I'd be a 'professional' if I had a CDP. :-) Henry Feldman beldar@cup.portal.com sun!cup.portal.com!beldar