Listeneing to a Change Table in a Database

Dear Java Coders,
I would like to code a universal database synchronizer, I'm stuck at planning the project.
My software is server-side; configuration files are in XML and Databases are universally configured via the configuration files. Now my only "Newbie" difficulty I see, is a Listener for Database Data Change. For eg.
Database A : id = 01 < ==| Change Listener |== > Database B : id =02
Can someone please advise me on this ?

Hi,
you can write your own Listener-methods.
Create an interface and implement in Database B this interface, in Database A implement a second interface that adds the Database B Listener to an array. If Database A will be changed call the interfaceDatabaseB-method.
This should work.
Sabine
Listener: Database B implements ListenerInterface
ListenerInterface
=> method callListener()
Caller : Database A implements ListenerCallerInterface
ListenerCallerInterface
=> method addListener

Similar Messages

  • Error while creating publisher change tables in CDC

    Hi,
    I am implementing Change Data Capture. I got getting following error while creating publisher change tables in Staging database. My database version is 10.2.0.2.0 .
    I appreciate your help.
    ERROR at line 1:
    ORA-29540: class oracle/CDC/PublishApi does not exist
    ORA-06512: at "SYS.DBMS_CDC_PUBLISH", line 611
    ORA-06512: at line 2
    Thanks,
    Venkat.

    This problem got fixed when I ran below script!!
    @$ORACLE_HOME/rdbms/admin/initcdc.sql;

  • How to run insert/update/delete from CDC Change table to target using OWB

    I am planning to set up CDC and publish CDC change table as source data into to OWB. I have come across where I am confused how to apply changes from CDC change table to target database using OWB. For i.e. change tables is containing information like
    operation$, cscn$,commit_timestamp$,xidusn$,....,list of column name
    D,12323223,8/28/2008 1:44:32PM,24,.....,list of column value that have to be deleted from target
    UO,12323224,8/28/2008 1:45:23PM,24,.....,list of column value that have to be updated in target.
    Please advice or give me some hint. Thank you.

    Hi,
    you can wait for 11gR2 with CDC integration or build most of the code outside the owb. To use CDC you must do this things (http://www.oracle.com/technology/oramag/oracle/03-nov/o63tech_bi.html):
    1. Identify the source tables.
    2. Set up a publisher.
    3. Create change tables.
    4. Set up a subscriber.
    5. Subscribe to the source tables, and activate the subscription.
    6. Set up the CDC window.
    7. Prepare a subscriber view.
    8. Access data from the change tables.
    9. Drop the subscriber view, and purge the CDC window.
    10. Repeat steps 6 through 9 to see new data.
    You can do only a few of this inside owb, most of it must be done outside.
    Regards,
    Detlef

  • Can we change the fields of database unique index in a customised table?

    Hi all..
    I want to know that can we create or change or delete the database unique index of a customized table?
    In my case, there is a customised table with 4 primary keys with all the records to be maintained thru transaction code SM30.
    There is database unique index maintained for this table which has 2 fields. These 2 fields are out of the 4 primary fields of the table.I hope I have made myself clear!
    Now when I am trying to insert a record in the table it give me a short dump.( It says duplication of records is not allowed)
    The reason being that the new record that I am trying to insert in the database table has those 2 fields for which the unique index is maintained is the same as an already existing record.And the other two fields are different from the already existing record.So overall the combination of the 4 primary fields is different.
    Please tell me how shall I proceed now?
    I also tried to change the Unique index but it is asking me some kind of authrization(You are not authorized to make changes (authorization object S_DEVELOP)).Also I am not sure whether changing the unique index is feasible or not.?
    Thanks.

    hi
    I think you will not be able to do unique indexing withou the help of primary keys,so use all the primary keys into the table field selections  and and then create indexing otherwise dupilication of keys can occur. if you are not able to keep the primary keys then go for non unique key indexing,where you have to add the client field and the any keys of your wish.

  • Table in the Database will be changed, what is impact

    Hi, I'm new to the Forum.
    We have a multiple reports build in the multiple Business arias, One of the Tables in the Database will be changed. My question is what is the best way to use EUL5 to see what impact it will make. I will appreciate any advise.

    When you say one of the tables in the database will be changed, do you mean columns will be added, or are some columns going away, column names changing, tablename changing or what?
    If the table is just getting some new columns added, then no problem. Your existing reports will still be fine and when you perform a refresh on the business area where the folder is pointing to your table, it will just pick up the new items.
    If columns are going away, then your reports will get an error if they refer to that column name via the folder. You can do a kludge to cover this for the short term. In the folder in Admin, you can add a calculation with the exact same name as the column that's going away. Then - if it's a character - put in some kind of striking phrase like 'Russ Was Here'. Then when the existing reports are run, you'll see the phrase and know you just have to delete it from the report. Once all gone from all reports - you can delete the condition from the folder.
    Hopefully you can see the reliance on the Discoverer folder having to have a non-changing table. The easier thing to do for the future - is to create a database view that points to the table. Then if the table changes in ANY way (well, except from being deleted altogether with no replacement table), you can always fix the view to return proper data and as your Disco folder is pointing to the view, nothing changes.
    Hey this is what NoetixViews does, what BIS view do, etc. - it's IMHO the best way to go for future development.
    Russ

  • Database error changing table ADR2 - Inbound IDOC Create Order

    Hi experts,
    I have a backgroud job for program RBDAPP01 to process inbound IDOC message type OILLDD. It woked perfectly for years. Few days ago, the job got short dump and cancelled. In Error log, it shows error MESSAGE_TYPE_X Database error changing table ADR2 in function module ADDR_SAVE_INTERN.
    I already try to activate trace log to see sql statement but still couldn't find anything suspicious. Have anyone been through this problem before? Please suggest.
    Regards,

    Hi,
         Please check if this SAP note is useful.  1300825
    Regards,
    Srini.

  • Database error changing table ADR6

    Hi,
    We have a standard job HRALXSYNC which runs in banckground everyday. The job is getting failed everyday with the error 'Database error changing table ADR6'. Has anyone faced this issue before. Is it being caused by inconsistent data in ADR6 table? Or is it throwing this error due to some other reasons ? Kindly post your responses. I would appreciate your help.
    Regards,
    Mani

    Debugged the program and found out the error entry. then corrected the same

  • [svn:fx-trunk] 12481: Because of the Change/Changing changes in VideoPlayer , we need to also listen for a CHANGE as well as the CHANGE_END, CHANGE_START, THUMB_PRESS, and THUMB_RELEASE events.

    Revision: 12481
    Revision: 12481
    Author:   [email protected]
    Date:     2009-12-03 18:48:17 -0800 (Thu, 03 Dec 2009)
    Log Message:
    Because of the Change/Changing changes in VideoPlayer, we need to also listen for a CHANGE as well as the CHANGE_END, CHANGE_START, THUMB_PRESS, and THUMB_RELEASE events.
    Also, when clicking on the track and animating, the scrubbar's playedArea should move along with the thumb.  We do this by using pendingValue, rather than value in updateSkinDisplayList().
    QE notes: -
    Doc notes: -
    Bugs: SDK-24528
    Reviewer: Kevin
    Tests run: checkintests
    Is noteworthy for integration: No
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-24528
    Modified Paths:
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/mediaClasses/ScrubBar.as

    My first observation is that you don't reraise the error in the CATCH handler. That is bad, because it makes the proceedure fail silently which may be very difficult to troubleshoot.
    The version numbers for Change Tracking are indeed database-global. MIN_VALID_VERSION can be different for different tables, if they have different retention periods. But if they all have the same retention period, it seems likely that MIN_VALID_VERSION
    would increase as the database moves on.
    I'm not sure about your question Can we use the CHANGE_TRACKING_CURRENT_VERSION even though we want to download subset of data from the table (only records matching for one data_source_key at a time). Where would you use it? How would you use
    it?
    Erland Sommarskog, SQL Server MVP, [email protected]

  • Is there a way to create "temporary" tables in SAP database?

    Hello,
    Is there a way to create temporary tables in ABAP?
    Here is our scenario:
    1. Invoke a custom RFC that creates a temporary table and returns the name of the table.
    2. Invoke another custom RFC and pass this table name as parameter. This RFC internally does some INNER JOIN with the temporary table.
    3. Invoke the third RFC to delete the temporary table.
    Note that the name of the table cannot be static. We have many users using our application simultaneously and connecting to the SAP server.
    I would appreciate it if you could point me in the right direction.
    Thank you in advance for your help.
    Peter

    I just ran into a similar issue.  While only calling the select statement 2 times, each time had so many entries in the 'for all entries' list, that the compiler converted this into about 700 calls to the select.  Now since the select joined three real tables on the database, the trace shows this one select as being the slowest item in this application.
    I think that happened because 'for all entries' gets converted to an 'IN' clause, and then the total number of characters in any SQL statement has an upper limit.   So the compiler must make the select statement over and over until it covers all entries in the 'for all entries' list.  Is that correct?
    Since every database I ever saw has the concept of db temporary tables, I have used db temp tables many times for this sort of thing.
    The ABAP compiler could determine that more than one IN statement will be need, then use an alternate: write all the FOR ALL ENTRIES to a db temp table, then join on the db temp table, then drop db temp table.  Since the compiler does this sort of thing, no application code needs change to get the speed boost.

  • I don't have the option to create a new table in my database

    Hi, I have SQL 2014, for some reason, a few weeks ago I was able to create a new table for my databases, now, I don't have the option to do so, all I get when I right click on tables is "Tables..." instead of "New Table", when I select
    "Tables..." it allows me to write my codes but it doesn't save except in a text files witch doesn't want to open when I want to resume my work.
    Is there any option in SQL to activate the "New Table" by right clicking on Tables? I have all the rights and permissions available to my use as it's my computer and my own server. 
    To fix the issue I tried
    -Re-installing SQL
    -Changed for 4 different versions
    -Allowing more than necessary permissions 
    -Making it public to use (it's only to test it, anyway, I'm in the learning phase)
    Any kind of help or advice will be welcome and much appreciated.
    Thank you!

    I don't know the reason why you are experiencing this, so what I am describing below are just some steps that you can take to diagnose the problem if it is related to a permissions issue.
    1. If you are not already on the computer where SQL Server is installed, login on that box and launch SQL Server Management Studio and run it as Administrator.
    2. Connect to the Server and open up the object explorer and expand the Security node that is directly under the Sever tab.
    3. Under logins, find your login, right-click properties and see what kind of server level permissions you have, and which databases you are mapped to and what kind of permissions you have on those.
    It may just be that this is not related to permissions at all, but I can't think of what that would be. To test whether it is a SSMS GUI problem or not, open up a query window and select a database on which you think you have permissions to create tables.
    Then create a test table using T-SQL, for example:
    create table dbo.MyTestTable( col1 int);

  • How to mirroring/replicating a table from one database to another database?

    I am having a table in 10g Database.
    I want to mirror this table in 9i Database.
    How to do this?

    1) Just to clarify, it is quite possible to use Streams between a 9i and 10g database (note for future reference that specifying actual database versions, i.e. 9.2.0.4 or 10.2.0.4 rather than marketing labels is generally helpful because there may be differences between different 9i and 10g releases)
    2) Are you setting up one-way replication? Or will changes be made on both databases, implying the need for multi-master replication?
    3) Why doesn't the table have a primary key? Could you declare a primary key? If not, you'd have to use the ROWID (i.e. specify WITH ROWID when creating the materialized view log and the materialized view) which tends to cause maintenance issues down the line. It really doesn't make sense to replicate a table without a primary key-- it really doesn't make sense to design a table without a primary key the vast majority of the time.
    Justin

  • Problems accessing tables in oracle database with ejb entity bean

    I have created a simple server application that uses an entity bean (version 2.0) for an existing table in oracle database, and a session bean that is used as an outside interface for performing operations on that table.
    after deploying the server and client application the client attempts to perform an operation with the session bean remote interface it obtained.
    The session bean uses a locale interface to communicate with the entity bean, but when it tries to use its methods (create, findByXXX) it always get the following Exception: java.sql.SQLException: ORA-00942: table or view does not exist.
    the table of course exists, and the username password I'm using has all the permissions needed for this table.
    note - I'm using the Forte enterprise edition 4.0 as developer tool.
    I'll be glad to get some help.
    Here is the full stack trace of the exception:
    javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean; nested exception is: javax.ejb.EJBException: nested exception is: java.sql.SQLException: ORA-00942: table or view does not exist
    javax.ejb.EJBException: nested exception is: java.sql.SQLException: ORA-00942: table or view does not exist
    java.sql.SQLException: ORA-00942: table or view does not exist
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
    at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
    at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:643)
    at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:1674)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1870)
    at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:363)
    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:314)
    at com.sun.ejb.persistence.SQLEngine.ejb20Finder(SQLEngine.java:226)
    at com.sun.ejb.persistence.PartitionImpl.ejbFinder(PartitionImpl.java:736)
    at com.cti2.telco.core.ejb.entity.userInfo.UserInfoEJB_PM.ejbFindByEmail(UserInfoEJB_PM.java:393)
    at com.cti2.telco.core.ejb.entity.userInfo.UserInfoEJB_PM_LocalHomeImpl.findByEmail(UserInfoEJB_PM_LocalHomeImpl.java:64)
    at com.cti2.telco.core.ejb.UserManagerEJB.authenticate(UserManagerEJB.java:77)
    at com.cti2.telco.core.ejb.UserManagerEJB.authenticate(UserManagerEJB.java:68)
    at com.cti2.telco.core.ejb.UserManagerEJB_EJBLocalObjectImpl.authenticate(UserManagerEJB_EJB
    LocalObjectImpl.java:63)
    at com.cti2.telco.core.ejb.dispatch.TelcoFacadeEJB.userLogin(TelcoFacadeEJB.java:80)
    at com.cti2.telco.core.ejb.dispatch.TelcoFacadeEJB_EJBObjectImpl.userLogin(TelcoFacadeEJB_EJBObjectImpl.java:24)
    at com.cti2.telco.core.ejb.dispatch._TelcoFacadeEJB_EJBObjectImpl_Tie._invoke(Unknown Source)
    at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatchToServant(GenericPOAServerSC.java:519)
    at com.sun.corba.ee.internal.POA.GenericPOAServerSC.internalDispatch(GenericPOAServerSC.java:204)
    at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatch(GenericPOAServerSC.java:112)
    at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:273)
    at com.sun.corba.ee.internal.iiop.RequestProcessor.process(RequestProcessor.java:84)
    at com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThread.run(ThreadPool.java:99)
    ...

    Well it seems like the problems has a simple explanation. The Forte assigns a default table name (<entityName>EJBTable) when creating an entity bean from an existsing table in DB (which is not the same as the one it was created from !!!). Also, for reason unknown, when you deploy these entity beans, it doesn't even create the new table under its new name (even if instructed to).
    So using the Forte we managed to use successfuly only entity beans that were created "from scretch" (when deployed their tables are created).
    Does anyone know how to change the default name the Forte uses, and make it work properly with entity beans created from an existsing table (without going over the xml's) ?

  • Changes made to the database are not being affected in Toplink work bench..

    Hi,
    Im recently encountering the following problem with Toplink mapping work bench.
    The cchanges are not visible when I make any changes to the underlying database tables and retrieve that tables into mapping work bench .
    The retrived table information still contains old information and the new fields added are not seen and the old fields which were deleted are not deleted.
    Is there any cache associated with TOplink..if so How can I flush that cache so that i always end up with the latest DDL s in my Toplink
    Thanx in advance...
    Regards
    Mahi

    You need to explicitly refresh the tables. In the Mapping Workbench, select or multi-select the tables you'd like to refresh, right click on them and choose "refresh".
    IF you are doing that, and not seeing the changes, then the most likely issue is that you are connecting to a different database and/or using a different JDBC login.
    - Don

  • Capture process: Can it write to a queue table in another database?

    The capture process reads the archived redo logs. It then writes the appropriate changes into the queue table in the same database.
    Can the Capture process read the archived redo logs and write to a queue table in another database?
    HP-UX
    Oracle 9.2.0.5

    What you are asking is not possible directly in 9i i.e. capture process cannot read the logs and write to a queue somewhere else.
    If the other database is also Oracle with platform and version compatibility then, you can use the 10g downstream capture feature to accomplish this.

  • No tables found in database

    Last night I had a number of apps to udate (mainly CS6), so I set the 'update all' running and went to bed. I got up this morning to find all had updated fine as expected. However, since this morning I am consistely getting an error telling me that I have no tables in my database and can't therefore create recordsets etc...
    I didn't look to see if DWCS6 was one of the apps that required an update, but I can't seem to get it to always load the database tables when try to I create a recordset. It's very hit and miss, but unfortunately more miss at the mo'.
    Is anyone else experiencing this? I'm wondering if the update has broken something!

    When it losses connection, I am unable to connect to the DB regardless of whether I am testing the connection, creating a new recordset, copying recordsets that are months old, or using the bindings panel to drag a binding onto the page. When it looses connection, I get a http error in the recordset in the bindings panel.
    Everything was fine prior to the update, and nothing has changed apart from the update to the CS6/CC software.
    I can launch DW and have it work prefectly with any DB in any site, and then for no reason, it looses the connection. The connection will not work again until I quit DW and restart it. Outside of DW, I can see all databases, and I can see the contents of each. I am able to interact with MySQL databases create new tables and records, update them and delete them, but DW still won't connect until I restart it.
    As this has only started happening imediately after I updated the software, it would indicate a bug to me... and I have been reporting numerous bugs for DWCS6 with Adobe engineers.

Maybe you are looking for

  • I updated Web Mail and now I can't find it, how do I locate it?

    When I opened Firefox I had an update screen which included WebMail Notifier, when I updated and restarted Firefox I am unable to locate WevMail plugin now.

  • Email program not running. Messaging Exception coming,

    I am making an program which will send the mail to a gmail account. On my laptop following are installed: - Apache Tomcat - Eclipse But the servlet is not able to send the mail to gmail account. I am directly sending the mail to the gmail account. I

  • Apple tv (3rd gen) set up

    I have a strange problem. I had an apple TV in the past which had to be sent back for a replacement because we continually got an error code (can't remember the number now). Until then, it worked well and I had it hooked up to the same TV we currentl

  • Lightroom with HP smartmedia server - mac and pc

    Hi Everyone, I was considering buying a new HP Smartmedia Home Server, but before I did I wanted to make sure I could store my pics and catolog files on the server to be accessed by my mac and PC. My wife uses my PC to put her photos into lightroom a

  • O2 unlocking Iphone 5 and I don't have original Itunes account details

    Hi I've bought a IPhone and I've paid the carrier to unlock the iPhone and they have informed that I need the original ITunes account associated with the Phone. I've been in touch with the previous owner who is a business and says he can't help. Is t