cancel
Showing results for 
Search instead for 
Did you mean: 

JDBC adapter

Former Member
0 Kudos

Hi All:

I am using receiver JDBC adapter for one of my scenarios.To insert into The oracle table ,the SQL stmt is INSERT INTO schemaname.tablename.

where will this schema name be accomodated in XI?

IN Data type or Connection URL.

Thanks

Accepted Solutions (0)

Answers (1)

Answers (1)

justin_santhanam
Active Contributor
0 Kudos

Hello,

I think u are using Legacy system(AS400) am I right?

Actually what we will do is , we will create sql query string(schemaname.tablename) and pass it . I think u can give the same in <Table> name tag.

Hope it works!!!

Best regards,

raj.

Former Member
0 Kudos

XI does not take dot (.) in data types schemaname.tablename.

Does anyone have any solution?

We are inserting from IDOC into ORACLE.

Thanks

justin_santhanam
Active Contributor
0 Kudos

Hello,

In the Table tag map the constant as [schemaname.tablename] !!Which target structure u are using?

Best regards,

raj.

Former Member
0 Kudos

HI:

I was using target struc something like this:

STATEMNT1

INFO

action

access

-

-

-

key

-

Where INFO is the tablename.

Can you send some target structure whcih works for oracle?

Thanks

justin_santhanam
Active Contributor
0 Kudos

Hello ,

I thought u r structure looks like the below

<StatementName2>

<dbTableName action=”INSERT”>

<table>realDbTableName</table>

<access>

<col1>val1</col1>

<col2>val2</col2>

</access>

<access>

<col1>val11</col1>

</access>

</dbTableName>

</StatementName2>

Thats y I asked you to map the constant value to the TABLE node.

If you think ,the above stuff doesn't works for you. Create the target type as

<Statement>

-


<Anyname>

-


<Action> <b>[Attribute of Anyname]</b>

-


<Access> <b>[Sub-element of Anyname]</b>

Then

Map Constant[SQL_DML] to <b>Action</b>

Map UDF to <b>Access</b>.

Create UDF - which returns you sql string, for example

UDF

return "INSERT INTO EMPSCHEMA.EMPTABLE(EMP_ID,EMP_NAME) VALUES ('10001','J')";

Hope it helps!!!

Best regards,

raj.

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

<StatementName2>

<dbTableName action=”INSERT”>

<b><table>realDbTableName</table></b>

<access>

<col1>val1</col1>

<col2>val2</col2>

</access>

<access>

<col1>val11</col1>

</access>

</dbTableName>

</StatementName2>

Give the name of the table with the Schema Name in the field, <b><table>realDbTableName</table></b>

Regards

Bhavesh

Former Member
0 Kudos

how?

like this : schemaname.tablename

???

Thanks

bhavesh_kantilal
Active Contributor
0 Kudos

Yes. Like that.

Have not tried this, but if my understanding is correct that should do the trick.

Regards

Bhavesh

Former Member
0 Kudos

XI does not take dot (.) in data types schemaname.tablename. :-

Hi...As suggested by Raj..you should create a constant first...in the constant, fill in th value of your "schemaName.tableName" and use it to map to the target element called "Table". Then the XML XQL will intepret the table name as "schemaName.tableName". Of course you must have the target structure with the element as "Table".