ADF and not Oracle database

Hi all. In trace log I see that ADF creates such SQL for a lock row :
[NNN] Executing LOCK "SELECT ... FROM TABLE WHERE PK=? FOR UPDATE"
but I use FireBird as SQL Server and for this database syntax has to be
"SELECT ... FROM TABLE WHERE PK=? FOR UPDATE WITH LOCK"
what can I make that the text of sql was generated for FireBird? Owerride method buildDMLStatement?

Hi,
have a look here http://www.oracle.com/technetwork/developer-tools/jdev/multidatabaseapp-085183.html
and also make sure you use a database ADF BC supports or consider EJB/JPA as a model
Frank

Similar Messages

  • ADF with non Oracle databases?

    HI all,
    I would like to know, if there are people using ADF but without Oracle database. We are negotiating a new project, and I would IIke to develop it with ADF, but database will be Firebird or Postgres.
    I know its possible, but Im searching experiences of using ADF mainly with other databases, and if its worth for this kind of project, or otherwise,if there are so many "changes" not using Oracle db.
    Regards.

    http://docs.oracle.com/cd/E29049_01/web.1112/e16182/bcintro.htm#sm0063
    Some features are not supported for non-Oracle databases.
    http://www.oracle.com/technetwork/developer-tools/jdev/multidatabaseapp-085183.html
    Information about non-Oracle database connections appears in error dialog (8943379)
    http://www.oracle.com/technetwork/developer-tools/jdev/knownissues-097654.html

  • ADF - reference for Oracle database programming

    Jdev version: 11.1.1.2.0
    Can anyone please help me with the name of a book or URL which focusses on developing an ADF application with Oracle database tables. Most of the books/tutorials provide very less information on this.
    Thanks in advance.

    Hi,
    I assume you mean building ADF applications based on existing database tables. If this is the case have a look here
    1) Oracle ADF Real World Developer’s Guide
    Mastering essential tips and tricks for building next generation enterprise applications with Oracle ADF
    By Jobinesh Purushothaman
    ISBN 1849684820
    Released in October 2012
    2) Quick Start Guide to Oracle Fusion Development
    By Grant Ronald
    ISBN 0071744282
    Released in September 2010
    Note that most of our tutorials focus on ADF BC to read data from the database tables. You don't directly access the database in ADF (and Java EE in general) but use a business service layer like ADF BC or EJB for this
    Frank

  • DBA Cockpit: Planning calendar and remote Oracle databases- which method?

    For using DBA Planning Calendar to schedule BR*Tools for remote Oracle database AS Java systems I have successfully implemented both the Secure Shell and SAP gateway methods in [Note 1025707 - DBA Cockpit: Planning calendar and remote Oracle databases|https://service.sap.com/sap/support/notes/1025707] and was interested in which of these two methods others have found to be more supportable and maintainable?
    In more detail, the note has these two methods for non-ABAP remote systems:
    2. Connection through Remote/Secure Shell
    Specifically Secure Shell. Rejecting remote shell as too old and insecure a protocol.
    3 Connection through SAP gateway
    The note provides clues as to how these methods work. Expanding on that:
    With #2, central ABAP system calls out to its OS user level to execute the ssh client (after gw/rem_start has been set to the non-default value SSH_SHELL) which it finds in the location specified in gw/ssh (default value is /usr/bin/ssh). It must use password-less authentication and the key-based authentication must also not require a passphrase. (Using ssh-agent is not an option since this is being called from SAP, not from your own script.)
    It remotely runs via ssh a command, sapxpg, which must be found in the PATH of the remote user. (This is why the note, which has you place this exe sapxpg and a subset of the BR*Tools in the home dir of the remote user, also has you make sure the home dir is included in the path--your OS might or might not include the user's home dir in the path in the default shell environment for a new user.)
    Then via sapxpg, the BR*Tools are invoked.
    One thing that may be confusing here is you have to check at least one gateway parameter 'gw/...' in the central system to get the method #2 the non-gateway method to work--this is because the two methods are technically almost the same: in #2, secure shell is used to basically start a gateway on the fly with sapxpg in order to call the BR*Tools each time a DBA Planning Calendar action runs or you view DBA or Backup logs of the remote system from the central system. With #3, the gateway runs continuously on the remote system.
    With #3, central system connects to remote SAP standalone gateway, which executes the BR*Tools installed in the standard SAP kernel directory of the SAP gateway. This method is simpler to describe so it sounds like it has less components than the secure shell method, however you do have an entire SAP system running, although it is just a standalone gateway.
    Thoughts:
    These pros/cons are UNIX/Linux-oriented since I assume most Windows environments do not have added 3rd-party products that provide secure shell so SAP gateway is the only method.
    Secure shell
    + Less software required (not counting secure shell which comes with the operating system distribution): just a few SAP executables placed in the home dir of an ordinary user on the remote system.
    + Secure shell service probably automatically starts upon boot of the remote system operating system.
    + Secure shell is a widely used tool outside of SAP for executing commands remotely without passwords.
    - Installation is non-standard: shell environment of remote user is not adapted by SAP installer since SAP installer is not used, SAP executables in the home dir of the remote user is non-standard. Has to be setup manually.
    - Requires setting up secure shell key-based authentication, which should be known by UNIX/Linux admins or combined Basis/UNIX/Linux admins, but might be less familiar to SAP Web AS only admins.
    - If your admin config policy is to have SAP interact as little possible with the OS level for interfaces with other systems, here you are relying on the OS-level secure shell.
    - Using a private key that does not require a passphrase on the central system may not fit with your security policies if you have standards for secure shell configuration.
    SAP gateway
    + The gateway is a standard installation, performed with SAP installation tool, with the exception of a few additional environment settings that have to be added after the installation. BR*Tools are installed in the standard location. Can use standard procedures for updating this software.
    + Only uses SAP software.
    - More software on remote system: standalone gateway just to run BR*Tools and view logs.
    - SAP Kernel of remote gateway should probably be updated whenever you do SAP kernel updates across your systems for consistency. One more system to update.
    - Shell environment of remote user that runs the gateway looks like something setup by the SAP installer but is not standard because it has a few additional environment variables added.
    - Need to make sure the SAP gateway is started on the remote system.

    Hi Joe,
    I configured a monitoring/dba landscape for two SAP Portals and one SAP BusinessObjects system on a SAP landscape by using DBACOCKPIT, at a customer site. These systems are running on AIX, Windows 2003/2008 servers and attached to the central monitoring system with standalone SAP gateway installations.
    One another reason to not use OS based commands or 3rd party tools is security. We are stopping and disabling most of the services on OS where SAP system is running on, because of the security reasons. I faced more security gaps on rsh/ssh and the other tools than standalone SAP Gateway installations. As you can figure out that rsh/ssh is getting more attack than standalone SAP Gateway, because of well known by the IT world.
    As a summary of it, this depends to point of view and policy of the IT organization. I applied both ssh and standalone SAP Gateway solutions at my customers, but I choose standalone SAP Gateway installation among of them.
    Best regards,
    Orkun Gedik

  • Passing Array of java objects to and from oracle database-Complete Example

    Hi all ,
    I am posting a working example of Passing Array of java objects to and from oracle database . I have struggled a lot to get it working and since finally its working , postinmg it here so that it coudl be helpful to the rest of the folks.
    First thinsg first
    i) Create a Java Value Object which you want to pass .
    create or replace and compile java source named Person as
    import java.sql.*;
    import java.io.*;
    public class Person implements SQLData
    private String sql_type = "PERSON_T";
    public int person_id;
    public String person_name;
    public Person () {}
    public String getSQLTypeName() throws SQLException { return sql_type; }
    public void readSQL(SQLInput stream, String typeName) throws SQLException
    sql_type = typeName;
    person_id = stream.readInt();
    person_name = stream.readString();
    public void writeSQL(SQLOutput stream) throws SQLException
    stream.writeInt (person_id);
    stream.writeString (person_name);
    ii) Once you created a Java class compile this class in sql plus. Just Copy paste and run it in SQL .
    you should see a message called "Java created."
    iii) Now create your object Types
    CREATE TYPE person_t AS OBJECT
    EXTERNAL NAME 'Person' LANGUAGE JAVA
    USING SQLData (
    person_id NUMBER(9) EXTERNAL NAME 'person_id',
    person_name VARCHAR2(30) EXTERNAL NAME 'person_name'
    iv) Now create a table of Objects
    CREATE TYPE person_tab IS TABLE OF person_t;
    v) Now create your procedure . Ensure that you create dummy table called "person_test" for loggiing values.
    create or replace
    procedure give_me_an_array( p_array in person_tab,p_arrayout out person_tab)
    as
    l_person_id Number;
    l_person_name Varchar2(200);
    l_person person_t;
    l_p_arrayout person_tab;
    errm Varchar2(2000);
    begin
         l_p_arrayout := person_tab();
    for i in 1 .. p_array.count
    loop
         l_p_arrayout.extend;
         insert into person_test values(p_array(i).person_id, 'in Record '||p_array(i).person_name);
         l_person_id := p_array(i).person_id;
         l_person_name := p_array(i).person_name;
         l_person := person_t(null,null);
         l_person.person_id := l_person_id + 5;
         l_person.person_name := 'Out Record ' ||l_person_name ;
         l_p_arrayout(i) := l_person;
    end loop;
    p_arrayout := l_p_arrayout;
         l_person_id := p_arrayout.count;
    for i in 1 .. p_arrayout.count
    loop
    insert into person_test values(l_person_id, p_arrayout(i).person_name);
    end loop;
    commit;
    EXCEPTION WHEN OTHERS THEN
         errm := SQLERRM;
         insert into person_test values(-1, errm);
         commit;
    end;
    vi) Now finally create your java class which will invoke the pl/sql procedure and get the updated value array and then display it on your screen>Alternatively you can also check the "person_test" tbale
    import java.util.Date;
    import java.io.*;
    import java.sql.*;
    import oracle.sql.*;
    import oracle.jdbc.driver.*;
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    public class ArrayDemo
    public static void passArray() throws SQLException
    Connection conn = getConnection();
    ArrayDemo a = new ArrayDemo();
    Person pn1 = new Person();
    pn1.person_id = 1;
    pn1.person_name = "SunilKumar";
    Person pn2 = new Person();
    pn2.person_id = 2;
    pn2.person_name = "Superb";
    Person pn3 = new Person();
    pn3.person_id = 31;
    pn3.person_name = "Outstanding";
    Person[] P_arr = {pn1, pn2, pn3};
    Person[] P_arr_out = new Person[3];
    ArrayDescriptor descriptor =
    ArrayDescriptor.createDescriptor( "PERSON_TAB", conn );
    ARRAY array_to_pass =
    new ARRAY( descriptor, conn, P_arr);
    OracleCallableStatement ps =
    (OracleCallableStatement )conn.prepareCall
    ( "begin give_me_an_array(?,?); end;" );
    ps.setARRAY( 1, array_to_pass );
         ps.registerOutParameter( 2, OracleTypes.ARRAY,"PERSON_TAB" );
         ps.execute();
         oracle.sql.ARRAY returnArray = (oracle.sql.ARRAY)ps.getArray(2);
    Object[] personDetails = (Object[]) returnArray.getArray();
    Person person_record = new Person();
    for (int i = 0; i < personDetails.length; i++) {
              person_record = (Person)personDetails;
              System.out.println( "row " + i + " = '" + person_record.person_name +"'" );
                        public static void main (String args[]){
         try
                             ArrayDemo tfc = new ArrayDemo();
                             tfc.passArray();
         catch(Exception e) {
                        e.printStackTrace();
              public static Connection getConnection() {
         try
                             Class.forName ("oracle.jdbc.OracleDriver");
                             return DriverManager.getConnection("jdbc:oracle:thin:@<<HostNanem>>:1523:VIS",
                             "username", "password");
         catch(Exception SQLe) {
                        System.out.println("IN EXCEPTION BLOCK ");
                        return null;
    and thats it. you are done.
    Hope it atleast helps people to get started. Comments are appreciated. I can be reached at ([email protected]) or [email protected]
    Thanks
    Sunil.s

    Hi Sunil,
    I've a similar situation where I'm trying to insert Java objects in db using bulk insert. My issue is with performance for which I've created a new thread.
    http://forum.java.sun.com/thread.jspa?threadID=5270260&tstart=30
    I ran into your code and looked into it. You've used the Person object array and directly passing it to the oracle.sql.ARRAY constructor. Just curios if this works, cos my understanding is that you need to create a oracle.sql.STRUCT out of ur java object collection and pass it to the ARRAY constructor. I tried ur way but got this runtime exception.
    java.sql.SQLException: Fail to convert to internal representation: JavaBulkInsertNew$Option@10bbf9e
                        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
                        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
                        at oracle.jdbc.oracore.OracleTypeADT.toDatum(OracleTypeADT.java:239)
                        at oracle.jdbc.oracore.OracleTypeADT.toDatumArray(OracleTypeADT.java:274)
                        at oracle.jdbc.oracore.OracleTypeUPT.toDatumArray(OracleTypeUPT.java:115)
                        at oracle.sql.ArrayDescriptor.toOracleArray(ArrayDescriptor.java:1314)
                        at oracle.sql.ARRAY.<init>(ARRAY.java:152)
                        at JavaBulkInsertNew.main(JavaBulkInsertNew.java:76)
    Here's a code snippet I used :
    Object optionVal[] =   {optionArr[0]};   // optionArr[0] is an Option object which has three properties
    oracle.sql.ArrayDescriptor empArrayDescriptor = oracle.sql.ArrayDescriptor.createDescriptor("TT_EMP_TEST",conn);
    ARRAY empArray = new ARRAY(empArrayDescriptor,conn,optionVal);If you visit my thread, u'll see that I'm using STRUCT and then pass it to the ARRAY constructor, which works well, except for the performance issue.
    I'll appreciate if you can provide some information.
    Regards,
    Shamik

  • ADF 11 and not supported database (Informix)

    Hi,
    Our client wants to create ADF RC application for Informix Dynamic Server 11.5. According to [JDeveloper 11g Database Support|http://www.oracle.com/technology/products/jdev/htdocs/11/database.html] - it's not supported database. I tested ADF BC with Informix and it doesn't work. But what about EJB/JPA as bussiness layer for ADF RC components. Is this possible to use this stack for unsuported databases. What are limitations ? Is Oracle planning to publish more documentation and examples for EJB/JPA/ADF RC ?
    Kuba

    Some of the things that you get for free with ADF BC will require extra code on your end if you choose to use EJB/JPA.
    For example your table won't have filtering capabilities by default since a JPA entity by default doesn't provide for query by example capabilities.
    Declarative LOV, and Query components are also ADF BC features.
    We don't have a full list documenting these right now.

  • Interactions between Oracle XE and other Oracle database or products

    Hello,
    My computer is already supporting Oracle 9i Developer Suite and I would like to know if there is some possibles interactions with Oracle database XE which I plan to install on the same computer.
    Thank you

    Ivok - To answer your first question, each of those two versions is the latest version to run on Oracle SE/EE and Express editions, respectively. Version 2.0 does not run on Oracle Express Edition and Version 2.1 runs only on Oracle Express Edition. Applications developed in either version of Application Express can be installed and run in the other version.
    Scott

  • Bea weblogic 6.1 does not oracle Database fail over

    Hi We had Concurrency Strategy:excusive . Now we change that to Database for performace
    reasons. Since we change that now when we do oracle database fail over weblogic
    6.1 does not detect database fail over and it need restart.
    how we can resolve this ??

    mt wrote:
    Hi We had Concurrency Strategy:excusive . Now we change that to Database for performace
    reasons. Since we change that now when we do oracle database fail over weblogic
    6.1 does not detect database fail over and it need restart.
    how we can resolve this ??Are your pools set to test connections at reserve time?
    Joe

  • How to develop ADF Mobile with Oracle Database remotely

    As my company is using Oracle Database and using ADF to development many Web-based apps and We just begin to develop in ADF Mobile.
    We can't find any tutorial about to using Oracle Database with ADF, How we can using it in ADF Mobile ?
    Thanks for your help !

    Hi,
    ADF mobile supports SOAP and REST services for business services access. This means that for you to work against an Oracle database, you need to create a business services that can be exposed as a service for WS DC consumption as explained in the ADF Mobile documentation. Your options are
    1. EJB / JPA : Create entities from database table and then create a session facade on top. This then can be declaratively exposed as a WebService. Use the WSDL reference and start New --> WebService -> WS Data Control in your ADF Mobile project
    2. ADF BC can be exposed as a Service Interface and this to ADF Mobile. To create an ADF BC service you can read the product documentation or this: http://www.oracle.com/technetwork/issue-archive/2012/12-sep/o52adf-1735897.html
    See this video: https://blogs.oracle.com/shay/entry/developing_with_oracle_adf_mobile for how to integrate this in ADF Mobile
    Frank

  • Difference between Oracle SID and an Oracle Database

    Hi
    Can any one please differeniate what exactly is the difference between an Oracle SID and a new Oracle Database?
    We just need to create another instance of an application (so we need another copy of all tables).
    So either we can:
    1. New database SID created or
    2. New user created in existing schema or
    3. New database provided
    Which is the best approach?

    Hi,
    New database SID created orThat is equivalent of creating a new database in your case.
    New user created in existing schema orYou meant new schema(user) created in existing database. I assumed this because you do not want both application to update the same table copy, but different copy.
    3. New database providedIt all depends on your you whether you want to create a new database or a new schema for getting another copy of table.
    Some points which I take in mind
    1) If I have a production database and I need to create a new set of tables for testing or any other purpose, I would create a new database.
    2) If I have a test database and I need to create a new set of tables for testing or any other purpose, if possible I would create a new schema in existing database.
    3) If I am running less in resources(hardware/memory), I would be createing a new schema in existing database.
    4) If I am not running less in resources and I would to keep these two copies entirely different, then from security purpose I would create a new database.
    Regards
    Anurag Tibrewal.

  • How to Install emacs, openssh and start oracle database and get a connect?

    As suggested by another poster, I installed the prebuilt appliance at [http://www.oracle.com/technetwork/community/developer-vm/index.html] and [http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html] with the intent of running oracle database in a linux vm as a guest on windows 7 and connecting to it using JDBC from the windows host.
    This is running but I don't know how to install other stuff. I tried "sudo yum install openssh" and "sudo yum install emacs" and "sudo service sshd status" and none of these worked (it could not find these packages). I could not get apt-get or app-get or aptget to work either. I was hoping that "uname -a" would tell me if this was fedora or debian or something else but no luck. What command do I use to learn the distro name?
    How do I make ifconfig tell me what the ip address so I can use "scp" and "ssh" to get into the box? Ok, /sbin/ifconfig works and I see there is only a loopback address. Ack! How do I create a socket so I can ssh into this little beastie?
    How do I disable the firewall or (better yet) punch holes in it so I get use JDBC and ssh, scp and samba from windows 7?
    I tried firing up the SQL Developer 3.1 and getting a test connection with username and password of "oracle" with no luck. How do I get a test connection to work?
    How do I determine if the database is running? If not, how do I start it and stop it and restart it?
    Thanks
    Siegfried
    Edited by: user8816970 on Sep 15, 2012 6:29 PM
    Edited by: user8816970 on Sep 15, 2012 6:33 PM

    There is no "oracle" account native to the database itself. This is just the default account that owns the application. Log on as oracle/oracle to the OS. (OEL) You can change the passwords of the sys and system account by setting your $ORACLE_HOME and $ORACLE_SID. Default SID is orcl on a database install. Also set a path to the oracle binaries in the form of $ORACLE_HOME/bin.
    Then sqlplus / as sysdba
    Change passwords of sys and system using the following example.
    ALTER USER SYS IDENTIFIED BY [password];
    ALTER USER SYSTEM IDENTIFIED BY [password];
    The supplied appliance runs oracle enterpirse linux. Not debain or fedora.
    Why do you need "emacs"?
    I haven't personally load this appliance with Virtual Box but there has to be a readme file somewhere that details all the passwords and etc.

  • One BI and 3 oracle database?

    Hi all,
    I was installing Oracle 10g and BI on machine with ip 10.0.0.3
    I have other oracle 10g on machine with ip 10.0.0.5
    How can I set and connect this 10.0.0.5 dbase with BI from 10.0.0.3
    regards
    gordan,

    For Oracle databases you shoul;d not use ODBC but Oracle's native drivers (OCI). The way to set this up is the same than for any other OCI connection from any other box: Install the Oracle client and configure the TNSNAMES so that it knows about the Oracle DB you want to connect to.

  • Install and config oracle database 10g release 2 in domain or LAN network

    Please help me config oracle database in two case:
    case 1: I want to install only one oracle database in a computer (Server) and other computers can connect and using it. I try to install oracle database in a computer (this is a Server computer). But database is used for this computer, other computers can't connect and using it.
    case 2: If oracle database in a domain, can you help me install and config it.
    example: my domain is: piacom.com.vn. All computers in this domain.
    Thank !

    Wich kind of installation did you use ?
    Personal ? Enterprise ?

  • CURRENT_TIME and non-Oracle Database

    Folks !
    When I use CURRENT_TIME in JPA named query, TopLink (Essentials) translates it into a "sysdate" function - this doesn't work on non-Oracle database like Postgres.
    How do you get Toplink to substitute correct function for non-Oracle Database ?
    thanks,
    -Sanjay

    I set following in my persistence.xml:
    <property name="toplink.target-database" value="PostgreSQL" />
    Still no luck.

  • Join between Oracle and non-Oracle Database

    We are working at a project with the follow architecture:
    - 5 Databases (3 Oracle, 1 Sybase and 1 DB2);
    - Session Bean like Session Facade Pattern;
    - Entity Bean (BMP);
    - OC4J (Oracle Container for J2EE);
    The case is that we cannot make join between tables of different bases, for example, join with one table of Oracle and one other of DB2, therefore the customer does not possess tool midleware for this.
    The idea that appeared was: we make a query in table XXX of Oracle and return a HashTable with its respective VO�s and Keys (PKs from the first query that will serve of base for the second query), later we have access the DB2 that one second collection would return, to inside make join of the application.
    The problem is that with this solution, we will have fall in the performance. And we do not know if it is the best form.
    Do you have any idea???
    Thanks,
    Eric Sander

    Hi,
    If you have different databases then the join has to be done in the VM (either by the appserver or by you).
    If you want to do it yourself, I would try the following:
    -write one DAO per business object (at least one per database)
    -this DAO contains the specifics of its database
    -return a hashtable of keys and VOs from one DAO (as you say you do?)
    -in the other DAO, add a method "joinWith ( Hashtable foreignKeys )" that will return the join's result
    -implement the method along these lines:
    1. retrieve the candidate rows from the second DAO's tables (1 query execution)
    2. put the keys in a new Hashtable, say "candidateKeys" (meaning 1 iteration over all results)
    3. iterate over all elements of foreignKeys (1 iteration)
    4. for each element, check if a key exists in "candidateKeys" (1 hash lookup, very fast)
    5. add any such row to the result
    This is called a hash join (Oracle does it internally if you do a join).
    It is the fastest algorithm to do joins.
    Best,
    Guy
    http://www.atomikos.com - JTA transaction manager

Maybe you are looking for

  • Hard drive failed, now I need to re-purchase iTune's library

    My father's hard drive failed and now his iTune's library is gone. I have two questions. 1. How can I buy a list of songs from the iTune's music store? I want to avoid re-purchasing individual songs and albums; it will take forever. 2. Is there a val

  • Aperture  3Quitting on Start-up

    I have used Aperture since version one. Today I booted up my Mac Pro and launched Aperture. A message came up saying that "Aperture can not be opened up because of a problem." The program is up to date and when I tried to solve the problem by reinsta

  • Can Numbers be used as database for a collection?

    Can Numbers be designed to make a database for a library of books? I have a large collection of old sheet music. The records would include keywords, comments, publication date, composer, illustrator, publisher, value, condition, purchase date -- and

  • Illustrator CC Crashing on Save

    I have been having issues with Illustrator CC for Mac crashing when I try to save. I think it is realated to fonts. Everytime I open a file, it is defaulting to MyriadPro but it has a black diamond next to it. I can't seem to change it to something e

  • 4.1 Documentation pitfall "APEX_041000"  vs. "APEX_040100"

    Hello Apex Team, There is a very ugly bug in the install docs. There it refers to a APEX Schema name "APEX_041000" (also for sample script names!) the schema name created in the install process actuelly is "APEX_040100" This should be corrected very