FAQ_sapnote_0000831162

January 31, 2018 | Author: VINUGOPAL | Category: Oracle Database, Databases, Database Transaction, Microsoft Sql Server, Xml
Share Embed Donate


Short Description

Download FAQ_sapnote_0000831162...

Description

SAP Note 831162 Adapter Note Language: English

FAQ: XI 3.0 / PI 7.0 / PI 7.1 JDBC Version: 40 Validity:

Valid Since 01.12.2010

Summary Symptom You are experiencing problems with the SAP XI 3.0 / PI 7.0 / PI 7.1 J2EE JDBC Adapter and/or need further detailed information about its operation and configuration.

Other terms Exchange Infrastructure, XI 3.0, PI 7.0, PI 7.1, Adapter Framework, Frequently Asked Questions, HOWTO

Reason and Prerequisites This note serves as FAQ document for the SAP XI 3.0 / PI 7.0 / PI 7.1 JDBC Adapter and contains answers to the most commonly asked questions about the adapter's operation and configuration. It will be updated with new information from time to time as the need arises. Known problems and incompatibilities with certain JDBC drivers are also documented in note 941317.

Solution Table of Contents 1.

JDBC Driver Deployment

2.

Unicode Handling

3.

Date Field Handling

4.

Apostrophe Escaping for SQL_QUERY/SQL_DML with Placeholders

5.

Transaction Handling (Receiver)

6.

Lotus Domino with JDBC Receiver

7.

Network-Level Connection Problems

8.

Transaction Handling (Sender)

9.

J2EE JDBC Connector and Connection Pooling

10.

Oracle JDBC Driver (classes12.zip / classes12.jar) Deadlocks

11.

Operating System Command

12.

Acknowledgements

13.

JDBC Drivers

14.

JDBC Sender: Performance Issues After Configuring A Large Amount Of Channels

15.

Microsoft SQL Server: "Can't start a cloned connection while in manual transaction mode"

07.02.2011

Page 1 of

15

SAP Note 831162 Adapter

FAQ: XI 3.0 / PI 7.0 / PI 7.1 JDBC

16.

NULL Value Handling

17.

Receiver: java.sql.SQLException During First Message Processing

18.

JDBC Driver Defects / Technical Support

19.

Using UPDATE_INSERT with MS SQL Server:java.sql.SQLException Can not insert duplicate key

20.

ClassNotFoundException while using SQL Server 2005 Driver

21.

ORACLE: ORA-08177: can't serialize access for this transaction

22.

ORACLE: Oracle 9.2.0.x database with Oracle JDBC 10.2.0.x driver.

23.

java.sql.SQLException: IO exception: Connection reset/Error establishing Socket/Connection reset by peer /socket write error.

24.

Messages processed by JDBC receiver are in delivering state forever

25.

Test JDBC Connection.

26.

Upgrade to SP20/SP21 of XI (OR) SP12/SP13 of PI causing error in JDBC Receiver channel

27.

Insertion of unicode data into MS SQL Server Database causing corrupted unicode characters(eg:Japanese, korean, chinese, Greek, etc)

28.

Effect of setting Maximum Concurrency and poolWaitingTime

29.

How to delete manually hanging Enqueue-Locks

30.

Recommendation in designing the XML format while processing the message in the receiver side JDBC adapter.

Questions and Answers

1. JDBC Driver Deployment o

Q: How do I deploy the JDBC Driver JARs required to connect the JDBC Adapter to my DBMS?

o

A: The JDBC driver deployment is performed using a special SDA file named aii_af_jmsproviderlib.sda (releases 3.0/7.0) or com.sap.aii.adapter.lib.sda (releases 7.1) which is shipped as an empty stub with your XI installation. For Type 4 drivers, information how to add your JDBC drivers to this SDA is available in section 11.1 of the SAP XI 3.0 Configuration Guide, which is available on the SAP Service Marketplace under the URL: http://service.sap.com/instguidesNW04. For Type 2 drivers, additional configuration steps are required, which are documented in note 850116.

2. Unicode Handling 07.02.2011

Page 2 of

15

SAP Note 831162 Adapter

