I try to send a synchronous SELECT message to the JDBC adapter. The database in use needs the DB schema in front of the tablename. So the select statement looks like this:
SELECT proddescr FROM dbschema.dbtable WHERE prodid="4711"
Translated into the XML-language of the JDBC adapter it looks like this:
because of the period ".". Can anybody tell me how to solve this problem?
How can I access DB tables for databases which need a DB schema in front of the tablename?
Thanks in advance.
Volker
Volker,
I encountered this problem as well using the JDBC adapter against an Oracle table. I worked around it by using the schema owner user-id as the login on the JDBC connection string. Then the dbschema prefix was not required on the table name in the XML tag.
Not a great solution, but it works around the problem. The DBA's obviously had concerns, especially since I was doing DELETE and INSERT statements, but since the ID was only being used by the adapter directly (not by a person) and we could obscure the password in the JDBC connection string through the password tokenization feature of the adapter engine, they accepted it.
Regards,
Chris
Have a look in oss-note 0679352.
At XI 2.0 support package 04 - adapter outbound - there is an add-on concerning XML schema.
Example:
This example uses db.mytable instead of db_mytable as table name in the sql statement.
maybe that helps, I never tried it.
Holger
Add a comment