cancel
Showing results for 
Search instead for 
Did you mean: 

** Is it possible manual trigger when JDBC is sender

jegathees_waran
Active Participant
0 Kudos

Hi Friends,

Is it possible manual trigger to send the new records to the JDBC sender adpter ? Instead of Stored Procedure or SQL statement (Stored Procedure) in 'Query SQL Statement' parameter ?

The purpose is instead of JDBC poll at frequent interval,we want to send newly inserted record whenever required.

Any idea friends, to do this ?

Kind Regards,

Jeg P.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

This cannot be handled by XI I guess,

But then you can handle it by having an additional field in the table and populate this use this field in ur sql query or design ur key in the sql query such a way, u can pick only those records you want.

But you cannot stop polling.

thanks

kiran

VijayKonam
Active Contributor
0 Kudos

Kulwinder's solution is workable. I would prefer HTTP adapter or SOAP adapter.

VJ

Answers (5)

Answers (5)

jegathees_waran
Active Participant
0 Kudos

Once again thanks Amir. If we decide go for script, I will contact you.

Former Member
0 Kudos

Hi,

Which solution are you planning to implement, amir or amit(mine)

thanks

amit

jegathees_waran
Active Participant
0 Kudos

Thanks amir. I will study the code in the URL. It looks like somewhat complicated, it requires good Oracle Knowledge to implement this. Correct ..?

Former Member
0 Kudos

Ya, it requires some knowledge atleaset to fulfill your requirement. Let me know in case of any issues.

Thanks

Amit

jegathees_waran
Active Participant
0 Kudos

Hi Aamir,

The URL is working fine. But, how do we put this URL in script ? How do we call this script? If you explain in detail, our problem will be completely solved.

Help me friend.

I also thank to other friends for reply.

Former Member
0 Kudos

Hi,

You can try this way. On insertion of any record in a table trigger a Stored Procedure which will call the url for activating and deactivating the channel. For more help on invoking the url from Stored procedure, please refer to the link below.

http://www.lorentzcenter.nl/awcourse/oracle/appdev.920/a96612/u_http.htm#1012294

Your code will look something like this

req := utl_http.begin_request('http://host:port/AdapterFramework/ChannelAdminServlet?party=party&service=service&channel=channel&action=action ');

Thanks

Amit

Former Member
0 Kudos

Yeah,its pretty straight forward,first of all you need to de-activate the sender JDBC adapter and set "External control On" in RWB,then write a script which will send a HTTP request to XI to activate this communication channel,this script will only be triggered when a new record is inserted.once the work is done the script will send a HTTP request to de-activate the communication channel

Once the adapter is activated it will pick up the records

Thanx

Aamir

Former Member
0 Kudos

Hi Aamir,

Can you please through some more light on ur answer? what kind of code we should write in script and what kind of message in HTTP request we have to send to XI to automatically activate channel.

Kulwinder

Former Member
0 Kudos

Hey Kulwinder

You can have a look at the below blog

/people/william.li/blog/2007/05/04/control-communication-channels-externally-without-using-rwb

Script will just have the URL which is used to send the request.

it could be any system sending the HTTP request,you can even do it via a browser.i m taking example of scripts as they can easily be scheduled,you can have Java system,.Net system or any other system for that sake.

Thanx

Aamir

Former Member
0 Kudos

Hi,

JDBC adapter can only read the data from database by using certain pole interval. As you are saying that your requirement is to send the message only for newly inserted records. I dont think that is possible with JDBC adapter.

You can try some other alternative, like keeping some extra column in the table like status and updating it regularly whenever records are read and then poll it after certain interval.

I beleive we can write a stored procedure in the database which will triggered whenever the data is inserted in table. This SP should produce XML structure required by you and can place in some directory (pick xml file using FTP) or will be able to send the XML data to XI pipeline directly using HTTP. This will definately solve your problem

Kulwinder

Reward if helpful