FAQ: XI 3.0 / PI 7.0 / PI 7.1 JDBC

o

Q: I am inserting Unicode data into a database table or selecting Unicode data from a table. However, the data inserted into or retrieved from the table appears garbled. Why doesn't the JDBC Adapter handle Unicode correctly?

o

A: While the JDBC Adapter is Unicode-aware, many JDBC drivers and/or database management systems aren't by default and need a codepage or Unicode-awareness to be configured explicitly. For the respective JDBC drivers, this codepage setting is often configured via the driver URL. For details, refer to the documentation of your JDBC driver or database management system. Note: For the Lotus Domino Driver for JDBC, there does not seem to be any documented method to enable support for Unicode strings.

3. Date Field Handling o

Q: I would like to insert a date field into a table using the JDBC Receiver Adapter. However, I always get an error about a data type conversion error. What is the procedure to insert a date field using a JDBC Receiver?

o

A: The actual implementation depends on the DBMS you are using. This answer will first describe a generic approach to implement this functionality and then provide examples for popular DBMS. All DBMS offer some kind of functionality to convert one data type into another data type. As the XML document used by the JDBC Receiver is based on character strings, we need to use a conversion function to convert a string into a DBMS-specific date type. This conversion function will be embedded by the JDBC Receiver into the SQL statement sent to the DBMS. In order that the DBMS actually executes the conversion function and does not treat it as a string, we need to make sure that the JDBC Adapter does not quote the date parameter. This can be achieved by setting the hasQuot attribute of the respective date field's XML element to "No". An example for the Oracle DBMS, where the date conversion function is named TO_DATE: TO_DATE('2004-07-20 08:00:00', 'yyyy-mm-dd hh:mi:ss') As you can see, any occurrence of an apostrophe within the element data needs to be written as "'" in order to yield valid XML. For the Microsoft SQL Server DBMS, the statement looks as follows: CONVERT(DATETIME, '2005-01-01 01:23:45', 120) The third parameter specifies the date format expected by the CONVERT function. For details, refer to the MS SQL Server documentation (Books Online -> Contents -> Transact-SQL Reference -> CAST and CONVERT).

4. Apostrophe Escaping for SQL_QUERY/SQL_DML with Placeholders 07.02.2011

Page 3 of

15

SAP Note 831162 Adapter o

FAQ: XI 3.0 / PI 7.0 / PI 7.1 JDBC

Q: I am sending a SQL_QUERY or SQL_DML statement that makes use of placeholders to a JDBC Receiver, which looks as follows: UPDATE TABLE SET Name='$NAME$' WHERE ID='$ID$' Joe's Name 42 When executing the resulting query, my DBMS reports an error similar to the following one: "SQL command not properly ended" Why doesn't the JDBC receiver escape the apostrophe I use within my placeholder's data?

o

A: While it would make sense to automatically escape the apostrophe in your example where the placeholder becomes part of a quoted string, there are other scenarios where this is not the case so that the JDBC Receiver cannot just unconditionally escape any apostrophe character occurring within a placeholder string. Make sure that the XML payload that you send to the JDBC Receiver already uses the correct escaping for apostrophes if you want to use the placeholder within a quoted string of your SQL statement. The actual escape character to use depends on your DBMS. For details, refer to the respective DBMS documentation.

5. Transaction Handling (Receiver) o

Q: I have configured a JDBC Receiver channel with Auto Commit disabled. Are all statements of the XML payload executed within one transaction as a single LUW?

o

A: Yes, all statements contained in an XI message sent to the JDBC Receiver are executed as one atomic transaction. Note that versions older than SP11 Patch Level 1 performed an implicit commit in conjunction with certain DBMS when a database error occurred. For details, refer to note 823809.

6. Lotus Domino with JDBC Receiver o

Q: I am using a JDBC Receiver Adapter in conjunction with the Lotus Domino Driver for JDBC perform an INSERT or UPDATE operation on a database. When sending a message to the receiver, the Adapter Monitoring shows the following error message:

07.02.2011

Page 4 of

15

SAP Note 831162 Adapter

FAQ: XI 3.0 / PI 7.0 / PI 7.1 JDBC

