Error while using Jdbc receiver adapter
Hi,
Iam using a receiver jdbc adapter to update a table in my database.Here iam using 'UPDATE' as my action in the mapping.It is giving the foowing error....
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 Please anybody tell me what may be the problem with my scenario...
Thanks & Regards,
Radhika.
Hi ,
action type should be attribute . Please go through the following structure for update .
<b>
<?xml version="1.0" encoding="UTF-8"?>
<ns1:MT_RESPONSE xmlns:ns1="http://com/Test">
<STATEMENT_NAME>
<TABLENAME action="UPDATE">
<TABLE>Utility</TABLE>
<access>
<Updated_On/>
</access>
<key>
<TrnHisID/>
</key>
</TABLENAME>
</STATEMENT_NAME>
</ns1:MT_RESPONSE></b>
query for above we may say as
<b>UPDATE Utility set Updated_On='' where TrnHisID =''</b>
Hope it helps
Regards.,
V.Rangarajan
Similar Messages
-
Error while updating database using jdbc receiver adapter
Hi All,
I am trying to update a single record using jdbc receiver adapter.
This is my the message that is getting created..
<?xml version="1.0" encoding="UTF-8" ?>
- <ns0:Data xmlns:ns0="urn:Test">
- <STATEMENT>
- <TABLENAME ACTION="UPDATE_INSERT">
<TABLE>ORDERS</TABLE>
- <ACCESS>
<OrderID>99999</OrderID>
<CustomerID>VICTE</CustomerID>
<EmployeeID>3</EmployeeID>
<ShipAddress>VICTE</ShipAddress>
</ACCESS>
- <KEY>
<OrderID compareOperation="EQ">99999</OrderID>
<ShipAddress compareOperation="EQ">VICTE</ShipAddress>
</KEY>
</TABLENAME>
</STATEMENT>
</ns0:Data>
But in Adapter Monitoring i am getting the following error..
<i>Error while parsing or executing XML-SQL document: Error processing request in sax parser: Error when executing statement for table/stored proc. 'ORDERS' (structure 'STATEMENT'): java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near 'VICTE'.</i>
Regards,
RahulRahul,
> In this case i believe the interface has to be synch.
> So what will the response message type be like..
Not necessary. UPDATE can be asynch as well.
Can you turn the trace on like pointed by Michal and then you can see the Query in the Audit Log of the adapter montioring. Try to execute the same query from your DB Client like TOAD and see what is the Syntax error you are getiing.!
The problem looks like some field has some dataype / column name mismatch.
Regards
Bhavesh -
How many messsages can we insert using JDBC receiver adapter in to DB
Hi Friends,
We are having 30 JDBC receiver interfaces in my current implementation project; load of JDBC receiver interfaces was 50 k messages per day and Performing only INSERT operation on data base.
We have created individual communication channel for every JDBC receiver interface and max concurrency value set in CC was 5.
Now we are testing all interfaces in quality with all possible cases, but we found that JDBC receiver adapter unable to process 50 k messages per day, we are on PI 7.1 EHP1 SP7.
Please share your experiences with JDBC adapter receiver like per day how many messages we can transfer.
Thanks a Ton,
RajRaja Sekhar Reddy T wrote:
we are processing 50 k individual messages.
>
> I have increased max threads for JDBC receiver to 20 but no luck same rate only . My questions here is how many messages we can trasfer using JDBC receiver adapter?
>
> Regards,
> Raj
Hi raj,
I have seen some interfaces that deal with upload of 5000 rows at a rime.. I don't there will be a restriction in the no of messages that can be transferred using the JDBC adapter as such unless until the requirement is so para-normal and in your case it is not
Kind regards
XA -
Executing Select query using JDBC Receiver Adapter
I created couple types in Oracle and also new function instead of procedure
Can I execute the above query using JDBC Receiver Adapter.
select *
from the ( select cast( apr.get_distribut('', '', '', 'hdfcgd', 'CAN') as dsrTable )
from dual );
If possible how my message structure should look like...Hi vikram,
If you use JDBC as Receiver Adapter you can only post the data to the data base I do no think so we can select the records from the data base.
If you use JDBC as Sender hope,we can the select query in the sender communication channel.
Hope I am clear.
Thanks and Regardds,
Chandu. -
Error while executing JDBC receiver and sender CC
Hi,
Iam trying to RFC to JDBC scenario.
when i do e2e testing iam facing error as "Configuration error: com.sap.aii.af.service.util.configuration.MandatoryParameterMissingException: Value missing for mandatory configuration attribute tableEOColumnNameId" in CC monitoring and "error reading SAP_XIAdapterFramework from SLD" in SXMB Moni.
Also while performing JDBC to RFC iam facing errror as
"Error during database connection to the database URL 'jdbc:sqlserver://20.198.16.115\SQLSERVER2005:14330;databaseName=SAPHRDataStore' using the JDBC driver 'com.microsoft.sqlserver.jdbc.SQLServerDriver': 'com.sap.aii.adapter.jdbc.sql.DriverManagerException: Cannot establish connection to URL 'jdbc:sqlserver://20.198.16.115\SQLSERVER2005:14330;databaseName=SAPHRDataStore': SAPClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver'"
Please help me in this regard.
Regards
MadhuIt should be com.microsoft.jdbc.sqlserver.SQLServerDriver
I think you have it as com.microsoft.sqlserver.jdbc.SQLServerDriver
Thanks
Praveen M -
Hi ,
I tried to create an oracle pool by admin server. When I tried to ping it I got an error something like the cache name is already used.
When I tried to use it in my code I got another error :
'java.lang.ClassCastException: com.sun.gjc.spi.DataSource cannot be cast to oracle.jdbc.pool.OracleDataSource'
The pool properties I used are :
Url : dbc:oracle:thin:@servername:port:dbname
DataSourceName: OracleDataSource
ConnectionCacheName: cache2
ConnectionCachingEnabled: true
The code I used to get the connection :
OracleDataSource poolConnDs = null;
Connection poolConn = null;
try{
InitialContext jdbcContext = new InitialContext();
poolConnDs = (OracleDataSource)jdbcContext.lookup("java:comp/env/jdbc/jndi_pool_name");
poolConn = poolConnDs.getConnection();
ResultSet res = poolConn.createStatement().executeQuery("Select * from my_table");
}catch(Exception e){
e.printStackTrace();
}finally{
try{
poolConn.close();
}catch(Exception e){
e.printStackTrace();
Can anybody help me ??
Thanx in advanceYou should not be using com.sun.appserv.jdbc.DataSource in your code.
Neither OracleDataSource.
Change your code from
"poolConnDs = (OracleDataSource)jdbcContext.lookup("java:comp/env/jdbc/jndi_pool_name");"
to
"poolConnDs = (javax.sql.DataSource)jdbcContext.lookup("java:comp/env/jdbc/jndi_pool_name");"
Hope this works.
Thanks,
-Jagadish -
How to Insert all Records together using JDBC Receiver Adapter.
Hi,
Suppose, I have to send 5 records and from R/3
(using client Proxy) using XI and insert/update all these records in a database.
In case I want to update all the 5 records else mark it as fail and return the response synchronously to R/3, what should be my approach?
Can we do it using native sql querries, if yes could you plese tell me how to do so.
I have never used native sql queries.
Thanks in advance.
Regards
Pushkarhi,
>>>>Can we do it using native sql querries, if yes could you plese tell me how to do so.
why don't use use standard jdbc adapter and standard jdbc document formats?
the sync jdbc call will return the number of affected /deleted rows
Regards,
michal -
Inserting into two tables using JDBC Receiver Adapter
I've defined following type for Receiver JDBC to save data in two different tables
Name Category Type Occurrence
ReceiverDB_DT Complex Type
STATEMENT Element 1..unbounded
TABLE_NAME Element 1
ACTION Attribute xsd:string required
TABLE Element xsd:string 1
ACCESS Element Table1_DT 1
STATEMENT2 Element 1..unbounded
TABLE_NAME Element 1
ACTION Attribute xsd:string required
TABLE Element xsd:string 1
ACCESS Element Table2_DT 1
When I send data of two tables, it is showing data for both the two tables in MONI of PI System, but ultimately it shows only one table's data in message monitoring payload.
what could be the problem?
Thanks,
-HareshIt solved!!!
by just changing Occurrence only as rightly pointed by Ankesh
Name Category Type Occurrence
ReceiverDB_DT Complex Type
STATEMENT Element 1..unbounded
TABLE_NAME Element 1
ACTION Attribute xsd:string required
TABLE Element xsd:string 1
ACCESS Element Table1_DT 1
STATEMENT2 Element 1..unbounded
TABLE_NAME Element 1
ACTION Attribute xsd:string required
TABLE Element xsd:string 1
ACCESS Element Table2_DT 1
Name Category Type Occurrence
ReceiverDB_DT Complex Type
STATEMENT Element 1
TABLE_NAME Element 1
ACTION Attribute xsd:string required
TABLE Element xsd:string 1
ACCESS Element Table1_DT 1..unbounded
STATEMENT2 Element 1
TABLE_NAME Element 1
ACTION Attribute xsd:string required
TABLE Element xsd:string 1
ACCESS Element Table2_DT 1..unbounded
Thanks a lot ankesh -
Hi All,
I am executing SP by using JDBC Receiver Adapter.
My strcture is follows
<STATEMENT2>
<SP_CREATE_T_BATCH action="EXECUTE">
<spName type="VARCHAR">SP_CREATE_T_BATCH</spName>
<IN_Control_Recipe hasQuot="No" type="Integer">100000000001723850</IN_Control_Recipe>
</SP_CREATE_T_BATCH>
</STATEMENT2>
The below error I am getting
Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'SP_CREATE_T_BATCH' (structure 'STATEMENT2'): java.lang.NumberFormatException: For input string: "100000000001723850"
Any help on thisHi Ram,
Since you mentioned that your SP has one input parameter and one output parameter, the structure of the XML message at the JDBC receiver side should be:
<STATEMENT2>
<SP_CREATE_T_BATCH action="EXECUTE">
<IN_Control_Recipe isInput="true" hasQuot="No" type="BIGINT">100000000001723850</IN_Control_Recipe>
<Output_Parameter isOutput="true" type="SQLDataType"></Output_Parameter>
</SP_CREATE_T_BATCH>
</STATEMENT2>
Here, i have assumed the following:
SP_CREATE_T_BATCH - The name of the Stored Procedure to be executed
IN_Control_Recipe - Input parameter of the SP and its SQLDataType is BIGINT as suggested by Stefan.
Output_Parameter - Output parameter of the SP. You may enter the SQL data type as per the output of your Stored Procedure.
The following SQL data types are supported:
INTEGER, BIT, TINYINT, SMALLINT, BIGINT, FLOAT, REAL, DOUBLE, NUMERIC, DECIMAL, CHAR, VARCHAR, STRING, LONGVARCHAR, DATE, TIME, TIMESTAMP, BINARY, VARBINARY, LONGVARBINARY, BLOB (input and output),CLOB (input and output), CURSOR (output; only in conjunction with the Oracle JDBC driver).
Hope this will surely solve your problem.
Regards, Gaurav. -
Hi
I am trying insert rows in Oracle database using JDBC receiver adapter setup in PI 7.1. However this receiver adapter is throwing following exception.
Delivering 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. 'PRADEEP_OTC_ORDERS' (structure 'statement'): java.sql.SQLException: ORA-00904: "BATCH_ID": invalid identifier .
<?xml version="1.0" encoding="UTF-8" ?>
<ns0:mt_sql_writer xmlns:ns0="http://rdbms_poc">
<statement>
<dbtablename action="INSERT">
<table>PRADEEP_OTC_ORDERS</table>
<access>
<order_id>19126</order_id>
<version>1</version>
<batch_id>132</batch_id>
</access>
</dbtablename>
</statement>
</ns0:mt_sql_writer>
PRADEEP_OTC_ORDERS table has just 3 columns as specified the access segment. However I stil get this ORA-00904 error message.
Any idea on what could be wrong.?
Thanks
-PradeepHi All,
Thanks a lot for responding...
I verified the table structure, table just contains those 3 coulms all varchar type.
I modified the column name as well, But was still getting ORA-00904. Then I went directly to the the database and executed below insert statement,
insert into PRADEEP_OTC_ORDERS (mps_order_id, mps_version,mps_batch_id) Values(1,2,3)
I got exact SQL Error: ORA-00904: "MPS_BATCH_ID": invalid identifier.
So ISAP JDBC adapter is not enclosing the string values in quotes.
SAP documentation says it puts quotes for values and treats everything as string(text).
Anybody has any idea, why JDBC receiver adapter not enclosing the values in quotes?
Thanks
-Pradeep -
Store procedure in JDBC Receiver adapter
Hi,
I am calling stored procedure using jdbc reeciver adapter . showing below error. In oracle database it is under functions not in the procedure. functions and stored procedure are same? is it should be create under procedure?
error message:
Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'GET_ALL_SALESREPINFO' (structure 'statement'): java.sql.SQLException: ORA-06550: line 1, column 7: PLS-00221: 'GET_ALL_SALESREPINFO' is not a procedure or is undefined ORA-06550: line 1, column 7: PL/SQL: Statement ignored
Sql query:
<?xml version="1.0" encoding="UTF-8"?>
<ns1:TerritoriesAndSalesRepsRequest xmlns:ns1="http://allergan.com/TerritoriesAndSalesRepsServiceList/1.0">
<statement><GET_ALL_SALESREPINFO action="EXECUTE">
<P_REP_LOGIN isInput="1" type="VARCHAR">sdfsfd</P_REP_LOGIN>
</GET_ALL_SALESREPINFO>
</statement></ns1:TerritoriesAndSalesRepsRequest>
oracle function
DECLARE
RETURN_VALUE BEACONDM_ETL.ACCT_TABLE_TYPE;
P_ZIP_CODE VARCHAR2(2000) := '-';
BEGIN
RETURN_VALUE := BEACONDM_ETL.GET_ACCT_INFO(P_ZIP_CODE);
--DBMS_OUTPUT.PUT('RETURN_VALUE: ');
--DBMS_OUTPUT.PUT_LINE(RETURN_VALUE);
DBMS_OUTPUT.PUT('P_ZIP_CODE: ');
DBMS_OUTPUT.PUT_LINE(P_ZIP_CODE);
END;
GO
DECLARE
RETURN_VALUE BEACONDM_ETL.SALESREP_TABLE_TYPE;
P_REP_LOGIN VARCHAR2(2000) := '-';
BEGIN
RETURN_VALUE := BEACONDM_ETL.GET_ALL_SALESREPINFO(P_REP_LOGIN);
--DBMS_OUTPUT.PUT('RETURN_VALUE: ');
--DBMS_OUTPUT.PUT_LINE(RETURN_VALUE);
DBMS_OUTPUT.PUT('P_REP_LOGIN: ');
DBMS_OUTPUT.PUT_LINE(P_REP_LOGIN);
END;
GO
Please send me if you have any blogs for calling stored procedure using jdbc receiver adapter.Hi Madhu,
>>>I am calling stored procedure using jdbc reeciver adapter . showing below error. In oracle database it is under functions not in the procedure. functions and stored procedure are same? is it should be create under procedure?
Of course there is difference between Oracle functions & Stored procedures:
Re: Populating DropdownByKey by accessing backend
As far as i know and have configured and used Stored procedures with the JDBC adapter, it can be used with Oracle stored procedures (leave it to the experts to comment on the Oracle functions part). So if you change it to stored procedure then it should work fine.
You may then define your Message structure as follows:
http://help.sap.com/saphelp_nw73/helpdata/en/44/7b72b2fde93673e10000000a114a6b/content.htm
And you may also like to refer the following blog on stored procedures:
PI JDBC Stored Procedure test scenario
Hope this helps. Regards, Gaurav -
How to modify oracle stored procedure for JDBC Receiver Adapter?
Hi all.
This is Urgent.
Scenario is
SELECT a TABLE with procedure and update column with it,
then send data to SAP System with RFC Adapter.
When I executed a sync bpm, scenario was finished internal error.
Pls, let me know how to correct procedure using JDBC Receiver Adapter?
Regrds all.
Procedure Code -
SET SERVEROUTPUT ON
CREATE OR REPLACE PROCEDURE zwtn2
IS
v_seller_company wtnivhd.seller_company%TYPE;
v_invoice_no wtnivhd.invoice_no%TYPE;
v_report_date wtnivhd.report_date%TYPE;
v_customs_date wtnivhd.customs_date%TYPE;
v_ap_post_date wtnivhd.ap_post_date%TYPE;
v_gr_date wtnivhd.gr_date%TYPE;
CURSOR l_cursor IS
SELECT seller_company,
invoice_no,
report_date,
customs_date,
ap_post_date,
gr_date
FROM wtnivhd
WHERE wtn_send_flag = 'N'
AND rownum < 31
FOR UPDATE;
BEGIN
OPEN l_cursor;
LOOP
FETCH l_cursor
INTO v_seller_company,
v_invoice_no,
v_report_date,
v_customs_date,
v_ap_post_date,
v_gr_date;
EXIT WHEN l_cursor%NOTFOUND;
UPDATE wtnivhd
SET wtn_send_flag = 'Y'
WHERE CURRENT OF l_cursor;
END LOOP;
CLOSE l_cursor;
END zwtn2;Hi Alex,
plz have a look to Runtime Workbench / Adapter Monitoring to find an error message.
Regards,
Udo -
Alerts for JDBC Receiver Adapter
Hi ,
I am using JDBC receiver adapter. I have configured the alert category and Alert rules. Alerts are getting for Mapping etc.
When ever error occured in the SQL server whether its firewall issue or some other issue. The alerts are not created. Instead I can see the error message in RWB Message monitoring and communicaton channel monitoring.
Please let me know How can raise alerts if the error occured at the JDBC receiver side.
Thanks in advance,
KevinHi Kevin,
Probabaly the alert rule did not capture the error in the adapter engine.
The filter for sender and receiver interface details in the alert rule can cause this issue depending on when and how the error occured. Can you create an alert rule with * for all entries, for adapter engine and check?
Also do NOT check the option "suppress multiple alerts from this rule" because it will prevent subsequent alerts from this rule, if there is already one and not yet confirmed.
Further please check the alerts in SALRT table in se16 if its created properly or via transaction ALRTDISP.
Please use the report SXMSALERT_LOGREADER for troubleshooting and checking the alert logs.
Hope this helps.
Regards,
Francis -
Junk character being sent by Jdbc Receiver adapter
Hi all,
I am using jdbc receiver adapter it s working fine .However for costumer name it is sending some junk character in last like " SMAN-Abdulrahman Osman¿ " the thing is that all other field is getting populated properly. when I am viewing the data in sxmb_monni .I am finding the data is prpoer but when it is getting posted to staging table then junk character is coming .I am coused whether it is mistake of JDBC adapter or something wrong in the staging table.
Regards,
SaurabhHi Vijay
But for JDBC adapter where I will use the encoding...It is IDoc to Jdbc scenario.So I haave already used the encoding option in RFC destination.Now where to define the encoding in jdbc adapter I am not sure.
One more thing I had used the encoding in RFC to read arabic charachter now its reading arabic charchter currectly but when the name is coming in english then it is getting appended by ¿. for example SMAN Saleh Ahmed Mustafa¿
surprisengly in other column if value is coming in english also it is coming properly. could it be a problem in staging table itself. i am pitting one row below.
Nural.L.L.C¿ Yerevan-Armenia 99999 Yerevan Community -
Executable JAR using ADF displays JBO-26061: Error while opening JDBC conn.
I'm trying to create a simple Java Desktop Application (ADF) in JDeveloper 11g (11.1.2.3.0) which will run on Windows XP (SP3) simply by clicking the JAR file. I have encountered many problems and found solutions but I am now completely stuck. Currently when I execute the JAR I get (oracle.jbo.DMLException) JBO-26061: Error while opening JDBC connection.
Inside JDeveloper it runs perfectly but I want it to run without JDeveloper. If I run the executable string JDeveloper displays when you click run, this also works fine.
Here's what I've done -
Created a demo app using the 'Building a Java Swing application with Oracle ADF' tutorial as a proof of concept.
Created a deployment profile 'Client Jar Deployment Profile'
Create a new file group to include all the JAR files.
Create a manifest.mf listing all the JAR files - making sure not to exceed 70 bytes on each line and every new line starts with 2 spaces and at the end of the line there is no trailing spaces.
Made sure the jps-config.xml and cwallet.sso is included in the META-INF folder of the JAR.
I've deployed the JAR file to a folder which contains all the associated JAR files, made sure the manifest.mf is pointing to the correct files and executed my jar (double clicked it) after a short pause (2-3 seconds) that's when the error pops up.
Here is the error stack
oracle.jbo.DMLException: JBO-26061: Error while opening JDBC connection.
at oracle.jbo.server.URLConnectionHelper.getConnection(URLConnectionHelper.java:218)
at oracle.jbo.server.URLConnectionHelper.getConnection(URLConnectionHelper.java:45)
at oracle.jbo.server.ConnectionPoolDataSource.getConnection(ConnectionPoolDataSource.java:72)
at oracle.jbo.server.ConnectionPoolDataSource.getConnection(ConnectionPoolDataSource.java:61)
at oracle.jbo.server.DBTransactionImpl.establishNewConnection(DBTransactionImpl.java:968)
at oracle.jbo.server.DBTransactionImpl.initTransaction(DBTransactionImpl.java:1147)
at oracle.jbo.server.DBTransactionImpl.initTxn(DBTransactionImpl.java:6838)
at oracle.jbo.server.DBTransactionImpl2.connectToDataSource(DBTransactionImpl2.java:298)
at oracle.jbo.server.DBTransactionImpl2.connectToDataSource(DBTransactionImpl2.java:329)
at oracle.jbo.common.ampool.DefaultConnectionStrategy.connect(DefaultConnectionStrategy.java:203)
at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolConnect(ApplicationPoolMessageHandler.java:600)
at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:417)
at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:9053)
at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4606)
at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4697)
at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4697)
at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2536)
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2346)
at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:3245)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:571)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:504)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:499)
at oracle.adf.model.bc4j.DCJboDataControl.initializeApplicationModule(DCJboDataControl.java:517)
at oracle.adf.model.bc4j.DCJboDataControl.getApplicationModule(DCJboDataControl.java:867)
at oracle.adf.model.binding.DCBindingContainer.setDataControl(DCBindingContainer.java:571)
at oracle.jbo.uicli.jui.JUPanelBinding.useDefaultDataControl(JUPanelBinding.java:912)
at oracle.jbo.uicli.jui.JUPanelBinding.setup(JUPanelBinding.java:125)
at view.Form.setBindingContext(Form.java:370)
at view.Form.main(Form.java:425)
Here is my manifest
Manifest-Version: 1.0
Class-Path: adf-controller-security.jar adf-dt-at-rt.jar adf-share-bas
e.jar adf-share-ca.jar adf-share-security.jar adf-share-support.jar a
dfdt_common.jar adflibrary.jar adflogginghandler.jar adfm.jar adfshar
embean.jar adftransactionsdt.jar bc4j-mbeans.jar bc4jimdomains.jar ca
che.jar commons-cli-1.0.jar commons-el.jar db-ca.jar dms.jar dvt-jcli
ent.jar dvt-utils.jar fmw_audit.jar forms-1.0.6.jar groovy-all-1.6.3.
jar identitystore.jar inspect4.jar jacc-spi.jar javatools-nodeps.jar
javax.activation_1.1.0.0_1-1.jar javax.jsp_1.2.0.0_2-1.jar javax.mail
_1.1.0.0_1-4-1.jar javax.management.j2ee_1.0.jar javax.management_1.2
.1.jar javax.security.jacc_1.0.0.0_1-1.jar javax.servlet_1.0.0.0_2-5.
jar jdev-cm.jar jdev-rt.jar jewt4.jar jmf.jar jmxframework.jar jmxspi
.jar jps-api.jar jps-common.jar jps-ee.jar jps-internal.jar jps-manif
est.jar jps-unsupported-api.jar jsp-el-api.jar ldapjclnt11.jar list.t
xt mdsrt.jar META-INF model ojdbc6dms.jar ojdl.jar ojmisc.jar oracle-
el.jar oracle.ucp_11.1.0.jar oraclepki.jar orai18n-mapping.jar orai18
n.jar oramds.jar ordhttp.jar ordim.jar osdt_cert.jar osdt_core.jar os
dt_ws_sx.jar osdt_xmlsec.jar resourcebundle.jar runtime12.jar share.j
ar xml.jar xmlef.jar xmlparserv2.jar
Main-Class: view.Form
All of these JARs are in the same folder as my JAR.
Here's the tutorial i followed - http://docs.oracle.com/cd/E18941_01/tutorials/jdtut_11r2_19/jdtut_11r2_19.html
Any help would be greatly appreciated. Perhaps I'm misunderstanding and Java/ADF applications are not supposed to work without the WLS.
Many thanks,
Christian.
Edited by: ChrisDugdale on Nov 15, 2012 2:41 AMThat's excellent advice, changing the connection type, I tried this before, it still gives the same error so I didn't think it had much to do with my problem but what I didn't notice is it gives a more meaningful error stack - see below, compared to my original error stack, i think you're on to something good! So, clearly the password isn't being packaged into the JAR, now I thought this might be happening which is why I added "DeployPassword" in the connections.xml file but that hasn't made a difference. I can see the connections.xml in my JAR if i expand it in the META-INF folder, so I know that's included ok, along with jps-config.xml/adf-config.xml/adfm.xml/cwallet.sso/MANIFEST.MF also in the META-INF folder (inside the JAR)
I can see the password element contains no value, but I tried changing this before with no luck. I'll try again.
connections.xml -
<?xml version = '1.0' encoding = 'UTF-8'?>
<References xmlns="http://xmlns.oracle.com/adf/jndi">
<Reference name="FOD" className="oracle.jdeveloper.db.adapter.DatabaseProvider" credentialStoreKey="FOD" xmlns="">
<Factory className="oracle.jdeveloper.db.adapter.DatabaseProviderFactory"/>
<RefAddresses>
<StringRefAddr addrType="sid">
<Contents>DEVSHED</Contents>
</StringRefAddr>
<StringRefAddr addrType="subtype">
<Contents>oraJDBC</Contents>
</StringRefAddr>
<StringRefAddr addrType="port">
<Contents>1521</Contents>
</StringRefAddr>
<StringRefAddr addrType="hostname">
<Contents>moe</Contents>
</StringRefAddr>
<StringRefAddr addrType="user">
<Contents>fod</Contents>
</StringRefAddr>
<SecureRefAddr addrType="password"/>
<StringRefAddr addrType="DeployPassword">
<Contents>true</Contents>
</StringRefAddr>
<StringRefAddr addrType="oraDriverType">
<Contents>thin</Contents>
</StringRefAddr>
</RefAddresses>
</Reference>
</References>
oracle.jbo.DMLException: JBO-26061: Error while opening JDBC connection.
at oracle.jbo.server.ConnectionPool.createConnection(ConnectionPool.java:207)
at oracle.jbo.server.ConnectionPool.instantiateResource(ConnectionPool.java:166)
at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:580)
at oracle.jbo.pool.ResourcePool.useResource(ResourcePool.java:313)
at oracle.jbo.server.ConnectionPool.getConnectionInternal(ConnectionPool.java:102)
at oracle.jbo.server.ConnectionPool.getConnection(ConnectionPool.java:66)
at oracle.jbo.server.ConnectionPoolManagerImpl.getConnection(ConnectionPoolManagerImpl.java:52)
at oracle.jbo.server.URLConnectionHelper.getConnection(URLConnectionHelper.java:129)
at oracle.jbo.server.DBTransactionImpl.establishNewConnection(DBTransactionImpl.java:978)
at oracle.jbo.server.DBTransactionImpl.initTransaction(DBTransactionImpl.java:1147)
at oracle.jbo.server.DBTransactionImpl.initTxn(DBTransactionImpl.java:6838)
at oracle.jbo.server.DBTransactionImpl2.connect(DBTransactionImpl2.java:130)
at oracle.jbo.common.ampool.DefaultConnectionStrategy.connect(DefaultConnectionStrategy.java:213)
at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolConnect(ApplicationPoolMessageHandler.java:600)
at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:417)
at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:9053)
at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4606)
at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4697)
at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4697)
at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2536)
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2346)
at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:3245)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:571)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:504)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:499)
at oracle.adf.model.bc4j.DCJboDataControl.initializeApplicationModule(DCJboDataControl.java:517)
at oracle.adf.model.bc4j.DCJboDataControl.getApplicationModule(DCJboDataControl.java:867)
at oracle.adf.model.binding.DCBindingContainer.setDataControl(DCBindingContainer.java:571)
at oracle.jbo.uicli.jui.JUPanelBinding.useDefaultDataControl(JUPanelBinding.java:912)
at oracle.jbo.uicli.jui.JUPanelBinding.setup(JUPanelBinding.java:125)
at view.Form.setBindingContext(Form.java:370)
at view.Form.main(Form.java:425)
Caused by: java.sql.SQLException: ORA-01005: null password given; logon denied
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:397)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389)
at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:689)
at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:452)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:205)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:384)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:811)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:678)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:238)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:567)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at oracle.jbo.server.URLConnectionHelper.getConnection(URLConnectionHelper.java:144)
at oracle.jbo.server.URLConnectionHelper.getConnectionFromDriver(URLConnectionHelper.java:50)
at oracle.jbo.server.ConnectionPool.createConnection(ConnectionPool.java:195)
... 31 more
## Detail 0 ##
java.sql.SQLException: ORA-01005: null password given; logon denied
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:397)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389)
at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:689)
at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:452)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:205)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:384)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:811)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:678)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:238)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:567)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at oracle.jbo.server.URLConnectionHelper.getConnection(URLConnectionHelper.java:144)
at oracle.jbo.server.URLConnectionHelper.getConnectionFromDriver(URLConnectionHelper.java:50)
at oracle.jbo.server.ConnectionPool.createConnection(ConnectionPool.java:195)
at oracle.jbo.server.ConnectionPool.instantiateResource(ConnectionPool.java:166)
at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:580)
at oracle.jbo.pool.ResourcePool.useResource(ResourcePool.java:313)
at oracle.jbo.server.ConnectionPool.getConnectionInternal(ConnectionPool.java:102)
at oracle.jbo.server.ConnectionPool.getConnection(ConnectionPool.java:66)
at oracle.jbo.server.ConnectionPoolManagerImpl.getConnection(ConnectionPoolManagerImpl.java:52)
at oracle.jbo.server.URLConnectionHelper.getConnection(URLConnectionHelper.java:129)
at oracle.jbo.server.DBTransactionImpl.establishNewConnection(DBTransactionImpl.java:978)
at oracle.jbo.server.DBTransactionImpl.initTransaction(DBTransactionImpl.java:1147)
at oracle.jbo.server.DBTransactionImpl.initTxn(DBTransactionImpl.java:6838)
at oracle.jbo.server.DBTransactionImpl2.connect(DBTransactionImpl2.java:130)
at oracle.jbo.common.ampool.DefaultConnectionStrategy.connect(DefaultConnectionStrategy.java:213)
at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolConnect(ApplicationPoolMessageHandler.java:600)
at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:417)
at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:9053)
at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4606)
at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4697)
at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4697)
at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2536)
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2346)
at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:3245)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:571)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:504)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:499)
at oracle.adf.model.bc4j.DCJboDataControl.initializeApplicationModule(DCJboDataControl.java:517)
at oracle.adf.model.bc4j.DCJboDataControl.getApplicationModule(DCJboDataControl.java:867)
at oracle.adf.model.binding.DCBindingContainer.setDataControl(DCBindingContainer.java:571)
at oracle.jbo.uicli.jui.JUPanelBinding.useDefaultDataControl(JUPanelBinding.java:912)
at oracle.jbo.uicli.jui.JUPanelBinding.setup(JUPanelBinding.java:125)
at view.Form.setBindingContext(Form.java:370)
at view.Form.main(Form.java:425)
----- Level 1: Detail 0 -----
java.sql.SQLException: ORA-01005: null password given; logon denied
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:397)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389)
at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:689)
at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:452)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:205)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:384)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:811)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:678)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:238)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:567)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at oracle.jbo.server.URLConnectionHelper.getConnection(URLConnectionHelper.java:144)
at oracle.jbo.server.URLConnectionHelper.getConnectionFromDriver(URLConnectionHelper.java:50)
at oracle.jbo.server.ConnectionPool.createConnection(ConnectionPool.java:195)
at oracle.jbo.server.ConnectionPool.instantiateResource(ConnectionPool.java:166)
at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:580)
at oracle.jbo.pool.ResourcePool.useResource(ResourcePool.java:313)
at oracle.jbo.server.ConnectionPool.getConnectionInternal(ConnectionPool.java:102)
at oracle.jbo.server.ConnectionPool.getConnection(ConnectionPool.java:66)
at oracle.jbo.server.ConnectionPoolManagerImpl.getConnection(ConnectionPoolManagerImpl.java:52)
at oracle.jbo.server.URLConnectionHelper.getConnection(URLConnectionHelper.java:129)
at oracle.jbo.server.DBTransactionImpl.establishNewConnection(DBTransactionImpl.java:978)
at oracle.jbo.server.DBTransactionImpl.initTransaction(DBTransactionImpl.java:1147)
at oracle.jbo.server.DBTransactionImpl.initTxn(DBTransactionImpl.java:6838)
at oracle.jbo.server.DBTransactionImpl2.connect(DBTransactionImpl2.java:130)
at oracle.jbo.common.ampool.DefaultConnectionStrategy.connect(DefaultConnectionStrategy.java:213)
at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolConnect(ApplicationPoolMessageHandler.java:600)
at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:417)
at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:9053)
at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4606)
at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4697)
at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4697)
at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2536)
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2346)
at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:3245)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:571)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:504)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:499)
at oracle.adf.model.bc4j.DCJboDataControl.initializeApplicationModule(DCJboDataControl.java:517)
at oracle.adf.model.bc4j.DCJboDataControl.getApplicationModule(DCJboDataControl.java:867)
at oracle.adf.model.binding.DCBindingContainer.setDataControl(DCBindingContainer.java:571)
at oracle.jbo.uicli.jui.JUPanelBinding.useDefaultDataControl(JUPanelBinding.java:912)
at oracle.jbo.uicli.jui.JUPanelBinding.setup(JUPanelBinding.java:125)
at view.Form.setBindingContext(Form.java:370)
at view.Form.main(Form.java:425)
Maybe you are looking for
-
I have a class Dictionary public class Dictionary private HashMap<String, ArrayList<String>> dictionary; private HashMap<String, ArrayList<Details>> synset; public Dictionary() dictionary = new HashMap<String, ArrayList<String>>(); synset = new HashM
-
How create HTML-list with hierarchical query?
Hello all! I have table HIE (name,id,par) with hierarchical structure (par=id) As sample: select name FROM hie CONNECT BY PRIOR id=par START WITH par=0 Root Branch 1 Lief 11 Lief 12 Bracnh 2 I need to create html-list from this table. How can I selec
-
I have an 8600 Premium Office Jet Printer connected wirelessly to my network and use Windows 7. I have set up Eprint several times and it works briefly but then stops working. There is a yellow triangle with an exclamation point on the printer scre
-
How can i change de name of my icloud account?
Here's the problem. I've been using the same itunes account for years. It's on my girlfriends name. Since I've been using my macbook pro for my company, everythime I send an ical invitation to someone they see her name instead of my name. So my que
-
VideoDisplay communication problem
I have a videoDisplay component defined in MXML with an id of myPlayer. I also have actionScript that refers to that component. The AS is triggered by an event somewhere else in the program. When I debug the following simple case, it says that myPlay