File-XI-JDBC(MSAccess) scenario
Dear All,
I am working on a simple scenario in which I want to update a database table maintained in MSAccess at my local machine from the data maintained in a flat file through XI.
I am able to do the configuration part for sender but I am not getting the setting to be done in ID for JDBC(MSAccess) adapter.
Please guide me on how to go forward on this.
Warm Regards,
N.Jain
How to use SELECT statement in JDBC scenario's.
Ref : https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1725 [original link is broken] [original link is broken] [original link is broken] [original link is broken]
stored procedures
/people/siva.maranani/blog/2005/05/21/jdbc-stored-procedures by siva
1278 by sriram
Sender adapter
/people/yining.mao/blog/2006/09/13/tips-and-tutorial-for-sender-jdbc-adapter
and also ref jdbc adapter in sap xi help.
Similar Messages
-
Hi Experts,
My scenario is, i need to call a stored procedure in Oracle. my input is a file.
the stored procedure is designed in such a way that it will accept only a RECORD type. not the individual parameters.
So please help me in finding out how to send a RECORD type to the Stored Procedure.
Thanks in advance,
- nareshDear Naresh,
please check the official SAP documentaion here:
http://help.sap.com/saphelp_tm70/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
Quote:
XML Document Format for the Message Protocol Native SQL Format
This protocol is primarily for test purposes only. Instead of an XML document format, a text is expected that represents any valid SQL statement.
When inserting a line into a table the corresponding document looks as follows:
u201E
INSERT INTO tableName (column-name1, column-name2, column-name3) VALUES(u2018column-value1u2019, u2018column-value2u2019, u2018column-value3u2019)
u201C
There is no need to use the SAP XML structure, you can create a native SQL statement using a Java Mapping and send it to the server. If you don't want to use native SQL, because SAP says, that it's for test purposes only, use 'action="SQL_DML"'. Just create the SQL string as you would create it from any other application.
Best regards,
David -
Multiline Error for File To JDBC
Hi All,
I am doing a File to JDBC Sync Scenario Multi line Scenario.
my data structure outbound is .....
<Record>
<Row>
<Id></Id>
<Name></Name>
<Job></Job>
<Company></Company>
</Row>
</Record>
and Inbound data structure is.......
<Employee>
<acction>TableName</acction>
<access>
<Id></Id>
<Name></Name>
<Job></Job>
<Company></Company>
</access>
</Employee>
<key>
<Id></Id>
</key>
Error while parsing or executing XML-SQL document: Error processing request in sax parser: Error when executing statement for table/stored proc. 'Employee' (structure 'Table'): java.sql.SQLException: FATAL ERROR: Column 'Key' does not exist in table 'Employee'
I am using to send the data through Text File. File is picking but there is no response. The above Error is showing. Could you please help me to solve the problem.
Thanks,
Ashok.Hi Ashok,
In this File to JDBC Scenario,In receiver JDBC having standard structure u can follow,
Standard structure for receiver JDBC is:
Example:
STATEMENT NAME
Action Attribute
TableName Element
Access Element
empid
empname
address
, I thought u mistake in structure itself, because the TableName can be passed to Action field.Please check it and do it.
Regards,
Sateesh -
Test cases for File to JDBC scenario?
Hi Experts,
I would like to know what are the things needs to be tested to ensure that the File to JDBC scenario holds good in the PI box. Your valuable inputs are required to verify /check my scenario configuration is free of errors.
Thanks & Regards,
Pcv.Hi,
You can try the following:
1) If the end systems require authentication and the same is not provided in PI then it should throw an error.
2) Check what happens when you dont give a mandatory field.
3) check what result you will get when you give a wrong input.
4) Check whether all your restrictions (in mapping and/or in receiver determination) are working properly.
5) Check what you need to do when the target system is down.
6) If using any FCC then check whether the conversion is done properly.....
7) See to it that you have defined a proper DB structure when you are communication with JDBC
8) Check with the end system whether your statement (Insert/Update/Delete etc) is performed properly
Regards,
Abhishek.
Edited by: abhishek salvi on Dec 4, 2008 9:58 AM -
Error in File-XI-JDBC Scenario
Dear All,
I am working on File-XI-JDBC scenario which is using stored procedure (SP_UPDATE). When I am processing the file it is giving me the following error in the message monitoring:
Unable to execute statement for table or stored procedure. 'SP_UPDATE' (Structure 'Statement') due to java.sql.SQLException: ERROR: Invalid XML document format for stored procedure: 'type="<SQL-type>"' attribute is missing for element 'access' (Setting a SQL-type (e.g. INTEGER, CHAR, DATE etc.) is mandatory !)
Please guide me what is this error all about and how this can be resolved.
Warm Regards,
N.JainDear All,
Now, I am able to update the SQL Server database but only one record is coming at the target. Can anyone please guide me what is he error in my Data types o in my mappings. Following is the source Data Type:
MT_TEST_FILE_T179T 1..1 DT_TEST_FILE_T179T
ROOT 1..unbounded
PRODH 1..unbounded xsd:string
VTEXT 1..unbounded xsd:string
DATUM 1..unbounded xsd:string
Following is the target Data Type:
MT_TEST_JDBC_T179T 1..1 DT_TEST_JDBC_T179T
STATEMENT 1..1
SP_UPDATE 1..1
action required xsd:string
TABLE 1..1 xsd:string
PRODH 1..unbounded xsd:string
type optional xsd:string
VTEXT 1..unbounded xsd:string
type optional xsd:string
DATUM 1..unbounded xsd:string
type optional xsd:string
Following are the mappings done:
EXECUTE-->@action
storedprocedurename-->TABLE
PRODH-->PRODH
VTEXT-->VTEXT
DATUM-->DATUM
CHAR-->@type.
With this stucture and mapping i am able to insert only one recored in the database even though there are multiple entries in the file.
Please guide me in solving this error so that multiple records can be inserted.
Warm Regards,
N.Jain -
Strange error in File-XI-JDBC scenario
Dear All,
I am working currently on File-XI-JDBC scenario and is facing with a stange problem.
I have writtern one simple query which is downloading the data from R/3 and is sending to XI Server local folder. From that folder File is getting picked by XI and is posted into SQL database.
Now, when I am generating the required file from R/3-DEV server then my scenario is getting executed successfully but if file is generated thru R/3-QAS Server then the scenario is giving the following error "Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'MARA_UPDATE' (structure 'Statement'): java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Error converting data type nvarchar to smalldatetime."
Also, if I am copying the complete data from the error file and paste it into a new file and executing again then the scenario is executing correctly.
I have checked the payload and didn't find anything there.
Kindly help me in solving this error.
Regards,
N.JHi Farooq,
Thanx for your reply. But this scenario is running when we are sending the file from R/3-DEV Server and also if I am copying all the contents of the error file and pasting it into a new file and then processing the file then the scenario is getting executed and I am getting no error with the same data which I have processed earlier and has thrown error.
Reg, -
Hi All,
I am doing a File to JDBC scenario, where sender side message type occurance is 0..unbounded and receiver side message type occurance is 1 in message mapping. The whole scenario working fine when both sender and receiver side message type occurance is 1 in message mapping.
When Sender side occurance is 1.
<?xml version="1.0" encoding="UTF-8"?>
<ns0:mt_smtjdbc_sender xmlns:ns0="http://SmartJDBC">
<NAME>A</NAME>
<DEPT>B</DEPT>
</ns0:mt_smtjdbc_sender>
When Sender side occurance is 0..unbounded.
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<ns0:Message1>
<ns1:mt_smtjdbc_sender xmlns:ns1="http://SmartJDBC">
<NAME>Dip</NAME>
<DEPT>xi</DEPT>
</ns1:mt_smtjdbc_sender>
</ns0:Message1>
</ns0:Messages>
If I use Sender side occurance as 0..unbounded I am getting the following error in adapter engine Communication channel monitor (for receiver communication channel)
Error while parsing or executing XML-SQL document: Error processing request in sax parser: No 'action' attribute found in XML document (attribute "action" missing or wrong XML structure)
Can anybody please help me how to solve this problem?
DipankarHi,
My Sender side structure as follows.
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<ns0:Message1>
<ns1:mt_smtjdbc_sender xmlns:ns1="http://SmartJDBC">
<NAME>DIp</NAME>
<DEPT>XI</DEPT>
</ns1:mt_smtjdbc_sender>
</ns0:Message1>
</ns0:Messages>
My corresponding Receiver side structure as follows.
<?xml version="1.0" encoding="UTF-8" ?>
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<ns0:Message1>
<ns1:mt_smtjdbc_receiver xmlns:ns1="http://SmartJDBC">
<Statement>
<dbTableName action="INSERT">
<TABLE>SMARTOP</TABLE>
<access>
<NAME>DIp</NAME>
<DEPT>XI</DEPT>
</access>
</dbTableName>
</Statement>
</ns1:mt_smtjdbc_receiver>
</ns0:Message1>
</ns0:Messages> -
Error comming in File to JDBC scenario.
Hi Frnds,
I am trying to do the File to JDBC scenario and is using the SQLServer.
After processing the message, it is showing executed successfully in moni but for the receciver communication channel i am getting the error like---->
Error during database connection to the database URL 'jdbc:sqlserver://10.112.132.211:1433;databaseName=DemoDB' using the JDBC driver 'com.microsoft.jdbc.sqlserver.SQLServerDriver': 'com.sap.aii.adapter.jdbc.sql.DriverManagerException: Cannot establish connection to URL 'jdbc:sqlserver://10.112.132.211:1433;databaseName=DemoDB': SAPClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver'
What could be the possible solution for it.
Thnx
Raj.Hi Raj,
As Prateek mentioned, the error you are getting is because of an improper installation of a driver.
Check out the doc for the driver installtion steps : [How To Install and Configure External Drivers for the JDBC & JMS Adapters|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f04ce027-934d-2a10-5a8f-fa0b1ed4d88f]
Also, the following thread contains some more useful links : Re: What's necessary to connect SQL server to XI?
Thanks,
Pooja Pandey -
File to JDBC Scenario using stored procedure Question
Does anyone have an aswer (or have you seen a Blog that covers it) to the problem of having to do a table refresh before doing inserts in a file 2 jdbc scenario?
Essentially the details are as follows:
I have an input file that has all the data for a table (it's a complete table dump) of lets say userdata (username, name, hiredate).
I need to pass that to an oracle database via stored procedure(s). But before I start issuing my insert (via insert stored procedure) I have to somehow issue a delete statement to delete all the contents of the table I'm about to update. I'm on XI 3.0 and aren't sure what the best solution to this may be.
Again if there is a blog that covers this then if you could point me in that direction it would be great. Otherwise if anyone has any good ideas it would be appreciated.Hi,
For structure refer this blog..
/people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30
Use two <Statement> tags as shown here and there you may have separate tablenames.
http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/frameset.htm
Thanks,
Jogula Ramesh -
Dear All,
I am working on File-XI-JDBC scenario. I am able to update the SQL database with the file.
My SQL database is having following columns:
MATNR MATXT DATUM
Now, I want is that even if the MATNR is already existing in the database then again that entry should not be inserted into the database with the different date although the same MATNR exists in the flat file.
Please guide me on how this can be done.
Warm Regards,
N.JainHI,
Check out the weblog and help for writing stored procedure:
/people/siva.maranani/blog/2005/05/21/jdbc-stored-procedures
/people/sriram.vasudevan3/blog/2005/02/14/calling-stored-procs-in-maxdb-using-sap-xi
http://www.ics.com/support/docs/dx/1.5/tut6.html
http://java.sun.com/docs/books/tutorial/jdbc/basics/sql.html
http://www.sqlteam.com/article/stored-procedures-an-overview
Thnx
Chirag -
Mail on successful processing of message in File-XI-JDBC scenario
Dear All,
I am working on File-XI-JDBC scenario. I want a mail to be triggered if the message is successfully processed at JDBC receiver side.
Kindly guide me on how this can be acheived?
reg,
NJUse a BPM.
In the send step that is used to send the message to JDBC, request a Tech Ack.
If positive Ack is returned trigger the email in a separate step.
Check Michal's blog on BPM Acknowledgements that explains this in details.
Regards
Bhavesh -
Clarification of doubt in File-XI-JDBC scenario
I had one doubt in this scenario.can anybody Plz clarify in this scenario File-XI-JDBC.
1)where we have to specify the table name in the receiver JDBC comm channel to insert the data into sql database from file.My doubt is,there are so many tables in existence.in the comm channel i am not mentioning the table name any where.
currently i am using SQL server and created one table name "EMP" with n columns.
2)Is i need to configure this sql driver to the J2ee server or by default this will be shipped with XI?
3)Generally,what are the datbase drivers shipped with XI?
Thanks in Advance
Sridhar RajuHi Sridhar
1) You dont require to mention the name of table in comm channel. You specify it in your data type . your xml format should be
<root>
<StatementName1>
<dbTableName action=UPDATE | UPDATE_INSERT>
<table>realDbTableName</table>
<access>
<col1>val1</col1>
<col2>val2new</col2>
</access>
<key1>
<col2>val2old</col2>
<col4>val4</col4>
</key1>
<key2>
<col2>val2old2</col2>
</key2>
</dbTableName>
</StatementName1>
Please refer the link for more detail
http://help.sap.com/saphelp_erp2004/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
2) Basically there is an driver file which has to be deployed to the server. But it may be there by default.
You configure and check your scenario, if driver file is not deployed you will get the message in RWB-> Adapter Monitoring.
Regards,
Mitesh. -
Facing Problems in File to JDBC scenario
Hi Folks,
I am trying to configure a file to jdbc scenario where I'm getting the below error.
Error during database connection to the database URL 'jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=D:\usr\sap\PRD\SYS\global\Receive\Student.mdb' using the JDBC driver 'sun.jdbc.odbc.JdbcOdbcDriver': 'com.sap.aii.adapter.jdbc.sql.DriverManagerException: Cannot establish connection to URL 'jdbc:odbc:Driver={Microsoft Access Driver (.mdb)};DBQ=D:\usr\sap\PRD\SYS\global\Receive\Student.mdb'*: SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified'
I Have done the below configuration for the receiver JDBC adapter
Driver : sun.jdbc.odbc.JdbcOdbcDriver
Connection : jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=D:\usr\sap\PRD\SYS\global\Receive\Student.mdb
tried to provide the user id & password as well as the password and also tried with with keep them blank. My Ms access 2007 database table is in the application server itself.
I've also checked with the below blogs & forums:
MS ACCESS 2007 to PI 7.01
/people/sameer.shadab/blog/2005/10/24/connecting-to-ms-access-using-receiver-jdbc-adapter-without-dsn
http://www.riyaz.net/blog/jdbc-adapter-configuration/technology/1200/
Thanks Experts.Hi Santosh,
If also could be possible that, you have not added proper JDBC dirver and hence i think you are getting following error:
Data source name not found and no default driver specified'
So first add the JDBC driver( .jar) to the SAP PI JDBC library and redeploy the .sda file and then retest your scenario. Here is a link to PDF which explain how to add external drivers to use new DB drivers in the JDBC adapter.
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f04ce027-934d-2a10-5a8f-fa0b1ed4d88f?quicklink=index&overridelayout=true
Regards,
RK -
Exception in File To JDBC Scenario
Hi,
I am getting the Exception "Error ID EXCEPTION_DURING_EXECUTE" while working with File to JDBC Scenario.
Pl Let me know why this exception is raised?
Thanks,
SriniHi Srinivasaphani,
This indicates that your message mapping failed.
Copy the XML message from monitoring and exectute the mapping in Integration Builder with maximal trace to get the reason.
If Source is a flat file then maybe your encoding is not ok....
if so have a look at
File Encoding section:
http://help.sap.com/saphelp_nw04/helpdata/en/e3/94007075cae04f930cc4c034e411e1/content.htm
Also go through this link:
/people/michal.krawczyk2/blog/2005/09/16/xi-how-to-test-your-mapping-in-real-life-scenarios
Also go thru XI pipeline services-
http://help.sap.com/saphelp_nw2004s/helpdata/en/41/b714f85ffc11d5b3ea0050da403d6a/content.htm
Regards,
Abhy -
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 do I restore my backup to my iphone
I had to have my iphone replaced by Genius bar and was told I could restore my last back up but when I tried to do it iTunes told me the phone did not have the latest software and I would have to set it up as a new phone, download the new software an
-
Trading partner deletion from accoutning document
Dear Gurus, Is it possible to delete trading partner field - in additional data of accounting document - is it possible to delete trading partner from accounting document Rgds, Saurabh
-
Hello everyone! I have a SharePoint farm which stores a big number of protected PDF documents. Those PDF documents are protected against modification and printing! They allow copy of content and screen readers though. I had IFilter 9.0 installed and
-
Getting error while trying for software update although ios 7.1.1 version is released
Getting error while I am trying to search the ios 7.1.1 update
-
Recently I clicked on a song and clicked to many times and highlighted it, but afterwords I hit the delete button by accident, and now it says that the song "" cannot be used because the original file could not be found. And I can't rename the song.