"java.sql.SQLException: [Lotus][Domino Driver for JDBC]Invalid cursor state" Is there a fix for this issue? o

A: To work around this JDBC driver problem, activate the Advanced Mode for the respective JDBC Receiver channel and configure the setting "Number of Retries of Database Transaction on SQL Error" to a value > 0. Additionally, make sure that the setting "Database Auto-Commit Enabled" is also active as the Lotus Domino Driver for JDBC does not support transactions. Apply note 846079 before configuring this scenario.

7. Network-Level Connection Problems o

Q: The TCP/IP connection to my database host is running over an unreliable network connection, i.e. the connection is sometimes interrupted. Consequently, I sporadically receive an SQLException regarding a closed connection in the system trace or audit log or the connection as well as the JDBC Adapter channel are hanging. How can I work around this connectivity issue?

o

A: Enable the "Advanced Mode" for the respective JDBC Adapter channel and select the option "Disconnect from Database After Processing each Message". Note that this might put additional load on your DBMS due to the creation of a new database connection for each message. If you are connecting to an Oracle database, also refer to question #10 for an alternative solution.

8. Transaction Handling (Sender) o

Q: If I have the following configured in a JDBC Sender: Select Query: SELECT column FROM TABLENAME WHERE FLAG = "TRUE" Update Query: UPDATE TABLENAME SET FLAG = "FALSE" WHERE FLAG = "TRUE" How do I know that the JDBC adapter will not update newly added rows (rows that were added between the time that the SELECT and UPDATE queries were executed) that were not read in the initial SELECT query?

o

A: The SELECT and the UPDATE are run in the same DB transaction, i.e. both statements have the same view on the database. Make sure that both statements use the same WHERE clause. An additional requirement for the correct operation of this scenario is the configuration of an appropriate transaction isolation level on the database (i.e., repeatable_read or serializable). You might also consider using a "SELECT FOR UPDATE" statement instead of a plain SELECT statement to ensure proper locking on the database.

07.02.2011

Page 5 of

15

SAP Note 831162 Adapter

FAQ: XI 3.0 / PI 7.0 / PI 7.1 JDBC

"SELECT FOR UPDATE" is not supported in MS SQL database. In this case please make use of an appropriate transaction isolation level on the database. For more details please contact your DB vendors.

9. J2EE JDBC Connector and Connection Pooling o

Q: Does the JDBC Adapter support the use of the SAP WebAS J2EE engine's JDBC Connector and connection pool?

o

A: Currently, each JDBC channel will create its own JDBC connection. The use of the J2EE engine's JDBC Connector and connection pooling mechanism is not supported.

10. Oracle JDBC Driver (classes12.zip / classes12.jar) Deadlocks o

Q: I have deployed the Oracle classes12.zip / classes12.jar JDBC driver as per the instructions in the XI Configuration Guide. Unfortunately, I frequently notice hanging database connections. A thread dump taken according to the instructions in note 710154 shows one or more blocking JDBC Sender/Reciver threads and optionally that the JVM has detected a deadlock.

o

A: The Oracle classes12.zip / classes12.jar driver is compatible with JDK 1.2 and 1.3 only, but not with JDK 1.4. Upgrade to a current version of the driver (ojdbc14.jar). For details, refer to note 941317. Make sure that you remove classes12.zip / classes12.jar from aii_af_jmsproviderlib.sda (releases 3.0/7.0) or com.sap.aii.adapter.lib.sda (releases 7.1) prior to adding the new driver as per the instructions in the answer to question #1 above as you will get a class name collision otherwise (all JARs from aii_af_jmsproviderlib.sda (releases 3.0/7.0) or com.sap.aii.adapter.lib.sda (releases 7.1) are loaded into the same class loader and the driver class name of both driver versions is the same). Before deploying the updated driver, ensure that the new version is still compatible with your Oracle database server release. For details, refer to the release notes provided by Oracle.

11. Operating System Command o

Q: I am having difficulties getting an external operating system command to work. What can I do to diagnose the problem?

o

A: Refer to note 841704.

12. Acknowledgements o

