File - Jdbc
Hi,
I configured FILE - XI - JDBC scenario. I am transferring data from a flat file to Oracle table. In the receiving communication channel, I gave the necessary parameters.
The flat file is picking up, but at the receiving end its throwing an error that 'Class Name does not exist'.
Plz help me how to resolve this...
Thanks,
Satish
Hi Satish,
Please have a look at these blogs.They clearly explain the File-JDBC scenario
/people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30
/people/siva.maranani/blog/2005/05/21/jdbc-stored-procedures
/people/saravanakumar.kuppusamy2/blog/2005/01/19/rdbms-system-integration-using-xi-30-jdbc-senderreceiver-adapter
cheers ,
Prashanth
Similar Messages
-
Regarding data integrity for XI file/jdbc adapter
I have several questions about XI data integrity for file/jdbc adapter.
Question 1 is: if the destinate file or DB is not reachable or other technical problems occur, do I have to send the message again or not?
Usually we design an bpm to comfirm whether the database or file is completed according to a response message. But it's a little complicated.
Question 2:when I use jdbc send adapter and configure select and update SQL clauses. Does XI only update the records which it select automatically? or Select and Update don;t have any relationship?
Very appreciated if you have any experience to share me.
Regards
Shen PengHi
Question 1 is: if the destinate file or DB is not reachable or other technical problems occur, do I have to send the message again or not?
If the DB is not reachable then message will be found in the inbound side. you can found them in the adapter. Goto RWB -> Message monitoring -> select status System error and search . there you will find your messages. select you message and resend them
Question 2:when I use jdbc send adapter and configure select and update SQL clauses. Does XI only update the records which it select automatically? or Select and Update don;t have any relationship?
XI never does updation automatically, Update is done only based on the SQL update query which you have written in the sender channel.
SELECT statement is used just to pick the values from the table and based upon the query which you want to UPDATE in SQL . data is updated
Regards,
sandeep -
Odi file jdbc driver for HDFS files required
In ODI what is the driver to be used in the file technology for HDFS files. i have used the genereic file jdbc driver which is not accepted by ODI.
thanks
PradeepHi,
This Forum is related to creator.Please post this on a appropriate forum
Regards
Ct -
Approach needed for processing huge file.using file-jdbc
Hi,
My Scenario is file-jdbc. I need to update the records in database table. The size of file would be 500mb.
1)Will the recordsets per message in the sender side FCC will help me in processing the file? Any other better solution or any configuration needs to be checked on PI system? as processing should be finished in 3 hours time?
2)i need to update other table with no.of records processed per cycle with time. How to acheive this?
TIAI would suggest you to go for Stored procedures and follow as mentioned below:
1)Use recordsets per message in the sender side FCC (already mentioned by u)
2) Create a SP and and pass source payload as xml input to the SP.
Ur target structure will be something like this:
http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
<StatementName>
<storedProcedureName action=u201D EXECUTEu201D>
<table>realStoredProcedureeName</table>
<param1 type=SQLDatatype>val1</param1>
</storedProcedureName >
</StatementName>
pass ur source data as xml input to param1.
If u r using PI7.1 then chk this:
http://www.sappi.sapag.co.in/flat-file-to-file-senario/convert-the-input-xml-to-string-in-pi-7-1-using-standard-graphical-mapping-2/
on the database side parse the string (xml document) and then insert the data in the table.. Chk with ur DB team regarding the same. -
Dear Friends,
I am performing Simple File to JDBC scenario. For this I am using MySql. I have designed and configured all the required steps and activated. Now I went to Runtime Work Bench monitoring.. Here in Message monitoring status is "waiting". Here it has thrown one exception like this, Exception caught : Jdbc Receiver Channel:Configuration not initialized due to loading Jdbc receiver
"com.microsoft.sqlserver.SQLServerDriver" Failed :java.lang.ClassNotFound - Exception : com.microsoft.jdbc.sqlserver.SQLServerdriver.
Please help me,Now what i have to perform.
thanks in advance.check this
http://help.sap.com/saphelp_nwce10/helpdata/en/45/08546ff5200486e10000000a155369/content.htm
and
https://wiki.sdn.sap.com/wiki/x/sAA7AQ
Regards,
Ravi -
System trace for File, JDBC adapter
In the JDBC Adapter Help (help.com) I see:
The adapter writes the output (STDOUT and STDERR) for the operating system command in the system trace.
Which trace is meant here?
I have the same question regarding File Adapter.
Thanks, JozsefHi,
have a look at my weblog to see how you can check
the traces:
/people/michal.krawczyk2/blog/2005/08/17/xi-operation-system-command--error-catching
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a> -
Dear All,
I am working on FILE to JDBC scenario in which I am facing with the following error:
- 2007-12-14 18:18:51 GMT+05:30: Error: TransformException error in xml processor class: Error processing request in sax parser: Error when executing statement for table/stored proc. 'TBL_SAP_PRODUCTS' (structure 'STATEMENTNAME1'): java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
the payload at the JDBC adapter is :
- <ns0:MT_JDBC_MARA xmlns:ns0="urn:abc:mm">
- <STATEMENTNAME1>
- <DbTablename action="INSERT">
<TABLE>TBL_SAP_PRODUCTS</TABLE>
- <access>
<MATERIAL_CODE>000000000001002021</MATERIAL_CODE>
<DESCRIPTION>BASICS 7 FTBL.</DESCRIPTION>
<PRODUCT_HIERARCHY_CODE>00</PRODUCT_HIERARCHY_CODE>
<MATERIAL_GROUP_CODE>R1500</MATERIAL_GROUP_CODE>
<MATERIAL_GROUP_DESC>Basics-FG</MATERIAL_GROUP_DESC>
<BASE_UNIT>S07</BASE_UNIT>
<SAP_ADD_DATE>20051219</SAP_ADD_DATE>
<SAP_MODIFY_DATE>20051219</SAP_MODIFY_DATE>
<EXTRACT_DATE>20071214</EXTRACT_DATE>
</access>
Please guide me what is the error.
Warm Regards,
N.JainHi nishu,
Go into the Repository (IR) and check the conditions mentioned for the field <STATEMENTNAME1>/TBL_SAP_PRODUCTS in the datatype, searching it by the respective namespace and check if the given input has the expected data type.
Change your payload date format according to the timestamp specified in the condition .
Regards,
Shibani
*reward with points if helpful* -
Corrupt communication channel (FILE/JDBC) still polling "without success"
Hi all here are a lot of questions with high priority:
We have problems with adapter engine XI7.0SPS11.
It looks that if there is a short connection error some of our channels are still polling (status green) but they do not get the data.
After restart J2EE engine it works. But this is not good.
I refreshed all caches and restarted the file and jdbc service in NWA without success.
If I create a new communication channel and change the sender agreement it works.
But this is only a workaround.
Does anybody know this issue?
Is there a way to solve it (without daily restart of J2EE engine)?
We will patch our system to SPS18 but can we ensure that the bug is fixed?
Currently one FTP channel get the error u201CCould not process dues to error: com.sap.aii.adapter.file.ftp.FTPEx:550 150722_ No such file or directoryu201D
How can I refresh the channel u201Ccacheu201D so that he looses the history of polled files?
Thanks DanielHi,
Check it..
>>>>I had made some changes to the communication channel - made it active, inactive, changed the polling interval.
After the Changes activate your changes.
Regards
Agasthuri Doss -
Hi All,
I am doing the File to JDBC(Sync) to RFC through BPM
Start->Receive(Ansc)>Send(sync)>send(Anyc)>
I have created like this:
DT and corresponding MT
1. File
2.JDBC_Req
3.JDBC_Req_response
i have created Message interfaces bellow
File outbound
File outbound Abstract
JDBC sync inound
JDBC Sync Abstract
JDBC response Asyc Abstract
I have created Mappings like this
File to File outbound Abstract
File Abstact JDBC_req
JDBC_Req Abstact to JDBC_Req
JDBC_res Abstact to JDBC_res
JDBC_res Abstact to RFC
I have created Interface Mappings like this
File to File Abstract
JDBC_req to JDBC_res
JDBC_res to RFC
while i am doing in BPM i am getting error like this:
Message File Abstact to be received and synchrounous interface MI_JDBC_req_Abstact are not of the same type
Pls suggest me how i can map the File Abstact and JDBC Abstact.
Thanks,
VenkatHi,
According to my understanding your scenario is:
1) Pick a file from some file server
2) Send it to a BPM
3) Send this file as a request to JDBC and get back the response....i.e synchronous..
4) Once you get the response from JDBC map it to a RFC structure and send it to the specified destination.
If the above flow is correctly understood by me then the following design won't work....
Start--Receive--Receive--Tranformation--Send(Sync)--Send--End
Your design should be:
Start --> Receive (async) --> Transformation --> Send (Sync) --> Send (Async) --> End
1)
a) Define an Outbound-Async MI for File Sender
b) Define an Abstract-Asynch MI for BPM ....(include in first receive step of BPM)
MT for (a) and (b) shoulde be same...
2) Define an Abstract-Async MI....this should have the request structure for the JDB
3) Create a mapping between MI from step 1a and 2...(include in the Transformation step of BPM)
4) Create an Abstract-Sync MI for BPM_to_JDBC....include the same message-type as that in step2....in the input message (request) part of the sync MI.....(include in the Sync-Send Step of BPM)
5) Create Inbound-Sync MI for the JDBC receiver...again both the message type should be same as that in the Abstract-Sync MI of step4
6) Create Abstract-Async MI for the RFC receiver....(include in the last Send step of the BPM)
I hope that you are defining the MIs with proper message-types and with proper direction...same applicable for container variable definition...please note that all the MIs involved in the BPM should be abstract
The error that you are getting is bcoz of the mismatch in the message-type in the MI....please check it.
Regards,
Abhishek. -
Help! Check data in MS Excel file(JDBC-ODBC)
Hi guys,
I wrote a program that can check data in MS Excel file.
User can input a sentence like "1->2" ,"1->3" (one determine one), then the program can find the data which violate the integrity constrains(functional dependency).For example, if we have the functional dependency "TSeq_gi->TSeq_accver", the program looks for two or more tuples with the same "TSeq_gi" value but the different "TSeq_accver" value in Excel file. These tuples violate the integrity constraint. But now,I can't figure out how to modify this program to multiple determine one. (like 1 3->5 or 1 3 4 5->7) . 1 3 ->5 means: look for 1 and 3 have same value but 5 different. I get stuck. Can some experts help me?
The code and Excel file are in below link. Download and play it! Thank you~~
Karen.
http://us.f1f.yahoofs.com/bc/665bbb4/bc/Java/code.zip?bf6cljAB_wgRYVQf
PS: You need to set up JDBC ODBC driver in MS windows "Administrative Tools" first. Data Souce name is Test .
Main logic class:
class MyActionListener implements ActionListener{
public void actionPerformed(ActionEvent e){
if (e.getActionCommand()=="SEARCH")
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con1= DriverManager.getConnection("jdbc:odbc:Test");
stmt2= con1.createStatement();
input1 = new String(pathTf.getText());
main_loop: while(true){
if (input1.equals("0")){
// break out of while(1)
break main_loop;
st= new StringTokenizer(input1," ,-=>");
while(st.hasMoreTokens()){
// analyze the input stream.
// Attention, the program didn't do the input value check.
input1= st.nextToken();
input2= st.nextToken();
query= "select "+ schema[Integer.parseInt(input1)-1]+ ","+ schema[Integer.parseInt(input2)-1]+ " from [Sheet1$]";
rs2= stmt2.executeQuery(query);
rowCounter= 0;
list1.clear();
list2.clear();
list3.clear();
while(rs2.next()){
// increase the row counter
rowCounter++;
// initial the flag
col1= rs2.getString(1);
col2= rs2.getString(2);
// for the initalization
if (list1.isEmpty()){
list1.addElement(col1);
list2.addElement(col2);
row="Row 2";
list3.addElement(row);
// compare weather exist dependance
else
for (int i=0;i<list1.size();i++){
// if col1 match with the first part of value in the list
if (((String)list1.get(i)).equals(col1)){
// The independence pair match
if (((String)list2.get(i)).equals(col2)){
break;
else
textArea.append("\n"+"Violate Integrity Constraints Found : "+" Row "+ (rowCounter+1)+ " not match with "+ list3.get(i)+".");
System.out.println("\n"+" Row "+ (rowCounter+1)+ " not match with "+ list3.get(i)+".");
break;
// if col1 not match with any value, add a new record in list
else
list1.addElement(col1);
list2.addElement(col2);
row="Row "+ (rowCounter+1);
list3.addElement(row);
}// end of for
}//end of else
}//end of while
}//end of while(1): main_loop
}catch(Exception ex){
//System.err.println(ex);sorry~~I am new here!
class MyActionListener implements ActionListener{
public void actionPerformed(ActionEvent e){
if (e.getActionCommand()=="SEARCH")
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con1= DriverManager.getConnection("jdbc:odbc:Test");
stmt2= con1.createStatement();
input1 = new String(pathTf.getText());
main_loop: while(true){
if (input1.equals("0")){
// break out of while(1)
break main_loop;
st= new StringTokenizer(input1," ,-=>");
while(st.hasMoreTokens()){
// analyze the input stream.
input1= st.nextToken();
input2= st.nextToken();
query= "select "+ schema[Integer.parseInt(input1)-1]+ ","+ schema[Integer.parseInt(input2)-1]+ " from [Sheet1$]";
rs2= stmt2.executeQuery(query);
rowCounter= 0;
list1.clear();
list2.clear();
list3.clear();
while(rs2.next()){
// increase the row counter
rowCounter++;
// initial the flag
col1= rs2.getString(1);
col2= rs2.getString(2);
// for the initalization
if (list1.isEmpty()){
list1.addElement(col1);
list2.addElement(col2);
row="Row 2";
list3.addElement(row);
// compare weather exist dependance
else
for (int i=0;i<list1.size();i++){
// if col1 match with the first part of value in the list
if (((String)list1.get(i)).equals(col1)){
// The independence pair match
if (((String)list2.get(i)).equals(col2)){
break;
else
textArea.append("\n"+"Violate Integrity Constraints Found : "+" Row "+ (rowCounter+1)+ " not match with "+ list3.get(i)+".");
System.out.println("\n"+" Row "+ (rowCounter+1)+ " not match with "+ list3.get(i)+".");
break;
// if col1 not match with any value, add a new record in list
else
list1.addElement(col1);
list2.addElement(col2);
row="Row "+ (rowCounter+1);
list3.addElement(row);
}// end of for
}//end of else
}//end of while
}//end of while(1): main_loop
}catch(Exception ex){
//System.err.println(ex);
} -
File--JDBC(Synch)--File
Hi All:
How we can acheive FileJDBC(Synch call)File without using BPM? Your valuable answers will helpful and rewarded with points:)
Thanks
Abidfile -> sync-jdbc -> file is a very simple BPM.
Do you have any constraints on using it?
if you ask me, i would go all way along with bpm, it will only consume you a couple mins to make it run.
The BPM will look pretty much like this...
[https://weblogs.sdn.sap.com/weblogs/images/251764026/bpmAsync2Sync2Async.JPG]
And for using the JDBC Receiver in Sync Mode take a look to this weblog.
/people/luis.melgar/blog/2008/05/13/synchronous-soap-to-jdbc--end-to-end-walkthrough
Regards. -
Hello,
I just had a new problem:-(
I hope anybody can help me...
I want to Insert a File via Jython and JDBC..
But imple SQL does not work without some strage MetaDate... like..
Select * from DDAA
/*$$SNPS_START_KEYSNP$CRDWG_TABLESNP$CRTABLE_NAME=DDAASNP$CRLOAD_FILE=...........
how i can generate this meta-Data with odi? i could not find any odiRef-Function to do this.....
and than there is a simular stange problem...
even when i INSERT to this JDBC-Connection a string and the string contains a comma I get an Error...
thanks for any help....
greetingsHello,
i use the "com.sunopsis.jdbc.driver.file.FileDriver" JDBC-Driver for an File-Datastore.
Now i want to INSERT and SELECT same data via Jython with direct SQL-Statements.
BUT:
A normal SQL-Statement does not work.
I have to appende strange Code like...
Select * from DDAA
/*$$SNPS_START_KEYSNP$CRDWG_TABLESNP$CRTABLE_NAME=DDAASNP$CRLOAD_FILE=...........
The JDBC-Driver seams to read the Filename and seperator... from this generated code....
I have copied this code from the Operator, by using normal SQL-Technologie...
The API <%=snpRef.getTargetTable("METADATA_DESC")%> generates this "strage code"... BUT2: In Jython technologie of an IKM it occours the Error:
"Exception getTargetTable("METADATA_DESC") : Es ist keine Zieltabelle vorhanden"
He do not find the "TargetTable".. so hier cannot generate this code...
Just when i copie this strage code from the operator and normal SQL-Statements work, I have the problem that i gen an error, wenn I INSERT a comma!
But I have to INSERT a comma!
The Technologie schould be FROM FILE TO FILE.... for this Project i do not have an Database for Staging Areas...
You see my problem?
Thanks.... -
File JDBC - scenario, no need of response
File to JDBC scenario insert Async scenario....
i dont want response back..but i am getting response and throws error ..how to make it without response?i was using file adapter as sync with requestresponse bean..which caused the issue..I removed it and issue resolved...
-
Adapter Queue - Parallel Processing (File, JDBC, SFTP)
Dear experts,
we have a scenario where the bandwhich of the connection to an SFTP-Server is very low. So the transmississions need a lot of time. During this time, no other messages for the same adapter (but different communication channles) get processed, as they all are stuck in the queue.
Is it possible to configure XI to process messages for one adapter in difference Queues, so that big transmissions don't block other transmissions?
Our XI System:
make.rel NW04S_20_REL
SP-Number 20
jdk.version 1.3
We use Itelligence SFTP adapter.
Best regards,
DavidDear all,
thank you for your answers. We solved this problem (or let's say minimized the risk) by implementing SAP note 1084161.
1. Go to Visual Admin
2. Go to Service SAP XI AF Core
3. Modify property messaging.connectionDefinition for the corresponding adapter
Also take a look here
http://help.sap.com/saphelp_nw70/helpdata/de/5c/22ee41c334c717e10000000a155106/frameset.htm
Best regards,
David -
File - to - JDBC- to - File Scenario using Stored Procedure
Hi,
I want to do File - to - JDBC - to - File scenario, because I'm getting data in a file format and that data i want to load in a database. Database level i have a stored procedure. if any exceptions. my stored procedure will give the Response. so, now i want to store that resposne in a file..
for this. what are the steps we have to use. is this scenario will comes in Synch ronous or Asynchronous ? and I have searched the web blogs also. al the blogs are related to Http or Soap with JDBC . so, please give me some input help about this...
how many data types we have to create... any body having step step procedure for this...
regards
JainHi,
You will need a BPM in your design as Sender File adapter does not support Synchronous messaging. Refer my answer in this thread (page 2) and have your design accordingly....instead of RFC you will have a file adapter as the ultimate receiver.
Re: BPM FILE--> JDBC--> RFC
Just take care of below things:
1) JDBC message format is as per the guidelines
[Message format for sending req to JDBC|http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm]
2) check for the format of your source and target file format (if it is a Flat-file with a xml structure that XI can parse then no need of FCC but if it is a CSV file then you will need FCC)
Regards,
Abhishek
Edited by: abhishek salvi on Apr 14, 2009 7:32 PM
Maybe you are looking for
-
How to transfer video I shot from iPhone5 to my Mac?
Sorry to be such a dolt, but I don't get it. I don't see anything explaining in the iPhone5 manual really how to get the videos you shoot in the phone into your Mac (in my case an iMac). I have iCloud, I have a photo stream. iPhoto does not make a
-
Dynamic Photo Gallery with Static Links
The Dynamic Photo Gallery has a Dynamic List Menu generated from the galleries.xml file. I would like to load the Dynamic Galleries with a link if possible. Currently I have 3 Galleries.... China, Eqypt & Paris Dynamic Code: <select name="gallerySele
-
Boot camp restart from Winblow to Leopard not good.
Ever since upgrading to leopard from Tiger, whenever I try to restart from Winblows to Leopard using boot camp, the screen goes black on the start up side and nothing happens. The only way is to Leopard is to completely shut down then restart. From M
-
TRANSFERING TUNES FROM ANOTHER IPOD TO YOUR OWN IPOD
HOW DO YOU TRANSFER TUNES FROM ANOTHER IPOD TO YOUR OWN IPOD?
-
Wrong fileset size information on Oracle9i Database HP-UX Download?
Could it be, that there are wrong fileset size information at the HP-UX download page for Oracle 9i?? I found the information: server_9201_hpunix64_disk1.cpio.gz (566,419,019 bytes) server_9201_hpunix64_disk2.cpio.gz (648,282,885 bytes) server_9201_h