Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> OCIBind and whitespace trimming
Hi everyone. I've got a customer that is using some older code we
wrote to update some tables (code based on OCI from 8.1.7). One
particular table has a VARCHAR2 field and he wants to put the
following text into it: 'this is my test '. Note the space at the
end. Our little helper function uses OCIBindByPos when building the
Update clause and this, it turns out, causes the trailing spaces to
get stripped:
"http://sales.esicom.com/sales/oracle/appdev.816/a76975/oci03typ.htm
VARCHAR2:
The value_sz parameter determines the length in the OCIBindByName() or
OCIBindByPos() call. If the value_sz parameter is greater than zero,
Oracle obtains the bind variable value by reading exactly that many
bytes, starting at the buffer address in your program. Trailing blanks
are stripped, and the resulting value is used in the SQL statement or
PL/SQL block. "
The customer doesn't want to have to build the update statement with actual data in it (and he shouldn't have to) but I've been unable to find a workaround besides that. I'm about as far from being an Oracle whiz as you can get and yet still use OCI so I'm really hoping someone out here might have a suggestion.
Thanks
Sean
Received on Mon Feb 16 2004 - 10:44:57 CST
![]() |
![]() |