Q: Does the JDBC Adapter support acknowledgements?

o

A: You need to distinguish system acknowledgements (indicating that a message has been received by the target system) and application acknowledgements (indicating that the message has been successfully processed by the application on the receiver side).

07.02.2011

Page 6 of

15

SAP Note 831162 Adapter

FAQ: XI 3.0 / PI 7.0 / PI 7.1 JDBC

The receiver of an XI message will only send an acknowledgement back to the sender if the sender has requested one. However, the JDBC Adapter has no functionality that relies on the receipt of an acknowledgement, so it never requests one. On the other hand, if a JDBC Adapter Receiver receives a request to send an acknowledgement, it will do so for a system acknowledgement request. Application acknowledgements are not supported at all as the JDBC Receiver has no way to determine if the data written to the database has been correctly processed by the back-end application, which is what a positive application acknowledgement would imply.

13. JDBC Drivers o

Q: Which JDBC driver do you recommend to connect to ?

o

A: SAP does not recommend a certain JDBC driver for use with the JDBC adapter. Contact the vendor of your database management system for any recommendations. For a list of known incompatibilities, refer to note 941317.

o

Q: I downloaded JDBC driver for MS SQL server from Service market place according to Note 639702. Can I use this driver for JDBC Adapter?

o

A: No. This driver can only be used from OpenSQL which is a SAP own database access layer for Java. This driver should not be used with XI JDBC adapter. Customers should download official JDBC driver given by Microsoft web site

14. JDBC Sender: Performance Issues After Configuring A Large Amount Of Channels o

Q: After configuring a large amount of JDBC Adapter sender channels, the J2EE Engine becomes very slow and some services start to block. How can I solve this issue?

o

A: Up to and including XI 3.0 SP13 each JDBC Adapter sender channel permanently consumes a J2EE application thread. To solve this issue, increase the number of configured J2EE application threads using the SAP J2EE Engine Config Tool ("cluster-data" -> "Global server configuration" -> "managers" -> "ApplicationThreadManager" -> "MaxThreadCount"). Starting with XI 3.0 SP14 application threads are allocated on demand by the JDBC Adapter and returned to the thread pool after it has finished the polling sequence, so thread shortage situations will typically occur much more rarely than with earlier SPs.

15. Microsoft SQL Server: "Can't start a cloned connection while in manual transaction mode" o

Q: When connecting the JDBC Adapter to a Microsoft SQL Server installation, I receive the following error message: "java.sql.SQLException: [Microsoft][SQLServer JDBC Driver]Can't start a cloned connection while in manual transaction mode." How do I correct this?

07.02.2011

Page 7 of

15

SAP Note 831162 Adapter o

FAQ: XI 3.0 / PI 7.0 / PI 7.1 JDBC

A: Specify the parameter "SelectMethod=Cursor" (without double quotes) as part of your connection URL, as in: jdbc:microsoft:sqlserver://dbhost:1433;databaseName=example;SelectM ethod=Cursor

16. NULL Value Handling o

Q: How are NULL values returned from the database handled by the JDBC Adapter?

o

A: The NULL values are returned by means of an empty XML element.

17. Receiver: java.sql.SQLException During First Message Processing o

Q: When sending a message to a JDBC receiver channel for the first time after an extended inactivity period, I am observing a java.sql.SQLException in the adapter's processing, which refers to a closed connection or a timeout? What is causing this and how do I work around this problem?

o

A: The database server has apparently closed the adapter's JDBC connection from the server side. Nevertheless, the message should be processed successfully during the next retry. If you want to completely eliminate the symptoms, enable the setting "Advanced Mode" -> "Disconnect from database after each message processing". Note that this might have a negative performance impact for high-volume processing.

18. JDBC Driver Defects / Technical Support o

Q: I discovered an interoperability problem with a given JDBC driver. Will SAP implement a workaround for this problem or contact the JDBC driver vendor to coordinate the bug fixing of the JDBC driver with the driver vendor?

o

