Strange behavior of JDBC Adapter
Hello everybody!
I found a pretty strange behaviour of JDBC Receiver Adapter during problems with network (big thanks to our Basis). According to the status in Adapter Engine, the message wasn't processed. In the database I can see these inserts. However, there are more lines in the XML than lines in the database. So, how it is possible that adapter commits only part of inserts. Logs and settings see below.
My XML includes a SQL_DML statement and a few INSERT statements, each contains many inserts.
It looks like that:
<?xml version="1.0" ?>
<MyMessage>
<statement>
<table1 action="SQL_DML">
<access>here I delete old values</access>
</table1>
</statement>
<statement>
<table2 action="INSERT">
<access>some data</access>
</table2>
</statement>
<statement>
<table3 action="INSERT">
<access>some data</access>
</table3>
</statement>
</MyMessage>
Part of adapter log is here:
Information
Message successfully put into the queue
Information
The message was successfully retrieved from the receive queue
Information
Message status set to DLNG
Information
Delivering to channel: Adapter_Name
Information
MP: processing local module localejbs/CallSapAdapter
Information
Receiver JDBC adapter: processing started; QoS required: ExactlyOnce
Information
JDBC Adapter Receiver Channel Adapter_Name: Processing started; party / service BS
Information
Database request processed successfully
Error
MP: exception caught with message Ack handling failed: creation of messageFactory failed: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Connection JDBC_http://sap.com/xi/XI/System is currently not started.
Error
Exception caught by adapter framework: Ack handling failed: creation of messageFactory failed: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Connection JDBC_http://sap.com/xi/XI/System is currently not started.
Error
Delivery of the message to the application using connection JDBC_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.lang.Exception: Ack handling failed: creation of messageFactory failed: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Connection JDBC_http://sap.com/xi/XI/System is currently not started.
Information
Message status set to WAIT
Information
The asynchronous message was successfully scheduled to be delivered at ...
Information
Message status set to TBDL
Information
Retrying to deliver message to the application. Retry: 1
Information
The message was successfully retrieved from the receive queue
Information
Message status set to DLNG
Information
Delivering to channel: Adapter_Name
Information
MP: processing local module localejbs/CallSapAdapter
Information
Receiver JDBC adapter: processing started; QoS required: ExactlyOnce
Information
JDBC Adapter Receiver Channel Adapter_Name: Processing started; party / service BS
Error
Unable to execute statement for table or stored procedure. 'Table' (Structure 'statement') due to com.microsoft.sqlserver.jdbc.SQLServerException: Violation of PRIMARY KEY constraint 'fields'. Cannot insert duplicate key in object 'Table'. The duplicate key value is (field values).
Error
JDBC message processing failed; reason Error processing request in sax parser: Error when executing statement for table/stored proc. 'Table' (structure 'statement'): com.microsoft.sqlserver.jdbc.SQLServerException: Violation of PRIMARY KEY constraint 'fields'. Cannot insert duplicate key in object 'Table'. The duplicate key value is (field values).
Error
MP: exception caught with cause com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'Table' (structure 'statement'): com.microsoft.sqlserver.jdbc.SQLServerException: Violation of PRIMARY KEY constraint 'fields'. Cannot insert duplicate key in object 'Table'. The duplicate key value is (field values).
Error
Exception caught by adapter framework: Error processing request in sax parser: Error when executing statement for table/stored proc. 'Table' (structure 'statement'): com.microsoft.sqlserver.jdbc.SQLServerException: Violation of PRIMARY KEY constraint 'fields'. Cannot insert duplicate key in object 'Table'. The duplicate key value is (field values).
Error
Delivery of the message to the application using connection JDBC_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'Table' (structure 'statement'): com.microsoft.sqlserver.jdbc.SQLServerException: Violation of PRIMARY KEY constraint 'fields'. Cannot insert duplicate key in object 'Table'. The duplicate key value is (field values).
Adapter settings:
Maximum concurrency: 20
Persistence: Local
Conflict Resolution: Redo
Advanced Mode: On
Number of Retries of Database Transaction on SQL Error: 0
Transaction Isolation Level: serializable
Dear All,
Follow the steps below to resolve the "Connection JDBC_http://sap.com/xi/XI/System is currently not started." issue:
1. Log in to NWA
2. Navigate to Operations -> Systems -> Start & Stop
3. Click on Java Services tab
4. Search the service Service "XPI Adapter: JDBC"
5. Select the service XPI Adapter: JDBC and click on Restart button
With the restart of JDBC Service in NWA, the channels should start working properly
Regards,
Shreyansh
Similar Messages
-
Strange behavior of FILE-Adapter in PROD-System
Hello experts,
well we have a File2IDoc Scenario which is running fine in DEV.
Sender is a Business Service with FTP-Access and Receiver is a Business System with IDoc-CC.
The Service has 2 FTP-CC which are pointing in the same folder, one is reading txt the other csv.
When transporting both to PROD, the one reading txt is running fine. The one reading csv gives this error:
com.sap.aii.adapter.file.ftp.FTPEx: 550 CWD failed. "/Prod/SAP_Input/Liste_Input": directory not found.'
Funny thing is that in DEV the Path ends with "/" which i also configured in PROD but he is not understanding the path!! As mentioned, the txt-CC is reading from the same folder, here the path is accepted!!
So what can i do?!
What i already did:
1. deleted and re-imported the csv-CC + giving the path
2. restart FILE-Service in Visual Admin
Any ideas?! I have no clue!
brHi, ok thanks again.
I already enterd the FTP via console and it looks good for the path.
The strange thing is still that even when i delete the path and activate the CC in PROD the old path is still taken. After Cache-Refresh nothing changed.
So i deleted the CC in PROD and in DEV. In DEV i generated a complety new CC polling on the folder. Reconfigured the sender-Agreement, exported.
After importing in PROD still the old CC exists even though i deleted it! Checked CC-Monitoring, still same CC and same error concerning path!
So i went nuts and restarted whole server with DB. After server coming up again, i checked again for the new CC - but it's still the old one!!!!
So what is running wrong here?!
i am really desperate!!
br -
Strange behaviour of JDBC query for CHAR column
Hi,
I have a simple table with char type and several records in the table.
create table char_test(str char(50));
insert into char_test values ('abc');
insert into char_test values ('abc ');
insert into char_test values ('abc ');
In JDBC, if I have a query like
PreparedStatement st = conn.prepareStatement("select str from char_test where str = 'abc'");
ResultSet rs = st.executeQuery();
All three rows will be returned.
However, If I use parameter for the PreparedStatment, nothing will be returned if the value of the parameter is passed as "abc".
PreparedStatement st = conn.prepareStatement("select str from char_test where str = ?");
st.setString(1, "abc");
ResultSet rs = st.executeQuery();
Personally, I think this is a bug of Oracle JDBC driver. Could anybody please give me any explanation?
Thanks,
Bill
PS. I'm using Oracle 10g Release 2 DB and ojdbc14.jar under jdk 1.5.Hello Bill,
Have you solved your problem ?
I have encountered a similar one and found a strange behavior of JDBC driver for PrepareStatement : in some cases, deep in JDBC driver, the parameter values could'nt be convert and are send as null values to the server.
Here are partial driver logs, the first for a program which works fine and the second for one which turns on error.
============================
<record>
<date>2006-09-06T16:27:43</date>
<millis>1157552863218</millis>
<sequence>335</sequence>
<logger>oracle.jdbc.conversion</logger>
<level>FINE</level>
<class>oracle.jdbc.driver.DBConversion</class>
<method>javaCharsToCHARBytes</method>
<thread>10</thread>
<message>DBConversion.javaCharsToCHARBytes(chars[]= (26 bytes):
00 0c 00 65 00 78 00 70 00 73 00 74 00 6f 00 0a 00 73 00 6c
00 65 00 65 00 70 , charOffset=1, bytes[]= (7 bytes):
00 00 00 00 00 00 00 , byteOffset=0, cs=178, nchars=6)</message>
</record>
<record>
<date>2006-09-06T16:27:43</date>
<millis>1157552863218</millis>
<sequence>336</sequence>
<logger>oracle.jdbc.conversion</logger>
<level>FINE</level>
<class>oracle.jdbc.driver.DBConversion</class>
<method>javaCharsToCHARBytes</method>
<thread>10</thread>
<message>DBConversion.javaCharsToCHARBytes(chars, nchars, bytes[], cs): returned 6</message>
</record>
=============================
javaCharsToCHARBytes gets 6 characters OK
=============================
<record>
<date>2006-09-06T16:12:32</date>
<millis>1157551952843</millis>
<sequence>333</sequence>
<logger>oracle.jdbc.conversion</logger>
<level>FINE</level>
<class>oracle.jdbc.driver.DBConversion</class>
<method>javaCharsToCHARBytes</method>
<thread>10</thread>
<message>DBConversion.javaCharsToCHARBytes(chars[]= (40 bytes):
00 26 00 73 00 74 00 6f 00 72 00 61 00 67 00 65 00 5f 00 53
00 74 00 6f 00 72 00 65 00 2e 00 71 00 75 00 65 00 72 00 79 , charOffset=1, bytes[]= (20 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 , byteOffset=0, cs=178, nchars=19)</message>
</record>
<record>
<date>2006-09-06T16:12:32</date>
<millis>1157551952843</millis>
<sequence>334</sequence>
<logger>oracle.jdbc.conversion</logger>
<level>FINE</level>
<class>oracle.jdbc.driver.DBConversion</class>
<method>javaCharsToCHARBytes</method>
<thread>10</thread>
<message>DBConversion.javaCharsToCHARBytes(chars, nchars, bytes[], cs): returned 0</message>
</record>
=============================
javaCharsToCHARBytes gets 0 characters instead of 19
But I am unable to discover the differences between the 2 programs in the JDBC driver usage.
Does this sounds familiar to someone ?
François -
JDBC adapter table update Behaviour in PI
Hello Experts ,
I have Proxy to JDBC scenario ,please let know is there possible way to insert more than one line diff item for the same record ??
Could you please explain the behavior of JDBC adapter.
For Instance :
Expected Behavior:
Po number1 , item1 . ( first level of execution )
Po number1 , item2. (second level of execution )
Actual Behavior :
Po number1 , item2. (second level of execution )
In my scenario it is updating only the recent value , could you please suggest me .
Regards
RajaHi ,
Hope you are doing as below in mapping.
Open insert statement twice and don't use PO Number as key field value .
Ex:
case1:
Insert into tablename(ponumber,item) values(123,'xyz') ;
Insert into tablename(ponumber,item) values(123,'rtz') ;
O/P:two records gets inserted
123 xyz
123 rtz
case2:
Insert into tablename(ponumber,item) values(123,'xyz') where ponumber =123 ;
Insert into tablename(ponumber,item) values(123,'rtz') where ponumber =123 ;
O/P:2nd record overwrites the 1st record
123 rtz
Regards
Venkat -
Problem with XML SQL JDBC adapter
Hello All.
I have quite strange problem with my PI.
Whole scenario is SOAP -> JDBC, asynchronous. Everything works fine on DEV server. After transporting objects (using CTS) to QA env I'm getting this error:
JDBC Message processing failed, due to Error processing request in sax parser:
No 'action' attribute found in XML document
(attribute "action" missing or wrong XML structure)
But document seems to be correct. I've compared it to DEV server documents - they are identical. What could be wrong??
Document looks like this:
<ns2:BIPMessage xmlns:ns2="http://mynamespace.com/xi/sn"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<synchSlLok>
<STATEMENTNAME>
<SYNCH_SL_LOK ACTION="INSERT">
<TABLE>SYNCH_SL_LOK</TABLE>
<ACCESS>
<ID_TRANS>22050</ID_TRANS>
<ID_LOK>1234</ID_LOK>
<ID_CBK>1000050911</ID_CBK>
<NR_LOK>1234</NR_LOK>
<OPIS_LOK>12312312312312</OPIS_LOK>
<TYP>D</TYP>
<OPERACJA>U</OPERACJA>
</ACCESS>
</SYNCH_SL_LOK>
</STATEMENTNAME>
</synchSlLok>
</ns2:BIPMessage>
TIA
Best Regads
MaciejHi,
i was also facing the same error few days back in a JDBC -RFC-JDBC Synchronous scenario. In that scenario, i was using 2 modules in JDBC sender module tab. It was working fine. later i change polling interval and then i started getting same error. it happened coz of sequence of Module got changed somehow.
So please check in Receiver JDBC adapter and SOAP sender adapter CC if anything is changed. If this scenario is working in DEV as it is then it should work after transport.
Else have a look here
Re: attribute "action" missing or wrong XML structure
JDBC - No 'action' attribute found in XML document - error
Regards
Aashish Sinha
Edited by: Aashish Sinha on Mar 15, 2011 10:42 AM -
JDBC Adapter Quoting of String
Hi everybody!
I am posting data to a JDBC Receiver adapter using the JDBC adapter's XML format. I have configured the logging of the adapter to show the SQL commands issued to the adapter, since I received some strange errors from the database.
I now find entries like:
INSERT INTO xxx (field1, field2, field3) VALUES (value1, , value3)
Notice the "missing" value2 - the field's value is a space character (" "). However, I actually wanted to quote the values in this field, since this SQL command of course gives a syntax error because of the two consecutive commas...
How can I quote strings in this SQL command?
Regards, JoergHi,
I don't know if I stated my problem clearly enough... Here is the XML document I post to the JDBC adapter:
<root>
<insert>
<xxx action="INSERT">
<field1>value1</field1>
<field2> </field2>
<field3>value1</field3>
</xxx>
</insert>
</root>
(note the blank character for field2's value). If I understand your answer correctly, I should use the following instead:
<root>
<insert>
<xxx action="INSERT">
<field1>'value1'</field1>
<field2>' '</field2>
<field3>'value1'</field3>
</xxx>
</insert>
</root>
This is somewhat inconvenient, since there might be <b>NULL</b> values as well and I'd have to code manymany <b>if</b> statements and <b>mapWithDefaults</b>, then. I was wondering if there is something like the config setting "Interpretation of Empty String Values" for NULL values, some switch I set globally in order to <i>always</i> quote a string...
Regards, Joerg -
JDBC adapter can't find the jdbc driver class
Hello, my jdbc driver give an very strange error
11:46:13 (4207): JDBC adapter terminated
Mon Aug 02 11:46:13 CEST 2004 *****
11:46:13 (4210): ERROR: Attempt to load JDBC driver failed ("java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver")
Attempt to intialize JDBC adapter failed
11:46:13 (4203): Unable to start JDBC adapter (not initialized)
I know that the jdbc driver is in the classpath, and to confirm that I have created a java program in the IB (repository) which import the class oracle.jdbc.driver.OracleDriver. I can compile and run that program without problems.
Here you can see my jdbc adapter configuration file:
jdbc adapter java class
classname=com.sap.aii.messaging.adapter.ModuleDB2XMB
mode=DB2XMB
Integration Engine address and document settings (example, see docu)
XMB.TargetURL=http://<host>:<port>/sap/xi/engine?type=entry
XMB.SenderBusinessSystem=ExtAdapterSender
XMB.SenderInterfaceNamespace=http://sap.com/xi/xidemo
XMB.SenderInterfaceName=ExtAdapterSenderIF
XMB.QualityOfService=EO
##DB Adapter specific parameters (example for SQL-Server, see docu)
db.jdbcDriver=oracle.jdbc.driver.OracleDriver
db.connectionURL=jdbc:oracle:<user>:<password>/hello@<url>:<port>:<instance>
db.processDBSQLStatement=Select * emp
db.pollInterval=600
xml.recordsetsPerMessage=1Hi Ernesto,
Can you try to the following:
1. Remove your JDBC driver entries from the CLASSPATH.
2. Put those jars into your jre/lib/ext directory.
3. Restart the whole adapter engine, and
4. Config the driver java class for the adapter. the class name to be used can be found in your JDBC driver document.
Let me know whether it works.
Hart -
Sender JDBC adapter slow processing in Production
Hi All,
We are facing an issue with processing time for Sender JDBC adapter.
We tested a scenario in Quality for JDBC to Proxy. In quality the Sender JDBC adapter is taking around 30-50 sec. to send data to PI, but in production the JDBC adapter is taking more then 7 mins to send the same amount of data from DB to PI.
We have checked the setting in PI; it is same in both the systems (Q and P).
Even the parameters for both the servers maintained same.
Can any body please suggest the reason of this behavior and any workaround?
Regards,
RahulBased on my experience, these are the things that could be used to improve JDBC performance
1. You may increase the thread count for JDBC related queues. This has to be done in accordance with SAP Note 1084161.
2. There is parameter in JDBC communication channel called Maximum Concurrency. It signifies that one communication channel can make how many connections to database. This is 1 by default and could be increased to some values like 3-4.
3. In the Visual Admin/ NWA, there is a parameter called as queueParallelism.maxReceivers which defines the number of parallel worker threads for one receiver channel instance. This should be done following SAP Note 1136790. This can be done along with the first point.
Regards,
Prateek -
XI JDBC Adapter using stored procedures
Hi
I am using the JDBC adpapter to call a stored procedure on a SQL database.
In the adapter configuration I am using 'com.microsoft.jdbc.sqlserver.SQLServerDriver' as the JDBC Driver parameter and 'jdbc:microsoft:sqlserver://LIBOEE01:1433;DatabaseName=DEV_OEE;SelectMethod=cursor;' as the connection string.
My payload is as follows:
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<Statement>
<PL101_SAPR3_SKU_OBJ action="EXECUTE">
<p_verb isInput="true" type="varchar">CREATE</p_verb>
<p_site_id isInput="true" type="varchar">GPK</p_site_id>
<p_sap_line_id isInput="true" type="varchar">LN005</p_sap_line_id>
<p_sku_id isInput="true" type="varchar">4014847</p_sku_id>
<p_sku_desc isInput="true" type="varchar">Klipdrift Exp - 12x750ml</p_sku_desc>
<p_bottles_in_sku isInput="true" type="float">12</p_bottles_in_sku>
<p_bps_sap isInput="true" type="float">2.083</p_bps_sap>
</PL101_SAPR3_SKU_OBJ>
</Statement>
</root>
However, when I cal lthe interface I receive the follwoing error in the adapter:
2007-07-18 11:25:03 Error MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: JDBC Adapter configuration not initialized: null
2007-07-18 11:25:03 Error Exception caught by adapter framework: JDBC Adapter configuration not initialized: null
2007-07-18 11:25:03 Error Delivery of the message to the application using connection failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: JDBC Adapter configuration not initialized: null.
Is this possibly casued by the driver being the incorrect version?
Regards
MichaelHi Kanth,
Thanks for your response, but the blog by Siva Maranani is actually where I got my code from. Upon further research I think have found the problem as experienced in this blog --> Re: MS SQL Server jdbc Driver installation on XI . There are 2 jar files missing from our SQL JDBC driver --> msbase.jar and msutil.jar, I think once I have added these to the driver it might work. Strange that when you download the driver from microsoft's website that these 2 files are only available in the UNIX download though!
Regards
Michael -
Zenworks Agent 10.3.3 - Windows 7 32 -Strange behavior
Hi,
Here's my problem :
I have a SYSPREP fully functionnal that install the Novell Client IR9a on a Windows 7 SP1 32Bits and at the end i have a VBS File that download the latest version of Zenworks Agent installer to the local harddrive. After it installs it... Then a strange behavior happen after the required reboot by the installer.
You can't ping any DNS names until until you have rebooted your machine 3 times.
-> You can ping ip addresses but not their names.
I tried to do a flush dns realse or renew and same behavior... can't ping any DNS names.
This problem is not there if i do not install the Adaptive agent and leave the Novell Client Alone...
The Windows 7 was originally a home premium that was upgraded to a oem pro license if that can ring any bell.
Thank you.There was an issue a LONG time ago that I have not heard reported
since..........
http://www.novell.com/support/viewCo...rnalId=7004310
Maybe the old work-around will help you...........
On 1/16/2012 2:46 PM, anto28 wrote:
>
> Hi,
>
> Here's my problem :
>
> I have a SYSPREP fully functionnal that install the Novell Client IR9a
> on a Windows 7 SP1 32Bits and at the end i have a VBS File that download
> the latest version of Zenworks Agent installer to the local harddrive.
> After it installs it... Then a strange behavior happen after the
> required reboot by the installer.
>
> You can't ping any DNS names until until you have rebooted your machine
> 3 times.
>
> -> You can ping ip addresses but not their names.
>
> I tried to do a flush dns realse or renew and same behavior... can't
> ping any DNS names.
>
> This problem is not there if i do not install the Adaptive agent and
> leave the Novell Client Alone...
>
> The Windows 7 was originally a home premium that was upgraded to a oem
> pro license if that can ring any bell.
>
> Thank you.
>
>
Craig Wilson - MCNE, MCSE, CCNA
Novell Knowledge Partner
Novell does not officially monitor these forums.
Suggestions/Opinions/Statements made by me are solely my own.
These thoughts may not be shared by either Novell or any rational human. -
Login problems... strange behavior seen
Hello. I'm seeing a strange behavior with regard to invalid database
logins and JDO. I have a few test cases. First I try to pass an invalid
username to JDO. This test case fails and throws a
FatalInternalException, which is what I expect. Then, I pass a valid
username and I am able to connect and retrieve an entry from the database.
Next, if I run the same invalid username test case again, it throws a
DataStoreException. I am wondering if the username and password from the
valid test case is getting saved somehow and is being used by the second
run of the invalid username test case. Any ideas?
Thanks,
MikePatrick Linskey wrote:
Can you post the exceptions that you're seeing?
-PatrickPatrick, below are the two exceptions that I'm getting. The first one is
the one that I receive the first time that I run the test case. The
second one is the exception that I receive when I run the same test case
again after a test case that has valid login information. The strange
thing is that I would expect the top-level exception for both of them to
be the same. Thanks for the help...
-Mike
com.solarmetric.kodo.runtime.FatalInternalException:
java.sql.SQLException: Logon failed. Msg 18456, Severity 14, State 1,
Login failed for user 'ingres'., Server , Procedure , Line 0
[code=0;state=null]
NestedThrowables:
com.solarmetric.kodo.runtime.FatalDataStoreException:
java.sql.SQLException: Logon failed. Msg 18456, Severity 14, State 1,
Login failed for user 'ingres'., Server , Procedure , Line 0
[code=0;state=null]
NestedThrowables:
java.sql.SQLException: Logon failed. Msg 18456, Severity 14, State 1,
Login failed for user 'ingres'., Server , Procedure , Line 0
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerFactory.createSQLExecutionManager(SQLExecutionManagerFactory.java:72)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.newSQLExecutionManager(JDBCStoreManager.java:763)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.getSQLExecutionManager(JDBCStoreManager.java:673)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.initialize(JDBCStoreManager.java:343)
at
com.solarmetric.kodo.runtime.StateManagerImpl.loadInitialState(StateManagerImpl.java:215)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectByIdFilter(PersistenceManagerImpl.java:1310)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectById(PersistenceManagerImpl.java:1211)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.PSHelper.get(PSHelper.java:155)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.JDOPublicationDAO.doGet(JDOPublicationDAO.java:611)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.JDOPublicationDAO.get(JDOPublicationDAO.java:339)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.test.TestPublicationDAO.test_get_invalidPassword(TestPublicationDAO.java:285)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at
com.ca.cleverpath.test.junit.extensions.CleverPathTestRunner.runTestSuite(Unknown
Source)
at
com.ca.cleverpath.test.junit.extensions.CleverPathTestRunner.main(Unknown
Source)
NestedThrowablesStackTrace:
com.solarmetric.kodo.runtime.FatalDataStoreException:
java.sql.SQLException: Logon failed. Msg 18456, Severity 14, State 1,
Login failed for user 'ingres'., Server , Procedure , Line 0
[code=0;state=null]
NestedThrowables:
java.sql.SQLException: Logon failed. Msg 18456, Severity 14, State 1,
Login failed for user 'ingres'., Server , Procedure , Line 0
at
com.solarmetric.kodo.impl.jdbc.runtime.SQLExceptions.throwFatal(SQLExceptions.java:58)
at
com.solarmetric.kodo.impl.jdbc.schema.DBDictionaryFactory.getDictionary(DBDictionaryFactory.java:212)
at
com.solarmetric.kodo.impl.jdbc.JDBCSimpleConfiguration.getDictionary(JDBCSimpleConfiguration.java:370)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerFactory.createSQLExecutionManager(SQLExecutionManagerFactory.java:65)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.newSQLExecutionManager(JDBCStoreManager.java:763)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.getSQLExecutionManager(JDBCStoreManager.java:673)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.initialize(JDBCStoreManager.java:343)
at
com.solarmetric.kodo.runtime.StateManagerImpl.loadInitialState(StateManagerImpl.java:215)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectByIdFilter(PersistenceManagerImpl.java:1310)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectById(PersistenceManagerImpl.java:1211)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.PSHelper.get(PSHelper.java:155)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.JDOPublicationDAO.doGet(JDOPublicationDAO.java:611)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.JDOPublicationDAO.get(JDOPublicationDAO.java:339)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.test.TestPublicationDAO.test_get_invalidPassword(TestPublicationDAO.java:285)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at
com.ca.cleverpath.test.junit.extensions.CleverPathTestRunner.runTestSuite(Unknown
Source)
at
com.ca.cleverpath.test.junit.extensions.CleverPathTestRunner.main(Unknown
Source)
NestedThrowablesStackTrace:
java.sql.SQLException: Logon failed. Msg 18456, Severity 14, State 1,
Login failed for user 'ingres'., Server , Procedure , Line 0
at net.sourceforge.jtds.jdbc.Tds.<init>(Unknown Source)
at net.sourceforge.jtds.jdbc.TdsConnection.allocateTds(Unknown Source)
at net.sourceforge.jtds.jdbc.TdsConnection.<init>(Unknown Source)
at net.sourceforge.jtds.jdbc.Driver.connect(Unknown Source)
at
com.solarmetric.datasource.DataSourceImpl$AbstractPool.createConnection(DataSourceImpl.java:943)
at
com.solarmetric.datasource.DataSourceImpl$AbstractPool.getConnection(DataSourceImpl.java:569)
at
com.solarmetric.datasource.DataSourceImpl.getConnection(DataSourceImpl.java:332)
at
com.solarmetric.datasource.DataSourceImpl.getConnection(DataSourceImpl.java:325)
at
com.solarmetric.kodo.impl.jdbc.runtime.DataSourceConnector.getConnection(DataSourceConnector.java:63)
at
com.solarmetric.kodo.impl.jdbc.schema.DBDictionaryFactory.getDictionary(DBDictionaryFactory.java:179)
at
com.solarmetric.kodo.impl.jdbc.JDBCSimpleConfiguration.getDictionary(JDBCSimpleConfiguration.java:370)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerFactory.createSQLExecutionManager(SQLExecutionManagerFactory.java:65)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.newSQLExecutionManager(JDBCStoreManager.java:763)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.getSQLExecutionManager(JDBCStoreManager.java:673)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.initialize(JDBCStoreManager.java:343)
at
com.solarmetric.kodo.runtime.StateManagerImpl.loadInitialState(StateManagerImpl.java:215)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectByIdFilter(PersistenceManagerImpl.java:1310)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectById(PersistenceManagerImpl.java:1211)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.PSHelper.get(PSHelper.java:155)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.JDOPublicationDAO.doGet(JDOPublicationDAO.java:611)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.JDOPublicationDAO.get(JDOPublicationDAO.java:339)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.test.TestPublicationDAO.test_get_invalidPassword(TestPublicationDAO.java:285)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at
com.ca.cleverpath.test.junit.extensions.CleverPathTestRunner.runTestSuite(Unknown
Source)
at
com.ca.cleverpath.test.junit.extensions.CleverPathTestRunner.main(Unknown
Source)
com.solarmetric.kodo.runtime.DataStoreException:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper:
[SQL=SELECT t0.LAT, t0.CreationDate, t0.Date, t0.Description,
t0.DescriptionID, t0.InstancePersistenceSource, t0.LastChangeAuthor,
t0.LastChangeDate, t0.MetadataType, t0.Note, t0.NoteID, t0.OriginalAuthor,
t0.ResourceBundleName, t0.Status, t0.UserAccessKey,
t0.UserServiceReference FROM Publication t0 WHERE t0.InstanceID =
'PublicationNote1']
[PRE=SELECT t0.LAT, t0.CreationDate, t0.Date, t0.Description,
t0.DescriptionID, t0.InstancePersistenceSource, t0.LastChangeAuthor,
t0.LastChangeDate, t0.MetadataType, t0.Note, t0.NoteID, t0.OriginalAuthor,
t0.ResourceBundleName, t0.Status, t0.UserAccessKey,
t0.UserServiceReference FROM Publication t0 WHERE t0.InstanceID = ?]
Logon failed. Msg 18456, Severity 14, State 1, Login failed for user
'ingres'., Server , Procedure , Line 0 [code=0;state=null]
NestedThrowables:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper:
[SQL=SELECT t0.LAT, t0.CreationDate, t0.Date, t0.Description,
t0.DescriptionID, t0.InstancePersistenceSource, t0.LastChangeAuthor,
t0.LastChangeDate, t0.MetadataType, t0.Note, t0.NoteID, t0.OriginalAuthor,
t0.ResourceBundleName, t0.Status, t0.UserAccessKey,
t0.UserServiceReference FROM Publication t0 WHERE t0.InstanceID =
'PublicationNote1']
[PRE=SELECT t0.LAT, t0.CreationDate, t0.Date, t0.Description,
t0.DescriptionID, t0.InstancePersistenceSource, t0.LastChangeAuthor,
t0.LastChangeDate, t0.MetadataType, t0.Note, t0.NoteID, t0.OriginalAuthor,
t0.ResourceBundleName, t0.Status, t0.UserAccessKey,
t0.UserServiceReference FROM Publication t0 WHERE t0.InstanceID = ?]
Logon failed. Msg 18456, Severity 14, State 1, Login failed for user
'ingres'., Server , Procedure , Line 0
at
com.solarmetric.kodo.impl.jdbc.runtime.SQLExceptions.throwDataStore(SQLExceptions.java:64)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.initialize(JDBCStoreManager.java:352)
at
com.solarmetric.kodo.runtime.StateManagerImpl.loadInitialState(StateManagerImpl.java:215)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectByIdFilter(PersistenceManagerImpl.java:1310)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectById(PersistenceManagerImpl.java:1211)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.PSHelper.get(PSHelper.java:155)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.JDOPublicationDAO.doGet(JDOPublicationDAO.java:611)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.JDOPublicationDAO.get(JDOPublicationDAO.java:366)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.test.TestPublicationDAO.test_getPriority_invalidPassword(TestPublicationDAO.java:479)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at
com.ca.cleverpath.test.junit.extensions.CleverPathTestRunner.runTestSuite(Unknown
Source)
at
com.ca.cleverpath.test.junit.extensions.CleverPathTestRunner.main(Unknown
Source)
NestedThrowablesStackTrace:
java.sql.SQLException: Logon failed. Msg 18456, Severity 14, State 1,
Login failed for user 'ingres'., Server , Procedure , Line 0
at net.sourceforge.jtds.jdbc.Tds.<init>(Unknown Source)
at net.sourceforge.jtds.jdbc.TdsConnection.allocateTds(Unknown Source)
at net.sourceforge.jtds.jdbc.TdsConnection.<init>(Unknown Source)
at net.sourceforge.jtds.jdbc.Driver.connect(Unknown Source)
at
com.solarmetric.datasource.DataSourceImpl$AbstractPool.createConnection(DataSourceImpl.java:943)
at
com.solarmetric.datasource.DataSourceImpl$AbstractPool.getConnection(DataSourceImpl.java:569)
at
com.solarmetric.datasource.DataSourceImpl.getConnection(DataSourceImpl.java:332)
at
com.solarmetric.datasource.DataSourceImpl.getConnection(DataSourceImpl.java:325)
at
com.solarmetric.kodo.impl.jdbc.runtime.DataSourceConnector.getConnection(DataSourceConnector.java:63)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.getConnectionFromFactory(SQLExecutionManagerImpl.java:185)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.getConnection(SQLExecutionManagerImpl.java:147)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.prepareStatementInternal(SQLExecutionManagerImpl.java:727)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedQueryInternal(SQLExecutionManagerImpl.java:691)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeQueryInternal(SQLExecutionManagerImpl.java:600)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeQuery(SQLExecutionManagerImpl.java:355)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeQuery(SQLExecutionManagerImpl.java:339)
at
com.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping.loadByPK(ClassMapping.java:1001)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.initialize(JDBCStoreManager.java:348)
at
com.solarmetric.kodo.runtime.StateManagerImpl.loadInitialState(StateManagerImpl.java:215)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectByIdFilter(PersistenceManagerImpl.java:1310)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectById(PersistenceManagerImpl.java:1211)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.PSHelper.get(PSHelper.java:155)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.JDOPublicationDAO.doGet(JDOPublicationDAO.java:611)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.JDOPublicationDAO.get(JDOPublicationDAO.java:366)
at
com.ca.cleverpath.framework.service.metadata.persistence.driver.jdoex.test.TestPublicationDAO.test_getPriority_invalidPassword(TestPublicationDAO.java:479)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at
com.ca.cleverpath.test.junit.extensions.CleverPathTestRunner.runTestSuite(Unknown
Source)
at
com.ca.cleverpath.test.junit.extensions.CleverPathTestRunner.main(Unknown
Source) -
Pass system ack of JDBC adapter to ERP in IDoc - XI - JDBC scenario
Dear all,
i have an IDoc -> XI -> JDBC scenario (without using ccBPM). In the standard way the ERP system, sending the IDoc waits for an application acknowledgement. However the JDBC adapter is only capeable to send system acknowledgements.
Is there a way to pass these acknowledgements to the IDoc status record?
In help.sap.com (http://help.sap.com/saphelp_nwpi71/helpdata/en/ab/bdb13b00ae793be10000000a11402f/frameset.htm) under "IDoc Processing with the IDoc Adapter " there is a table that maps XI system/applic acknowledgement to IDoc status. So in my opinion the status record of my IDoc should at least chenge to the corresponding status for the system ack.
Can anyone tell, if this is really working? What if I deactivate the acknowledgement request in the NOALE programm?
In any case, can I achieve to transfer the system ack to the IDoc status without using a ccBPM?
Many thanks and best regards
FlorianIs there a way to pass these acknowledgements to the IDoc status record?
Without BPM, No.
So in my opinion the status record of my IDoc should at least chenge to the corresponding status for the system ack.
The ack referred here is related to idoc status whether it is properly reached till XI or not and not related to the JDBC ack.
What if I deactivate the acknowledgement request in the NOALE programm?
Then u won't have any ALEAUD message at sender R3.
In any case, can I achieve to transfer the system ack to the IDoc status without using a ccBPM?
No
Regards,
Prateek -
JDBC Adapter - Established database connection failed
Hi Guys,
we have installed the JDBC Adapter based on the How To Guide and we checked after the installation the Libaries :Cluster --> Server --> Libraries --> com.sap.aii.af.jmsproviderlib and the box Box "JARs Contained" was filled.
So in my point of view we have done everything right during the installation.
Now the developer tested theJDBC Adapter and he comes back with following Error:
Attempt to establish database connection failed with SQL error com.sap.aii.adapter.jdbc.sql.DriverManagementException: Cannot establish connection to URL "jdbc:microsoft:sqlserver://xxx.x.xx.xxx:1433; databaseName=CZZ03;":ClassNot FoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
Do you have any ideas?
Regards
MarkusHello Markus,
To install JDBC driver follow the how to guide.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi-how-to-guides/how%20to%20install%20and%20configure%20external%20drivers%20for%20jdbc%20and%20jms%20adapters.pdf
Configuration of JDBC Adapter for SQL Server
JDBC Driver = com.microsoft.jdbc.sqlserver.SQLServerDriver
Connection = jdbc:microsoft:sqlserver://hostname:<port>;DatabaseName=<DBName>
UserID and Password.
If the connection is not working find the correct port number.
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40b92770-db81-2a10-8e91-f747188d8033
JDBC- X I - R/3 Scenario
/people/bhavesh.kantilal/blog/2006/07/03/jdbc-receiver-adapter--synchronous-select-150-step-by-step
/people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30
Thanks,
Satya Kumar
Reward Points If it is Useful.. -
CLOB Datatype with JDBC Adapter
Hi,
we try to fill a Clob Datatype to JDBC Database.
We try 2 ways with the JDBC Adapter:
action="SQL_DML" with an SQL Statment and $placeholders$
But how can i say the key element that it is a CLOB type?
He used this a VARCHAR and there a not more than 4k Chars allowed.
second way is action="EXECUTE" to call a Stored Procedure, but there we got the error that CLOB type is an Unsupported feature.
Any Idea?
Regards,
Robin
Message was edited by: Robin SchroederOk i will check this...
But i'm right when i say that the only way to fill CLOB Type is to use a Stored Procedure ?
or is there any possibility to do this with action="SQL_DML" ?
Regards,
Robin -
Strange behavior when "trying" to burn a disk.
At least I think this is strange behavior, following the instructions in the help viewer, topic "Backing up your music to a CD or DVD." One thing for sure, it's not burning a disc and it ain't telling me why.
I select the playlist and click "Burn Disc"
Requests a blank disc. I insert one.
Message "checking media"
after about a minute, the disc ejects
Message "checking media" displays another 30 seconds
No other messages displayed.
What the ??? Shouldn't it at least display an error message??
Super-Drive information..... from System Profiler
MATSHITA DVD-R UJ-845C:
Firmware Revision: DPP9
Interconnect: ATAPI
Burn Support: Yes (Apple Shipped/Supported)
Cache: 2048 KB
Reads DVD: Yes
CD-Write: -R, -RW
DVD-Write: -R, -RW, +R, +RW
Burn Underrun Protection CD: Yes
Burn Underrun Protection DVD: Yes
Write Strategies: CD-TAO, CD-SAO, DVD-DAO
Media: No
Using Sony DVD+R discs.
Mac Mini Mac OS X (10.4.8)Whoops, sorry, this was while burning a playlist.
I've also tried some Pleomax CD disks (Samsung), with no luck. I've tried burning directly from iTunes, and from Toast 7.
Of the types I've tried, the Sony DVD's have been the best for me. Haven't tried many types though. Maybe I can get disks one at a time until I find a brand my burner likes.
Still, isn't it strange that there is NO error message? It just quits?
Mac Mini Mac OS X (10.4.8)
Maybe you are looking for
-
Access 2010, Sharepoint 2010 issue with adding field to access db table
I needed to add an additional field to one of my access tables contained in the sharepoint list. My application is a front end Access DB (run locally), and the backend is the 'data' database contained in the sharepoint lists. I added the field to th
-
Time Machine stops backup before finished
Time Machine has stopped backing up automatically. On manual backups, it stops after backing up only part of my data. I have since reformatted my backup disk and reconfigured Time Machine, but it still does not complete the backup HELP!!!!
-
Error while upgrading EP 6.0 to EP 7.0 SP15
Hi All, While upgrading SAP Portal server EP 6.0 to EP 7.0 SP15 on AIX, i got the following error... Pl suggest. *Thr 1] **LOG Q0I=> NiPConnect: connect (79: Connection refused) [nixxi.cpp 2513] *[Thr 1] *** ERROR => NiPConnect: SiConnect failed for
-
I didn't get my rental for 24 hours. How do I get it back without renting it again?
I didn't get my rental for 24 hours. How do I get it back without renting it again?
-
I just rented two movies off itunes and both are not playing... the expiration is counting down and I would not like to waste 8 dollars on movies I could not watch...Can anyone help me