WDA accessing MySQL DB through Java Connector

Hi,
Im having some issues to interfacing a web dynpro abap application with a MySQL DB through a java connector connexion.
Here what I want to do:
Doing queries on my MySQL DB after input fields of search criteria and get the results back to display them in the web dyn pro application. (reporting tool-)
Accessing the data of a MySQL Database in my SAP, to avoid a duplication of data.
I would like to know how to send a query  to my Java application ?
And how to send the result of this query to the Webdynpro ABAP ?
Whats the best and easiest solution ?
Thanks !

Found my way through JCo Server.
I need an rfc or BAPI that have specific parameters --> a table with several specific fields and several fields for search criteria.
The user enter the search criteria than I send those to my Java server, the Java server retrieve those parameters and perform a SQL query on the MySQL DB. I fill in the table parameter with the result and send the whole table to the abap
How is it possible ?
Thanks !

Similar Messages

  • Want to access RESTful Services through Java Program

    We are trying to access RESTful Services exposed by Oracle database cloud through our Java code, with authentication enabled for a particular user.
    Till now, we have completed below steps:
    1) We have a working account with Oracle database cloud (Username – xxx.xxx)
    2) We log in using the credentials for above account, and navigate to Oracle Apex ? SQL Workshop ? RESTful Services
    3) We create a new “RESTful Service Module” by filling out the details as below:
         Name:                                  SampleTest 
         URI Prefix:                            test
         URI Template:                       /getallemp
         Pagination Size:                    25 (kept to default)
         Required Privilege:                 TestGroupPrivilege
         Resource Handler Details:
                    Method:              GET
                    Source Type:      Query
                    Format:               JSON
                    Source:               select * from emp
    After creating the above module and testing it, it works fine and the data is retrieved in JSON successfully.
    The resulting URL for above RESTful Service Module is: https://<HOST_URL>/apex/test/getallemp
    Note that “TestGroupPrivilege” is a privilege assigned to the user group “RESTful Services” and the user “xxx.xxx” is a member of “RESTful Services” user group.
    4) We are unable to call the RESTful services from Java program. We are passing username and password in request header as basic authentication. But, we are getting: Error 500--Internal Server Error
    5) If we change the “Required Privilege” to default i.e. no privileges present on the module, we can get the response through Java code and everything works perfectly fine.
    Please suggest us in: How to access RESTful Services through Java code by passing user credentials in HTTP header for authentication. Also let us know if we have to do any settings through Apex, in case we are missing any.
    Message was edited by: NeerajGirolkar
    - When we are logging in to Oracle cloud on browser and execute the Oracle cloud RESTful service in another tab of same browser, we are able to get the result. But when executed the same RESTful service from a different browser or java program we get internal server error.
    - After investigation, we found that when user logs in to oracle database cloud, a cookie is set in browser with name s “OAMAuthnCookie_cstest-domo.db.us1.oraclecloudapps.com:443” and value as some random token. This cookie is passed in the subsequent requests to the RESTful Service calls when using same browser and as a result, we are able to get the results
    - In the Java program, we copied the same cookie with random token in the HTTP Request header and we got the proper response from REST APIs.
    - It seems that this cookie is created by an Oracle Middleware tool/server called as OAM – Oracle Accounts Manager, which sends the authentication token after successful authentication and creates the cookie.
    - We found that the cookie that OAM creates on authentication is exactly in the same format i.e. ‘OAMAuthnCookie_cstest-domo.db.us1.oraclecloudapps.com:443’. So, we are guessing that Oracle cloud uses OAM for authentication. Please refer to following link for same : http://docs.oracle.com/cd/E14571_01/doc.1111/e15478/sso.htm
    Can anyone please suggest:
    1.     How to provide authentication to Oracle Cloud REST APIs from java program?
    2.     How to pass the username and password in Java code to OAM (or how to communicate with OAM using Java) so that we can receive the unique token from OAM. We can use the token in the further requests? 3.     Also in Oracle cloud white papers , it is mentioned that they support OAuth2.0. But we didn’t find any URLs for same. Can anyone please confirm?
    Thanks
    ~ Neeraj Girolkar

    Hi Nilesh,
    We tried to connect to Oracle Cloud Database using the way you suggested above, but unfortunately it is not working as well.
    Can you let us know the authentication process with Oracle Cloud Database? We found in documentation that it uses OAM (Oracle Access Manager) for authentication. Can you tell us a bit about that? That will be extremely helpful.
    Thanks,
    - Neeraj

  • Error while trying to access BPEL process through java on localhost

    I have a service (CreditRatingService that comes along with install) running on the BPEL engine. Trying to invoke it through java. However, I get an exception. Below is more information. Appreciate any help.
    My method
        public String invokeBpel()
          Map payload;
          Hashtable jndi = null;
          try
           String ssn ="1234";
           String xml = "<ssn xmlns=\"http://services.otn.com\">" + ssn + "</ssn>";
            Locator locator;
            locator = new Locator("default","welcome1",jndi);
             IDeliveryService deliveryService =
              (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME );
              NormalizedMessage nm = new NormalizedMessage( );
              nm.addPart("payload", xml );
                NormalizedMessage res =null;
                try
                 res = deliveryService.request("CreditRatingService","process", nm);
                catch(RemoteException oNameEx)
                    System.out.println(oNameEx.getMessage());
                payload = res.getPayload();
                System.out.println( "BPELProcess CreditRatingService executed!<br>" );
                System.out.println( "Credit Rating is " + payload.get("payload") );
          catch (Exception e)
            System.out.println("This is the exception" + e);
            System.out.println(e.getStackTrace());
          finally
              return "toPage3"; 
        }//end method
    Exception  text
    Failed to create "ejb/collaxa/system/DeliveryBean" bean; exception reported "javax.naming.NameNotFoundException: ejb/collaxa/system/DeliveryBean not found
    Env
    ADF Business Components:10.1.3.39.84
    BPEL Designer      10.1.3.1.0 (Build 061009.0802)
    CVS Version     Internal to Oracle JDeveloper (client-only)
    Java™ Platform     1.5.0_06
    Oracle IDE     10.1.3.39.84
    Struts Modeler Version     10.1.3.39.84
    UML Modelers Version     10.1.3.39.84
    Versioning Support     10.1.3.39.84

    Hashtable jndi = null;
    try
    String ssn ="1234";
    String xml = "<ssn xmlns=\"http://services.otn.com\">" + ssn + "</ssn>";
    Locator locator;
    locator = new Locator("default","welcome1",jndi);
    this implies to be in the same initial context then the bpel engine, whicuh you cannot be as long as you are not either part of the ejb code of orabpel or a child of it. and if you are you can use the Locator API without the jndi properties.
    hth clemens

  • Accessing XML files through java

    Can any one explain me the easiest way of accessing XML files from Java.

    Hi,
    If you want to only access the XML file, use the SAX parser It will be very easy to handle and identify the element and value.
    else if u want to change the XML value also, then better go with DOM, Which has very good flexiblity.
    use according to the need, let me know if any help is required......
    With Cheers
    PrasannA

  • Accessing OS/390 through Java and reading VSAM files

    I hope this is the apporiate forum for this question. I am fairly new to Java but am interested in learning about using Java to connect to a mainframe and read a VSAM file. So my questions are:
    1.) Where can I find information on this on this topic
    2.) Would this require database drivers, and if so, are there any open source drivers for reading VSAM
    Thanks for your help,
    John

    You can get an evaluation copy of WebSphere Information Integrator Classic Federation for z/OS v8.2. This will include JDBC clients for Windows and Unix platforms as well as a z/OS data server component that can access the VSAM data. .
    There are two ways to order an evaluation copy:
    Through the IBM zSeries account rep
    Via the Shop zSeries Web site

  • Importing data from ms access to db2 through java code

    hi there,
    i want to develop a code in which i can set ODBC settings because i dont want user to manually set these settings using administration tools in control panel.....is there any way of doing this.?
    but my main problem is , importing database from .mdb file to db2 using java code only.....
    thanks in advance

    one point i want to mention here...there is perhaps a 'cursor problem' ( or not a problem at all )...see the following code...
    1. while (res.next()) {
    2. System.out.println("-> " + res.getString(2));
    3. jTextArea1.append("-> " + res.getString(2) + "\n");
    4. }
    You have a repetition problem.
    Cursors are like iterators: you can't reuse them. Once you iterate through them you have to reinitialize them. Some JDBC implementations are picky about the order in which you access variables. This one appears to not allow you to access them twice.
    The question is: why do you bother to get this value twice? Just do it once, like this:
    while (res.next())
       String str = res.getString(2);
       System.out.println("-> " + str);
        jTextArea1.append("-> " + str + "\n");
    }Another question worth asking: Why is UI code mingled in with database code? Poor layering. I hate seeing Swing and JDBC mixed together like this.
    %

  • How to access system registry through java program

    Friends
    I have to access System registry of Windows 2000 by Java program. I don't know how to access the registry by using java code. Please help me. Else
    I want to create a setup file for my application. before setup my application i have to check whether the system has JVM or not. If its not then i have to install JVM first and then my application. so i need to access system registry. please give me a solution for this.
    Thanks in advance
    Ramesh

    I don't know how to access the registry
    by using java code. You can't, without using a native interface (JNI type) library.
    This is one, there are others, do a Google search:
    http://www.bayequities.com/tech/Products/jreg_key.shtml

  • Need Standard BAPI To Create Opportunity in SAP Using Java Connector.

    Hi All,
         What is the standard BAPI to create an opportunity in SAP CRM through Java Connector.
    Please share code if available for doing same. I have found BAPI_OPPORTUNITY_CREATE_MULTI .
    How to create opportunity in SAP through java connector using BAPI_OPPORTUNITY_CREATE_MULTI .

    Hi,
    I think you can search for it or you can create a thread at ABAP section.

  • Help on accessing tables available in SAP through Java

    Hi All
    I want to access some tables available in SAP through my Java program.  Do I have to write any code for database connectivity or straightaway I can write SQL statements in my Java code?
    Can anyone please suggest the sample code for this?
    Thanks in Advance,
    Vijay.

    Hi,
    You need JCO(Java Connector)
    Check this sample code.
    import com.sap.mw.jco.*;
    public class JcoTest {
    private static JCO.Client theConnection;
    private static IRepository theRepository;
    public static void main(String[] args) {
      createConnection();
      retrieveRepository(); 
      try {
      JCO.Function function = getFunction("RFC_READ_TABLE");
      JCO.ParameterList listParams = function.getImportParameterList();
      listParams.setValue("BSAUTHORS", "QUERY_TABLE");
      theConnection.execute(function);
      JCO.Table tableList = function.getTableParameterList().getTable("DATA");
      if (tableList.getNumRows() > 0) {
       do {
        for (JCO.FieldIterator fI = tableList.fields();
          fI.hasMoreElements();)
          JCO.Field tabField = fI.nextField();
          System.out.println(tabField.getName()
               + ":t" +
               tabField.getString());
         System.out.println("n");
       while (tableList.nextRow() == true);
      catch (Exception ex) {
       ex.printStackTrace();
    private static void createConnection() {
      try {
       theConnection = JCO.createClient("000", "DDIC", "minisap", "en", "sincgo", "00");
       theConnection.connect();
      catch (Exception ex) {
       System.out.println("Failed to connect to SAP system");
    private static void retrieveRepository() {
      try {
       theRepository = new JCO.Repository("saprep", theConnection);
      catch (Exception ex)
       System.out.println("failed to retrieve repository");
      public static JCO.Function getFunction(String name) {
        try {
             return theRepository.getFunctionTemplate(name.toUpperCase()).getFunction();
        catch (Exception ex) {
         ex.printStackTrace();
          return null;
    Regards
    vijay

  • How to get the data from mysql database which is being accessed by a PHP application and process the data locally in adobe air application and finally commit the changes back in to mysql database through the PHP application.

    How to get the data from mysql database which is being accessed by a PHP application and process the data locally in adobe air application and finally commit the changes back in to mysql database through the PHP application.

    If the data is on a remote server (for example, PHP running on a web server, talking to a MySQL server) then you do this in an AIR application the same way you would do it with any Flex application (or ajax application, if you're building your AIR app in HTML/JS).
    That's a broad answer, but in fact there are lots of ways to communicate between Flex and PHP. The most common and best in most cases is to use AMFPHP (http://amfphp.org/) or the new ZEND AMF support in the Zend Framework.
    This page is a good starting point for learning about Flex and PHP communication:
    http://www.adobe.com/devnet/flex/flex_php.html
    Also, in Flash Builder 4 they've added a lot of remote-data-connection functionality, including a lot that's designed for PHP. Take a look at the Flash Builder 4 public beta for more on that: http://labs.adobe.com/technologies/flashbuilder4/

  • Class not found Exception when accessing database through java using ASP

    I am trying to access the database through ASP via java:
    the database is setup as a system database..
    the java class works fine if i try to run it as a stand alone.. but as soon as I run it through ASP.. it does not get passed the driver line.. is there anything in particular I need to do ?
    JAVA and ASP and the output code looks like as follows:
    java code looks like this:
    import java.sql.*;
    public class testDB{
    private Connection connection;
    private Statement statement;
    public static void main(String[] args){
    public String getDriver(){
    String x = "start of program ";     
    try{
              Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
              x = x + " Got Driver";
              connection = java.sql.DriverManager.getConnection("jdbc:odbc:database", "sunny", "jassal");
              x = x + " After connection statement";
              statement = connection.createStatement();
              x = x + " After statement statement";
              statement.execute("Insert into name (name, age) values ('hello', 33)");
              x = x + " after insert";
              connection.close();
         } catch (Exception sqlex){x = x + sqlex.getMessage() + " " ;
              x = x + sqlex.toString() + " " ;
              x = x + sqlex.getLocalizedMessage();}
    return x;
    and the asp looks like this:
    <html>
    <%
         set javaobject = GetObject("java:testDB")
         response.write "after getting object"
         response.write javaobject.getDriver()
         set javaobject = nothing
    %>
    </html>
    after getting objectstart of program sun/jdbc/odbc/JdbcOdbcDriver java.lang.ClassNotFoundException: sun/jdbc/odbc/JdbcOdbcDriver sun/jdbc/odbc/JdbcOdbcDriver

    what would I set the classpath to be .. and I am sorry I am new to this.. but how would I be able to check the CLASSPATH .. or even how do I set the CLASSPATH.. to which directory would i need to set the classpath to
    I know I can set the classpath in dos by set CLASSPATH=
    but I dont know how to set it so it would read the drivers

  • PI 7.1 Access to Dynamic Configuration through Java Class

    My Current scenario involves IDCO -> FILE communications in PI 7.1 using XSL where the file name is dynamic.
    I have attempted calling a Java Class from XSL with the use SAPXMLTOOL kit option set in the adaptor and it works but I need to be able to call the transform method
    public void transform(TransformationInput arg0, TransformationOutput arg1)
    from XSL so I can access the message and update the File Name via Dynamic Configuration.
    Whilst I can call a static class with in the object I can not call transform with the correct arguments (arg0, arg1). I need access to arg0 (payload) to set/figure out the filename. I can calculate the filename in XSL and pass it to the Java but in a static method it is useless as it need to access the arg0 which is a object and obviously non-static context.
    Is this possible ? How do I get access to Dynamic Configuration from XSL through Java in 7.1 ?
    I have successfully called a static method but that is no help.
    Thanks in advance.

    Suraj,
       Unfortunately you link isnt operational but thankyou anyway, I have managed to call as Java class as per my original post, but a static method does not allow me to get a handle to the Dynamic Configuration Variables in the message.
    It seems importing the 7.0 LIBS may be an option and Im not entirely sure I have that option.
    It certainly isnt possible to use the JDK5 XML implementation to even call a static method on an Java OBJ from XSL (obviously the USE SAPXMLTOOLKIT option is there for a reason).
    I think and again I could be wrong but direct access via XSLT..
    LINK:http://help.sap.com/saphelp_nwpi71/helpdata/EN/e2/e13fcd80fe47768df001a558ed10b6/frameset.htm
    Is what Im looking for, I shall report back success or failure but the doco seems to fit the bill. Im not sure why I wanted to instatiate a sperate Java class when it can all exist in the XSLT.

  • Accessing RUN through java programming

    Sir,
    i need to develop a java application t access "run" in start menu.How can i access the run menu through java programming.?I want to run the program in the run command when we input command through the java program..please help me..if you have the code palese send it tio me please..........

    But I cant access the drives for eg: I wrote c:\programfiles as input but i got an exception like this
    error=3
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
    at java.lang.ProcessImpl.start(ProcessImpl.java:30)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
    at java.lang.Runtime.exec(Runtime.java:591)
    at java.lang.Runtime.exec(Runtime.java:429)
    at java.lang.Runtime.exec(Runtime.java:326)
    at ex.main(ex.java:10)
    how can correct this error...

  • How to upload 20MB of file into MySQL through Java

    Hi Friends
    Anyone let me know how to upload 20MB of file into MySQL through Java programming, is there is any feature available, or any changes to be made in MySQL
    Thanks
    Sella

    Don't know. Ask the MySQL folks. This is not a Java issue.

  • Registrykey access through java program

    hi,i need help in accessing the registrykey entries made by the any software installed in the system through java program...pls send sample source code to [email protected]

    have you tried Runtime.getRuntime.exec("cmd /c start telnet");or someting like that?

Maybe you are looking for

  • Map Viewer SRS Parameter (WMS service)

    Hello, In MapViewer WMS documentation it is mentioned, that two SRS parameter values are supported: SDO:8307 and EPSG:4326. We try to access WMS server using MapInfo Professional as client, but it reports that SDO:8307 projection is not supported by

  • HT201335 Apple TV AirPlay to AirPort Express and Still Keep Apple TV Audio Out at Same Time?

    I want my TV to keep audio and ALSO send audio to and AirPort Express at the same time. It seems that I can choose either Apple TV audio OR send to AirPlay device. I want both! How can I send audio to both and AirPlay device and still keep audio on t

  • NAC 4.7 CAS web login page url generation

    We have had third part certs generated for the CAS and the CAM and these have installed OK, along with the relevant root and intermediate certificates, and the CAS/CAM are communicating fine. However when a user is redirected to the authentication pa

  • HELP WITH ACCOUNT

    I made my apple ID but it says to review account info and it tells me to put a credit card and I dont have one. HELP

  • Insert Billing Block if Contract is Changed

    Dear Experts, We have Rental Contract / Service Conract scenario where we create a Contract with BIlling Plan & create Invoice eveny month thru VF04. We now have a requirement to insert Billing Block when the Conract is Created. This is easily achiev