A: The JDBC Adapter is designed to work with JDBC 2.0 compliant JDBC driver implementations. If a given driver does not follow this standard - either by design or due to a defect - the driver vendor is the responsible contact for any discussions regarding necessary corrections in the JDBC driver. SAP cannot initiate the vendor contact as SAP does not have a support and/or partner agreement with most of the various JDBC driver vendors. For a list of known driver incompatibilities, refer to note 941317.

Using UPDATE_INSERT with MS SQL Server:java.sql.SQLException Cannot 19.

o

insert duplicate key

Q: When I construct payload using UPDATE_INSERT, I get Cannot insert duplicate key in object XXX. How do I resolve this? A: You need to create UNIQUE INDEX for the table with 'IGNORE_DUP_KEY' option. For instance, if the table name is TEST and its primary key is id, then following statement may be executed using Query analyzer tool. CREATE UNIQUE INDEX TEST_INDEX ON TEST(id) WITH IGNORE_DUP_KEY

07.02.2011

Page 8 of

15

SAP Note 831162 Adapter

FAQ: XI 3.0 / PI 7.0 / PI 7.1 JDBC

After executing the above command, please re-run the scenario. 20.

ClassNotFoundException while using SQL Server 2005 Driver o

Q: I am not able to connect to DB using SQL Server 2005 driver if I use com.microsoft.jdbc.sqlserver.SQLServerDriver as driver class name. I get classNotFoundException. Why? A: Driver class names for SQL Server 2000 driver and SQL Server 2005 driver are different. If you are using SQL Server 2005 driver, then class name should as follows:

be

Driver class: com.microsoft.sqlserver.jdbc.SQLServerDriver URL :jdbc:sqlserver://:port;databaseName= If you are using SQL Server 2000 driver , then class name should be as follows: Driver class: com.microsoft.jdbc.sqlserver.SQLServerDriver and URL is as follows: jdbc:microsoft:sqlserver://:port;databaseName=

ORACLE: ORA-08177: can't serialize access for this transaction 21.

o

Q: When I configure SERIALIZABLE isolation level for the channels, I frequently get errors like ORA-08177:Can't serializa access for this transaction. How do I resolve this?

o

A: Answer for this is best answered by Oracle DB experts. The following is written in Oracle documentation. Oracle database uses control information stored in the data block that indicates which rows in the block contain committed and uncommitted changes. In a sense, the block contains a recent history of transactions that affected each row in the block. The amount of history that is retained is controlled by the INITRANS parameter of CREATE TABLE and ALTER TABLE. Under some circumstances, Oracle can have insufficient history information to determine whether a row has been updated by a "too recent" transaction. This can occur when many transactions concurrently modify the same data block, or do so in a very short period. You can avoid this situation by setting higher values of INITRANS for tables that will experience many transactions updating the same blocks. Doing so enables Oracle to allocate sufficient storage in each block to record the history of recent transactions that accessed the block. One of the solutions for this problem is set higher value(say 5) in INITRANS to table that throws the ORA-08177 errors. If table name is 'TEST', then you may use the following command:

07.02.2011

Page 9 of

15

SAP Note 831162 Adapter

FAQ: XI 3.0 / PI 7.0 / PI 7.1 JDBC

ALTER TABLE TEST INITRANS 5;

ORACLE: Oracle 9.2.0.x database with Oracle JDBC 10.2.0.x driver. 22.

o

Q: Will I have any problems, if I use Oracle JDBC 10.2.0.x driver with 9.2.0.x Database?

o

A: Please refer to the interoperability matrix given at Oracle site "http://www.oracle.com/technology/tech/java/sqlj_jdbc/index.html"

java.sql.SQLException: IO exception: Connection reset/Error establishing Socket/Connection reset by peer /socket write error 23.

o

Q: During JDBC message processing I frequently get either Connection reset errors or Error establishing Socket or Connection reset by Peer or Socket Write Error. How do I resolve this? A: This error basically means JDBC driver found the socket which was dead while it was trying to write through it. The reasons for this could be either network broke the socket between the driver and the DBMS, or the DBMS had a failure which required it to terminate the connection abruptly. Please check the DBMS error logs to see if there are any messages about killing a session. One more thing you might want to look at are any timeout settings on network hardware/software between your DBMS and XI system where JDBC adapter is running. Also, may be the DBMS has an idle connection timeout, and is closing connections because of time-out. DBMS error log would probably help in his case. If you are not able to analyze DBMS logs, then contact DB administrator or DB vendors who supplied JDBC driver to you. We advise you to contact DB vendor to get better idea of how to resolve this problem.

