We have a java application running on Mainframe that uses TEIID. We used the Database Explorer plugin as well to reproduce the error.
We were trying to update two fields, of which one had a value that we were trying to remove and adding a value to the other one. Let's say the fields are CONSID and EXPDATE. CONSID is a vachar that accepts a one letter word, such as 's','a' etc. EXPDATE is a date field. CONSID had a value in it already before we started our modify function. So our modification included removing the value for CONSID(making it NULL) and adding a date for EXPDATE. So the update Query we sent looked like:
Execute UPDATE tssadmingrp=acids,host=de30_de29,o=cai,c=us SET EXPDATE =
{d '2013-12-12'}, CONSID = NULL WHERE acf2admingrp=lids,host=xe42_cia,o=ca,c=us?SUBTREE_SCOPE.DN = '"tssacid=TSSACID,tssadmingrp=acids,host=de30_de29,o=cai,c=us"'
We use a LDAP translator to send these modify queries to LDAP server. The update query seemed right, but the query that is sent over to LDAP was wrong. The values that were being sent to LDAP were same for CONSID and EXPDATE (both of them had date values in them). Since LDAP doesn't recognize date value in CONSID, it failed.
This is where we don't understand what is going wrong between the update query being generated and that is sent to LDAP. Can you please advice us?
Thank you.
- duplicates
-
TEIID-2891 LDAP null update handling can produce invalid updates
- Closed