Messages processed by JDBC receiver are in delivering state forever 24.

o

Q: During JDBC receiver message processing I see that some messages are in "delivering" state forever. How do I solve this? A: Please set the receiver channel configuration Exactly Once handling parameters as "local" and "redo". The configuration setting "local" and "error" setting is some times prone to deadlock situations at the DB table level.24.

25. Test JDBC Connection

07.02.2011

Page 10 of

15

SAP Note 831162 Adapter o

FAQ: XI 3.0 / PI 7.0 / PI 7.1 JDBC

Q: How to Test JDBC Connection. A: Please refer note 1085539.

Upgrade to SP20/SP21 of XI (OR) SP12/SP13 of PI causing error in JDBC Receiver channel 26.

o

Q: I upgraded to SP20/SP21 of XI (OR) SP12/SP13 of PI. I see some/all JDBC receiver channels are not able to start and fail with "internal error".How do I resolve this? A: Open the Visual Administrator and set JDBC Adapter service property "lazyConnection" to true. Save this change and re-start the JDBC adapter service

Insertion of unicode data into MS SQL Server Database causing corrupted unicode characters(eg:Japanese, korean, chinese, Greek, etc) 27.

o

Q: Data contains many ?? (or corrupted) characters after inserting unicode data into MS SQL Server using JDBC reciever adapter. How to solve this problem? A: When we want to store unicode data in MS SQL Server table, we have to preset an N in front of the string to mark it as an unicode string. eg : insert into (col1) values (N'Some Unicode Characters') With this, the data will be correctly inserted. Setting unicode in the URL string to the database will not change this behaviour, we have to set a N in front of the string. For clarity, one example: If your original "INSERT" operation looks like this: realDbTableName val1 val2

07.02.2011

Page 11 of

15

SAP Note 831162 Adapter

FAQ: XI 3.0 / PI 7.0 / PI 7.1 JDBC

And if "col1" and "col2" contains Unicode data, change the xml document as follows: realDbTableName N'val1' N'val2'

28.

Effect of setting Maximum Concurrency and poolWaitingTime o

Q: What is the meaning of different values of Maximum Concurrency? How should be poolWaitingTime set for different values of Maximum Concurrency? A: Maximum Concurrency Parameter is used to acquire parallel DB connections for the same receiver JDBC channel. 1. Maximum Concurrency = 1 This is the default value of Maximum Concurrency. This means a single receiver JDBC channel can acquire only one DB connection. This case does not offer any parallel processing of messaging by single channel. 2. Maximum Concurrency > 1 This ensures that resource pool size(DB conneciton size) is limited to specified value per single JDBC receiver channel. For instance, setting this parameter to 2 will ensure that a single receiver JDBC channel can acquire 2 DB connections in parallel(if needed). 3. poolWaitingTime

07.02.2011

Page 12 of

15

SAP Note 831162 Adapter

FAQ: XI 3.0 / PI 7.0 / PI 7.1 JDBC

This timeout value will define the maximum waiting time to get the connection from resource pool. If connection is not available within this time, we return the message to Messaging System and the message is in retry mode. The configuration of this timeout requires the use of an advanced mode configuration parameter. To configure a timeout for the JDBC receiver channels, please enable the "Advanced Mode" for the respective JDBC communication channel in the Integration Directory and add an entry "poolWaitingTime" and set to a time in Milli Secs (without any quotation marks) to the "Additional Parameters" section. This parameter is case-sensitive. The default value of this parameter is 5000 Milli Secs. The default value ensures a channel will wait 5000 Milli Secs before aquiring connection. 4. Maximum Concurrency = 1 When Maximum concurrency is set to 1 poolWaitingTime should be set to 0. This makes sure the channel can wait infinitely to get the DB connection. This will prevent messages to get into error state un-necessarily. 5. Maximum Concurrency > 1 Before setting this, please apply note 1136790. For Maximum Concurrency > 1, this note should be applied and then only proceed with the following.

When Maximum Concurrency > 1 poolWaitingTime must be set to an optimal value. This should be more or less equal to time required to aquire a connection on a remote DB/FTP. If this is not known set this to 1 min(60000 Milli Secs). This will ensure if channel can not get the DB connection with in the time specified then after 3 retries the thread will be released for other channels and message back-log can be reduced.

29.How o

to delete manually hanging Enqueue-Locks Q: During the OOM error the J2ee engine goes down while the lock in the enqueue server still persists.When the channel comes back during restart as the effect of OOM error it will not able to get the cluster wide enqueue lock as the previous lock remains there in the enqueue server.How do I resolve this? A: The existing (hanging) enqueue server locks for the corresponding JDBC channels(JDBC Lock Arguments) can be deleted manually by following given below stated procedure: 1. Stop the corresponding JDBC channels.

07.02.2011

Page 13 of

15

SAP Note 831162 Adapter

FAQ: XI 3.0 / PI 7.0 / PI 7.1 JDBC

2. Open Visual Administrator. 3. Route to correspondig server. 4. Expand services and go to Locking adapter. 5. In the locking adapter service go to Display locks tab and click on refesh button then you will able to see the list of all the available locks. 6. Select the existing (hanging) enqueue lock with JDBC Argument from the list. 7. Click on "Delete Selected Locks" button. 30.

the

Recommendation in designing the XML format while processing message in the Receiver Side JDBC adapter. o

Q: When processing an XML message in the receiver side JDBC to modify/retrieve the data in/from Oracle database, I would like to design the columns names with lowercase value. But I facing the problem like : 'FATAL ERROR: Column does not exist in table'

am

A: In JDBC receiver side processing, when designing the XML message, care should be taken while writing the column names i.e., in uppercase/lowercase. Depending upon the corresponding database driver implementation (used to retrieve/modify the data)column names should be written in the correspondent case. For example, when you try to use Oracle database to retrieve/modify the data, care should be taken that column names should be written in uppercase as the column names in the Oracle database are in uppercase(by default). In JDBC receiver adapter, when it tries to parse the XML payload into SQL query, then it checks for each and every column name(with case) by a metadata check which is done by the corresponding driver implementation. If the driver returns everything in uppercase then you have to ensure that, in the payload also you give them in uppercase. If the driver gives a case sensitive table name then have the case sensitive table name in the payload.

Header Data Release Status: Released on: Master Language: Priority: Category: 07.02.2011

Released for Customer 01.12.2010 06:53:46 English Recommendations/additional info FAQ Page 14 of

15

SAP Note 831162 Adapter Primary Component:

FAQ: XI 3.0 / PI 7.0 / PI 7.1 JDBC

BC-XI-CON-JDB JDBC Adapter

Valid Releases Software Component

Release

SAP_XIAF SAP_XIAF SAP_XIAF SAP_XIAF SAP-XIAFC SAP-XIAFC

3.0 7.00 7.10 7.30 7.00 7.10

From Release 3.0 7.00 7.10 7.30 7.00 7.10

To Release 3.0 7.02 7.11 7.30 7.00 7.10

and Subsequent

X

Related Notes Number 1138877 941317 850116 846079 841704 823809 821268

Short Text PI 7.1 : How to Deploy External Drivers JDBC/JMS Adapters XI / PI JDBC Adapter: Known Problems / Incompatibilities XI 3.0 / PI 7.0 JDBC Adapter: Type 2 JDBC Driver Deployment XI 3.0 JDBC Receiver: # of Retries on SQL Error w/o Effect XI File & JDBC Adapter: Operating system command XI 3.0 JDBC Adapter: Rollback not performed on DB error XI 3.0 / PI 7.0 AF: Overview of available FAQ notes

SP Patch Level Software Component Version

Support Package

XI ADAPTER FRAMEWORK 7.11 XI ADAPTER FRAMEWORK 7.30

SP004 SP000

07.02.2011

SP Patch Level 000008 000000

Page 15 of

15

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF