Cannot write to the database

I am using MySql 4.0 with Kodo.
For the tutorials I can get pretty good result. But when I tried my own
database, I can only browse but cannot write. when I write a new data
item, the below exceptions popped up:
kodo.util.FatalDataStoreException: The transaction has been rolled back.
See the nested exceptions for details on the errors that occurred.
     at
kodo.runtime.PersistenceManagerImpl.throwFlushException(PersistenceManagerImpl.java:1297)
     at
kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:1159)
     at
kodo.runtime.PersistenceManagerImpl.flushSafe(PersistenceManagerImpl.java:1042)
     at
kodo.runtime.PersistenceManagerImpl.beforeCompletion(PersistenceManagerImpl.java:969)
     at kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:69)
     at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:629)
     at reversetutorial.Finder.executeCreatQuery(Finder.java:108)
     at reversetutorial.Finder.main(Finder.java:44)
NestedThrowablesStackTrace:
kodo.util.DataStoreException: You have an error in your SQL syntax. Check
the manual that corresponds to your MySQL server version for the right
syntax to use near 'key, value) VALUES ('test', '50')' at line 1
{prepstmnt 849515 INSERT INTO ns_config (key, value) VALUES (?, ?)
[reused=0]} [code=1064, state=42000]
     at
kodo.jdbc.sql.DBDictionary.newDataStoreException(DBDictionary.java:3400)
     at kodo.jdbc.sql.SQLExceptions.getDataStore(SQLExceptions.java:77)
     at kodo.jdbc.sql.SQLExceptions.getDataStore(SQLExceptions.java:63)
     at kodo.jdbc.sql.SQLExceptions.getDataStore(SQLExceptions.java:43)
     at
kodo.jdbc.runtime.PreparedStatementManager.flush(PreparedStatementManager.java:210)
     at kodo.jdbc.runtime.UpdateManagerImpl.flush(UpdateManagerImpl.java:220)
     at kodo.jdbc.runtime.UpdateManagerImpl.flush(UpdateManagerImpl.java:95)
     at kodo.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManager.java:614)
     at
kodo.runtime.DelegatingStoreManager.flush(DelegatingStoreManager.java:153)
     at
kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:1159)
     at
kodo.runtime.PersistenceManagerImpl.flushSafe(PersistenceManagerImpl.java:1042)
     at
kodo.runtime.PersistenceManagerImpl.beforeCompletion(PersistenceManagerImpl.java:969)
     at kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:69)
     at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:629)
     at reversetutorial.Finder.executeCreatQuery(Finder.java:108)
     at reversetutorial.Finder.main(Finder.java:44)
NestedThrowablesStackTrace:
com.solarmetric.jdbc.ReportingSQLException: You have an error in your SQL
syntax. Check the manual that corresponds to your MySQL server version
for the right syntax to use near 'key, value) VALUES ('test', '50')' at
line 1 {prepstmnt 849515 INSERT INTO ns_config (key, value) VALUES (?, ?)
[reused=0]} [code=1064, state=42000]
     at
com.solarmetric.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:124)
     at
com.solarmetric.jdbc.LoggingConnectionDecorator.access$600(LoggingConnectionDecorator.java:19)
     at
com.solarmetric.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:728)
     at
com.solarmetric.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:362)
     at
kodo.jdbc.runtime.JDBCStoreManager$CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1716)
     at
kodo.jdbc.runtime.PreparedStatementManager.flushInternal(PreparedStatementManager.java:235)
     at
kodo.jdbc.runtime.PreparedStatementManager.flush(PreparedStatementManager.java:206)
     at kodo.jdbc.runtime.UpdateManagerImpl.flush(UpdateManagerImpl.java:220)
     at kodo.jdbc.runtime.UpdateManagerImpl.flush(UpdateManagerImpl.java:95)
     at kodo.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManager.java:614)
     at
kodo.runtime.DelegatingStoreManager.flush(DelegatingStoreManager.java:153)
     at
kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:1159)
     at
kodo.runtime.PersistenceManagerImpl.flushSafe(PersistenceManagerImpl.java:1042)
     at
kodo.runtime.PersistenceManagerImpl.beforeCompletion(PersistenceManagerImpl.java:969)
     at kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:69)
     at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:629)
     at reversetutorial.Finder.executeCreatQuery(Finder.java:108)
     at reversetutorial.Finder.main(Finder.java:44)
java.sql.SQLException: You have an error in your SQL syntax. Check the
manual that corresponds to your MySQL server version for the right syntax
to use near 'key, value) VALUES ('test', '50')' at line 1
     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2921)
     at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1570)
     at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
     at com.mysql.jdbc.Connection.execSQL(Connection.java:2978)
     at com.mysql.jdbc.Connection.execSQL(Connection.java:2902)
     at
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:930)
     at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1159)
     at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1076)
     at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1061)
     at
com.solarmetric.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:362)
     at
com.solarmetric.jdbc.PoolConnection$PoolPreparedStatement.executeUpdate(PoolConnection.java:358)
     at
com.solarmetric.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:362)
     at
com.solarmetric.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:362)
     at
com.solarmetric.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:362)
     at
com.solarmetric.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:724)
     at
com.solarmetric.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:362)
     at
kodo.jdbc.runtime.JDBCStoreManager$CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1716)
     at
kodo.jdbc.runtime.PreparedStatementManager.flushInternal(PreparedStatementManager.java:235)
     at
kodo.jdbc.runtime.PreparedStatementManager.flush(PreparedStatementManager.java:206)
     at kodo.jdbc.runtime.UpdateManagerImpl.flush(UpdateManagerImpl.java:220)
     at kodo.jdbc.runtime.UpdateManagerImpl.flush(UpdateManagerImpl.java:95)
     at kodo.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManager.java:614)
     at
kodo.runtime.DelegatingStoreManager.flush(DelegatingStoreManager.java:153)
     at
kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:1159)
     at
kodo.runtime.PersistenceManagerImpl.flushSafe(PersistenceManagerImpl.java:1042)
     at
kodo.runtime.PersistenceManagerImpl.beforeCompletion(PersistenceManagerImpl.java:969)
     at kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:69)
     at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:629)
     at reversetutorial.Finder.executeCreatQuery(Finder.java:108)
     at reversetutorial.Finder.main(Finder.java:44)
Exception in thread "main"
This is not a problem of Database version.
I found the sql statement that Kodo generated is like:
insert into ns_config (key, value) values ("test","50")
this is not correct, the correct should be:
insert into ns_config (`key`, `value`) values ('test','50')
but I found the script created with reversemappingtool is all correct
(with the ` symbol in the statement).
So this problem really caught me.
ps: below is the java code I use for testing:
1. Finder.java
package reversetutorial;
import java.lang.reflect.Constructor;
import java.util.*;
import javax.jdo.*;
import kodo.runtime.*;
public class Finder
     *     Usage: java reversetutorial.Finder <JDOQL query>
     public static void main (String[] args)
          if (args.length != 1)
               System.err.println ("Usage: java reversetutorial.Finder "
                    + "<JDOQL query>");
               return;
               executeCreatQuery();
     private static void executeCreatQuery ()
          Constructor[] constructors = NsConfig.class.getDeclaredConstructors
          for (int i = 0; i < constructors.length; i++)
                    // Find an appropriate constructor.
               Class[] paramTypes = constructors.getParameterTypes ();
               if (paramTypes.length == 2 &&
                         paramTypes[0] == String.class)
                    Object[] params = new Object[] {
                         "test", "50"
                    Object newObject = null;
                    try
                    newObject = constructors[i].newInstance (params);
                    } catch (Exception e) {
                         System.out.println("error!");
                    PersistenceManagerFactory pmf =
          KodoHelper.getPersistenceManagerFactory
("kodo.properties");
          PersistenceManager pm = pmf.getPersistenceManager ();
                    Transaction tx = pm.currentTransaction();
                    tx.begin();
                    pm.makePersistent(newObject);
                    tx.commit();
                    pm.close ();
                    pmf.close ();
2. NsConfig.java
package reversetutorial;
* Auto-generated by:
* kodo.jdbc.meta.ReverseMappingTool$ReverseCodeGenerator
public class NsConfig {
     private String key;
     private String value;
     public NsConfig() {
     public NsConfig(String key, String value) {
          this.key = key;
          this.value = value;
     public String getKey() {
          return key;
     public void setKey(String key) {
          this.key = key;
     public String getValue() {
          return value;
     public void setValue(String value) {
          this.value = value;

Odd. My guess is that maybe "key" is a reserved word in MySQL 4, but
was allowed during table creation for some reason. I assume this is a
fresh DB created by Kodo? If so, I would drop it, delete the .mapping
files for the classes, and start over after setting the following
configuration property:
kodo.jdbc.DBDictionary: ReservedWords=KEY

Similar Messages

  • BIB-16633 Cannot connect because the database version is incompatible with

    BIB-16633 Cannot connect because the database version is incompatible with Feb 15, 2005 9:28 PM
    Reply
    why is this?
    oracle.dss.connection.common.ConnectionException: BIB-16633 Cannot connect because the database version is incompatible with this BI Beans version.
    at oracle.dss.connection.server.drivers.mdm.MDMConnectionDriverImpl.connect(MDMConnectionDriverImpl.java:147)
    at oracle.dss.connection.server.ConnectionImpl.connect(ConnectionImpl.java:285)
    at oracle.dss.connection.client.Connection.connect(Connection.java:425)
    at oracle.dss.connection.client.Connection.connect(Connection.java:342)
    at oracle.dss.addins.designer.OLAPSource.test(OLAPSource.java:284)
    at oracle.dss.addins.wizard.configFileEditor.OlapPanel.testConnection(OlapPanel.java:244)
    at oracle.dss.addins.wizard.configFileEditor.OlapPanel.btnTest_actionPerformed(OlapPanel.java:378)
    at oracle.dss.addins.wizard.configFileEditor.OlapPanel$3.actionPerformed(OlapPanel.java:120)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
    at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
    at java.awt.Component.processMouseEvent(Component.java:5100)
    at java.awt.Component.processEvent(Component.java:4897)
    at java.awt.Container.processEvent(Container.java:1569)
    at java.awt.Component.dispatchEventImpl(Component.java:3615)
    at java.awt.Container.dispatchEventImpl(Container.java:1627)
    at java.awt.Component.dispatchEvent(Component.java:3477)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
    at java.awt.Container.dispatchEventImpl(Container.java:1613)
    at java.awt.Window.dispatchEventImpl(Window.java:1606)
    at java.awt.Component.dispatchEvent(Component.java:3477)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:141)
    at java.awt.Dialog$1.run(Dialog.java:540)
    at java.awt.Dialog.show(Dialog.java:561)
    at java.awt.Component.show(Component.java:1133)
    at java.awt.Component.setVisible(Component.java:1088)
    at oracle.bali.ewt.dialog.JEWTDialog.runDialog(Unknown Source)
    at oracle.dss.addins.wizard.configFileEditor.ConfigFileEditorWizard.run(ConfigFileEditorWizard.java:229)
    at oracle.dss.addins.designer.BIDesignerImpl.editConfigFile(BIDesignerImpl.java:1428)
    at oracle.dss.addins.designer.BIDesignerAddin.openBIDesignerSettings(BIDesignerAddin.java:990)
    at oracle.dss.addins.designer.BIDesignerAddin.actionPerformed(BIDesignerAddin.java:807)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
    at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    at javax.swing.AbstractButton.doClick(AbstractButton.java:289)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1113)
    at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItemUI.java:943)
    at java.awt.Component.processMouseEvent(Component.java:5100)
    at java.awt.Component.processEvent(Component.java:4897)
    at java.awt.Container.processEvent(Container.java:1569)
    at java.awt.Component.dispatchEventImpl(Component.java:3615)
    at java.awt.Container.dispatchEventImpl(Container.java:1627)
    at java.awt.Component.dispatchEvent(Component.java:3477)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
    at java.awt.Container.dispatchEventImpl(Container.java:1613)
    at java.awt.Window.dispatchEventImpl(Window.java:1606)
    at java.awt.Component.dispatchEvent(Component.java:3477)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
    Lisa Sherriff
    Posts: 137
    OTN Member Since: Jan, 2001
    Re: BIB-16633 Cannot connect because the database version is incompatible w ( In Reply To : BIB-16633 Cannot connect because the database version is incompatible with ) Feb 16, 2005 1:32 AM
    Reply
    Hi,
    From the 10.1.2 BI Beans Install Guide it says:
    OracleBI Beans supports data stored in Oracle9i Enterprise Edition or Oracle Database 10g Enterprise Edition. However, only particular releases and patchsets are supported:
    * Oracle9i Release 2 Enterprise Edition, as follows:
    o 9.2.0.6 for all platforms.
    o 9.2.0.5 with the latest OLAP patch for Windows-only.
    * Oracle Database 10g Release 1 Enterprise Edition with the latest OLAP patch.
    From the error message it would appear that the Database is not one of the above.
    Thanks,
    Lisa
    JDev QA
    401488
    Posts: 48
    OTN Member Since: Aug, 2002
    Re: BIB-16633 Cannot connect because the database version is incompatible with ( In Reply To : BIB-16633 Cannot connect because the database version is incompatible with ) Feb 18, 2005 8:01 PM
    Reply
    Hi,
    Please note that we have follwing versions of DB up and running:-
    1)Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
    With the Partitioning, OLAP and Data Mining options
    2)Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production
    With the Partitioning and Real Application Clusters options
    JServer Release 9.2.0.5.0 - Production
    Pls let us know the solution to resolve this problem ASAP.
    Thanks.

    You are not using a supported version of the database. BI Beans/OLAP only support the following database versions:
    10g - 10.1.0.3 with additional OLAP patch
    9i - 9205 with additional OLAP patch
    9i - 9206
    I would suggest that you have not applied all the required database patches to your instance.
    Hope this helps
    Business Intelligence Beans Product Management Team
    Oraclc Corporation

  • Can multiple threads write to the database?

    I am a little confused from the statement in the documentation: "Berkeley DB Data Store does not support locking, and hence does not guarantee correct behavior if more than one thread of control is updating the database at a time."
    1. Can multiple threads write to the "Simple Data Store"?
    2. Considering the sample code below which writes to the DB using 5 threads - is there a possibility of data loss?
    3. If the code will cause data loss, will adding DB_INIT_LOCK and/or DB_INIT_TXN in DBENV->open make any difference?
    #include "stdafx.h"
    #include <stdio.h>
    #include <windows.h>
    #include <db.h>
    static DB *db = NULL;
    static DB_ENV *dbEnv = NULL;
    DWORD WINAPI th_write(LPVOID lpParam)
    DBT key, data;
    char key_buff[32], data_buff[32];
    DWORD i;
    printf("thread(%s) - start\n", lpParam);
    for (i = 0; i < 200; ++i)
    memset(&key, 0, sizeof(key));
    memset(&data, 0, sizeof(data));
    sprintf(key_buff, "K:%s", lpParam);
    sprintf(data_buff, "D:%s:%8d", lpParam, i);
    key.data = key_buff;
    key.size = strlen(key_buff);
    data.data = data_buff;
    data.size = strlen(data_buff);
    db->put(db, NULL, &key, &data, 0);
    Sleep(5);
    printf("thread(%s) - End\n", lpParam);
    return 0;
    int main()
    db_env_create(&dbEnv, 0);
    dbEnv->open(dbEnv, NULL, DB_CREATE | DB_INIT_MPOOL | DB_THREAD, 0);
    db_create(&db, dbEnv, 0);
    db->open(db, NULL, "test.db", NULL, DB_BTREE, DB_CREATE, 0);
    CreateThread(NULL, 0, th_write, "A", 0, 0);
    CreateThread(NULL, 0, th_write, "B", 0, 0);
    CreateThread(NULL, 0, th_write, "B", 0, 0);
    CreateThread(NULL, 0, th_write, "C", 0, 0);
    th_write("C");
    Sleep(2000);
    }

    Here some clarification about BDB Lock and Multi threads behavior
    Question 1. Can multiple threads write to the "Simple Data Store"?
    Answer 1.
    Please Refer to http://docs.oracle.com/cd/E17076_02/html/programmer_reference/intro_products.html
    A Data Store (DS) set up
    (so not using an environment or using one, but without any of the DB_INIT_LOCK, DB_INIT_TXN, DB_INIT_LOG environment regions related flags specified
    each corresponding to the appropriate subsystem, locking, transaction, logging)
    will not guard against data corruption due to accessing the same database page and overwriting the same records, corrupting the internal structure of the database etc.
    (note that in the case of the Btree, Hash and Recno access methods we lock at the database page level, only for the Queue access method we lock at record level)
    So,
    if You want to have multiple threads in the application writing concurrently or in parallel to the same database You need to use locking (and properly handle any potential deadlocks),
    otherwise You risk corrupting the data itself or the database (its internal structure).
    Of course , If You serialize at the application level the access to the database, so that no more one threads writes to the database at a time, there will be no need for locking.
    But obviously this is likely not the behavior You want.
    Hence, You need to use either a CDS (Concurrent Data Store) or TDS (Transactional Data Store) set up.
    See the table comparing the various set ups, here: http://docs.oracle.com/cd/E17076_02/html/programmer_reference/intro_products.html
    Berkeley DB Data Store
    The Berkeley DB Data Store product is an embeddable, high-performance data store. This product supports multiple concurrent threads of control, including multiple processes and multiple threads of control within a process. However, Berkeley DB Data Store does not support locking, and hence does not guarantee correct behavior if more than one thread of control is updating the database at a time. The Berkeley DB Data Store is intended for use in read-only applications or applications which can guarantee no more than one thread of control updates the database at a time.
    Berkeley DB Concurrent Data Store
    The Berkeley DB Concurrent Data Store product adds multiple-reader, single writer capabilities to the Berkeley DB Data Store product. This product provides built-in concurrency and locking feature. Berkeley DB Concurrent Data Store is intended for applications that need support for concurrent updates to a database that is largely used for reading.
    Berkeley DB Transactional Data Store
    The Berkeley DB Transactional Data Store product adds support for transactions and database recovery. Berkeley DB Transactional Data Store is intended for applications that require industrial-strength database services, including excellent performance under high-concurrency workloads of read and write operations, the ability to commit or roll back multiple changes to the database at a single instant, and the guarantee that in the event of a catastrophic system or hardware failure, all committed database changes are preserved.
    So, clearly DS is not a solution for this case, where multiple threads need to write simultaneously to the database.
    CDS (Concurrent Data Store) provides locking features, but only for multiple-reader/single-writer scenarios. You use CDS when you specify the DB_INIT_CDB flag when opening the BDB environment: http://docs.oracle.com/cd/E17076_02/html/api_reference/C/envopen.html#envopen_DB_INIT_CDB
    TDS (Transactional Data Store) provides locking features, adds complete ACID support for transactions and offers recoverability guarantees. You use TDS when you specify the DB_INIT_TXN and DB_INIT_LOG flags when opening the environment. To have locking support, you would need to also specify the DB_INIT_LOCK flag.
    Now, since the requirement is to have multiple writers (multi-threaded writes to the database),
    then TDS would be the way to go (CDS is useful only in single-writer scenarios, when there are no needs for recoverability).
    To Summarize
    The best way to have an understanding of what set up is needed, it is to answer the following questions:
    - What is the data access scenario? Is it multiple writer threads? Will the writers access the database simultaneously?
    - Are recoverability/data durability, atomicity of operations and data isolation important for the application? http://docs.oracle.com/cd/E17076_02/html/programmer_reference/transapp_why.html
    If the answers are yes, then TDS should be used, and the environment should be opened like this:
    dbEnv->open(dbEnv, ENV_HOME, DB_CREATE | DB_INIT_MPOOL | DB_INIT_LOCK | DB_INIT_TXN | DB_INIT_LOG | DB_RECOVER | DB_THREAD, 0);
    (where ENV_HOME is the filesystem directory where the BDB environment will be created)
    Question 2. Considering the sample code below which writes to the DB using 5 threads - is there a possibility of data loss?
    Answer 2.
    Definitely yes, You can see data loss and/or data corruption.
    You can check the behavior of your testcase in the following way
    1. Run your testcase
    2.After the program exits
    run db_verify to verify the database (db_verify -o test.db).
    You will likely see db_verify complaining, unless the thread scheduler on Windows weirdly starts each thread one after the other,
    IOW no two or ore threads write to the database at the same time -- kind of serializing the writes
    Question 3. If the code will cause data loss, will adding DB_INIT_LOCK and/or DB_INIT_TXN in DBENV->open make any difference?
    Answer 3.
    In Your case the TDS should be used, and the environment should be opened like this:
    dbEnv->open(dbEnv, ENV_HOME, DB_CREATE | DB_INIT_MPOOL | DB_INIT_LOCK | DB_INIT_TXN | DB_INIT_LOG | DB_RECOVER | DB_THREAD, 0);
    (where ENV_HOME is the filesystem directory where the BDB environment will be created)
    doing this You have proper deadlock handling in place and proper transaction usage
    so
    You are protected against potential data corruption/data loss.
    see http://docs.oracle.com/cd/E17076_02/html/gsg_txn/C/BerkeleyDB-Core-C-Txn.pdf
    Multi-threaded and Multi-process Applications
    DB is designed to support multi-threaded and multi-process applications, but their usage
    means you must pay careful attention to issues of concurrency. Transactions help your
    application's concurrency by providing various levels of isolation for your threads of control. In
    addition, DB provides mechanisms that allow you to detect and respond to deadlocks.
    Isolation means that database modifications made by one transaction will not normally be
    seen by readers from another transaction until the first commits its changes. Different threads
    use different transaction handles, so this mechanism is normally used to provide isolation
    between database operations performed by different threads.
    Note that DB supports different isolation levels. For example, you can configure your
    application to see uncommitted reads, which means that one transaction can see data that
    has been modified but not yet committed by another transaction. Doing this might mean
    your transaction reads data "dirtied" by another transaction, but which subsequently might
    change before that other transaction commits its changes. On the other hand, lowering your
    isolation requirements means that your application can experience improved throughput due
    to reduced lock contention.
    For more information on concurrency, on managing isolation levels, and on deadlock
    detection, see Concurrency (page 32).

  • Error: 28005, Severity: 16, State: 2...An exception occurred while enqueueing a message in the target queue. Error: 15517, State: 1. Cannot execute as the database principal because the principal "dbo" does not exist, this type of principal cannot be impe

    I've seen some similar questions, but want to make sure I can get an answer quickly and how to fix.
    Thanks,
    Paul
    spid24s     Error: 28005, Severity: 16, State: 2
    spid24s     An exception occurred while enqueueing a message in the target queue. Error: 15517, State: 1. Cannot execute as the database principal because the principal "dbo" does not exist, this type of principal cannot be impersonated,
    or you do not have permission.

    Hi Paul,
    I also had the same error on one of my servers, and it was because the user that created the database no longer worked for the company.
    So when his AD account got deleted, the database had NULL as owner
    Using the following query I asked for the owners of the databases:
    select name, suser_sname(sid) from master.dbo.sysdatabases
    So changing the owner of the databases that had a NULL owner solved the issue for me.
    use <databasesname>
    go
    exec sp_changedbowner 'sa'
    Thanks for triggering the solution.
    Peter

  • Cannot connect to the database. java.sql.SQLException:

    Hi,
    I am trying to connect to Pointbase database through an applcation written under J2EE environment. I am able to connect with other database under Pointbase. I am trying to connect using the code as follows:
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con=DriverManager.getConnection("Jdbc:Odbc:study", dbUserID, dbPassword);
    and I am getting the Exception as shown delow :
    HTTP Status 500 -
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: access denied (java.lang.RuntimePermission exitVM)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:306)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:861)
         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         java.lang.reflect.Method.invoke(Method.java:324)
         org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:289)
         java.security.AccessController.doPrivileged(Native Method)
         javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
         org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:311)
         org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:205)
    root cause
    java.security.AccessControlException: access denied (java.lang.RuntimePermission exitVM)
         java.security.AccessControlContext.checkPermission(AccessControlContext.java:269)
         java.security.AccessController.checkPermission(AccessController.java:401)
         java.lang.SecurityManager.checkPermission(SecurityManager.java:524)
         java.lang.SecurityManager.checkExit(SecurityManager.java:736)
         com.sun.enterprise.J2EESecurityManager.checkExit(J2EESecurityManager.java:70)
         java.lang.Runtime.exit(Runtime.java:88)
         java.lang.System.exit(System.java:715)
         org.apache.jsp.login_jsp._jspService(login_jsp.java:76)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:141)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:861)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:306)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:861)
         sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         java.lang.reflect.Method.invoke(Method.java:324)
         org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:289)
         java.security.AccessController.doPrivileged(Native Method)
         javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
         org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:311)
         org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:205)
    note The full stack trace of the root cause is available in the Sun-Java-System/Application-Server-PE-8.0 logs.
    Sun-Java-System/Application-Server-PE-8.0
    Please help.
    NNJ

    Thanks for the reply. I have attached the server.log herewith :
    [#|2008-10-05T11:44:45.945+0530|INFO|sun-appserver-pe8.0|javax.enterprise.system.tools.admin|_ThreadID=12;|ADM1006:Uploading the file to:[C:\Documents and Settings\Administrator\Local Settings\Temp\s1astempdomain1server-1629282413\server\study.war]|#]
    [#|2008-10-05T11:44:45.955+0530|INFO|sun-appserver-pe8.0|javax.enterprise.system.tools.admin|_ThreadID=12;|ADM1007:Uploaded the remote file at: [C:\Documents and Settings\Administrator\Local Settings\Temp\s1astempdomain1server-1629282413\server\study.war]|#]
    [#|2008-10-05T11:44:46.225+0530|INFO|sun-appserver-pe8.0|javax.enterprise.system.tools.admin|_ThreadID=12;|ADM1041:Sent the event to instance:[ModuleDeployEvent -- undeploy web/study]|#]
    [#|2008-10-05T11:44:46.686+0530|INFO|sun-appserver-pe8.0|javax.enterprise.system.tools.admin|_ThreadID=12;|ADM1042:Status of dynamic reconfiguration event processing:[success]|#]
    [#|2008-10-05T11:44:47.947+0530|INFO|sun-appserver-pe8.0|javax.enterprise.system.tools.deployment|_ThreadID=12;|DPL5109: EJBC - START of EJBC for [study]|#]
    [#|2008-10-05T11:44:47.977+0530|INFO|sun-appserver-pe8.0|javax.enterprise.system.tools.deployment|_ThreadID=12;|Processing beans ...|#]
    [#|2008-10-05T11:44:47.987+0530|INFO|sun-appserver-pe8.0|javax.enterprise.system.tools.deployment|_ThreadID=12;|DPL5110: EJBC - END of EJBC for [study]|#]
    [#|2008-10-05T11:44:48.158+0530|INFO|sun-appserver-pe8.0|javax.enterprise.system.tools.deployment|_ThreadID=12;|Total Deployment Time: 2043 msec, Total EJB Compiler Module Time: 40 msec, Portion spent EJB Compiling: 1%
    Breakdown of EJBC Module Time: Total Time for EJBC: 40 msec, CMP Generation: 0 msec (0%), Java Compilation: 0 msec (0%), RMI Compilation: 0 msec (0%), JAX-RPC Generation: 0 msec (0%),
    |#]
    [#|2008-10-05T11:44:48.278+0530|INFO|sun-appserver-pe8.0|javax.enterprise.system.tools.deployment|_ThreadID=12;|deployed with moduleid = study|#]
    [#|2008-10-05T11:44:48.378+0530|INFO|sun-appserver-pe8.0|javax.enterprise.system.tools.admin|_ThreadID=12;|ADM1041:Sent the event to instance:[ModuleDeployEvent -- deploy web/study]|#]
    [#|2008-10-05T11:44:48.488+0530|INFO|sun-appserver-pe8.0|javax.enterprise.system.container.web|_ThreadID=12;|WEB0100: Loading web module [study] in virtual server [server] at [study]|#]
    [#|2008-10-05T11:44:51.202+0530|INFO|sun-appserver-pe8.0|javax.enterprise.system.tools.admin|_ThreadID=12;|ADM1042:Status of dynamic reconfiguration event processing:[success]|#]
    [#|2008-10-05T11:46:06.771+0530|WARNING|sun-appserver-pe8.0|javax.enterprise.system.stream.err|_ThreadID=16;|Cannot connect to the database. java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified|#]
    [#|2008-10-05T11:46:06.871+0530|SEVERE|sun-appserver-pe8.0|javax.enterprise.system.container.web|_ThreadID=16;|StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
    java.security.AccessControlException: access denied (java.lang.RuntimePermission exitVM)
         at java.security.AccessControlContext.checkPermission(AccessControlContext.java:269)
         at java.security.AccessController.checkPermission(AccessController.java:401)
         at java.lang.SecurityManager.checkPermission(SecurityManager.java:524)
         at java.lang.SecurityManager.checkExit(SecurityManager.java:736)
         at com.sun.enterprise.J2EESecurityManager.checkExit(J2EESecurityManager.java:70)
         at java.lang.Runtime.exit(Runtime.java:88)
         at java.lang.System.exit(System.java:715)
         at org.apache.jsp.login_jsp._jspService(login_jsp.java:76)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:141)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:861)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:306)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:861)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:289)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
         at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:311)
         at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:205)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:283)
         at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:102)
         at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:192)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:156)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:569)
         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:261)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:215)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:156)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:569)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:200)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:156)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:180)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:154)
         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:582)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:154)
         at com.sun.enterprise.webservice.EjbWebServiceValve.invoke(EjbWebServiceValve.java:134)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:154)
         at com.sun.enterprise.security.web.SingleSignOn.invoke(SingleSignOn.java:254)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:154)
         at com.sun.enterprise.web.VirtualServerValve.invoke(VirtualServerValve.java:209)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:154)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:569)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:161)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:156)
         at com.sun.enterprise.web.VirtualServerMappingValve.invoke(VirtualServerMappingValve.java:166)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:154)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:569)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:979)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:211)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:692)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:647)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:691)
         at java.lang.Thread.run(Thread.java:534)
    |#]
    regards,
    NNJ

  • Write to the database from a BI Publisher report

    I have a requirement to setup a BI Publisher report that writes a snapshot of data to a database table whenever the report is run.
    Putting aside whether doing this is a good idea or not (I'd prefer not to do it for security reasons) if I were to do it in SQL server (that i'm more familiar with) I'd write a stored procedure that does this and enter "exec storedprocedurename" as the report query.
    From searching through this board I see that I'm supposed to use a pipelined function instead of a stored procedure but I'm unclear if once I have setup the pipelined function that I'll be able to achieve my objective of both returning the data to the report as well as writing it to a snapshot table, is this possible? If so then I have some questions as I don't really understand the syntax with my limited pl/sql knowledge.
    create type numset_t as table of number; --where does this go, it doesn't appear to be part of the function?
    create function f1(x number) return numset_t pipelined is
    begin
    for i in 1..x loop
    pipe row(i);
    end loop; -- do I need to do a looP? i just want to do select *...
    return;
    end;
    select * from table(f1(3)); -- again this appears to be outside the function, where does it go?
    Thanks
    Bruce

    Jorge:
    I was looking into something similar some time ago. The suggested solution may or may not work for you, depending on what it is you want to write to the tables. I was trying to write audit information - who ran what report when. Through BI Publisher template variables I could get the who and the when, but not what report was being run, so the report trigger option wasn't of any use to me.
    In the end, I opted to change the attributes of the report so that the "show controls" checkbox is unchecked and make users run all reports through BI Publisher Scheduler. It turns out that reports run via the scheduler have all of that data saved off and you can see it from the Schedules/History display.
    Good luck,
    Gaff

  • Database write using the Database Adapter

    i'm using Jdeveloper version 11.1.1.3.37.55.99 - and I'm not sure that I'm doing this right but:
    I've created a database table that has 3 attributes (id, name, description).
    I've then in the soa composite created a Database Adapter to have an insert operation for the newly created database table.
    In the BPM editor - I drag a service task into the process and configure it to use the recently created Database Adapter.
    While configuring the service task - I need to map my process variables into the service task but when I go to the
    implementation->use associations->simple, in the drag and drop plan is an object called a collection. I expand the collection and I get an object named recall. If I look at my datatypes my recall object shows the three attributes from the database schema for the table. (The datatype was created by the creation of the database adapter). However, I cannot expand the object in order to map in the individual process variables for the inputs for the insert parameters.
    Am I doing something incorrectly in attempting to map the process variables to the service call?
    Thanks,
    Christopher

    Christopher,
    Use the Transform in the Implementation tab instead of the Data Association to map your input process object to the service parameter. The Transform option creates an xslt file which you can use to map the input values to the database service values.
    Heidi.

  • Application server cannot log onto the database with user PS.

    Hello,
    First of all, my setup is:
    Microsoft Windows Server 2003
    Oracle database 10g Rel. 2
    Peopletools 8.49
    HRMS 9.0
    I am trying to boot the application server, but the operation fails with the error message:
    PSAPPSRV.5796 (0) [08/27/09 10:29:41](1) GenMessageBox(0, 0, M): Database Signon: Invalid user ID or password for database signon. (id=PS)
    I am able to sign on to the database with sqlplus and user PS.
    Here is my config settings as shown on the psadmin screen:
    Features Settings
    ========== ==========
    1) Pub/Sub Servers : No 15) DBNAME :[hrdmo]
    2) Quick Server : No 16) DBTYPE :[ORACLE]
    3) Query Servers : No 17) UserId :[PS]
    4) Jolt : Yes 18) UserPswd :[PS]
    5) Jolt Relay : No 19) DomainID :[TESTSERV]
    6) WSL : Yes 20) AddToPATH :[C:\oracle\product\10.2.0\database\bin]
    7) PC Debugger : No 21) ConnectID :[people]
    8) Event Notification: Yes 22) ConnectPswd:[peop1e]
    9) MCF Servers : No 23) ServerName :[appserver]
    10) Perf Collator : No 24) WSL Port :[7000]
    11) Analytic Servers : Yes 25) JSL Port :[9000]
    12) Domains Gateway : No 26) JRAD Port :[9100]
    Here is the appsrv.log:
    PSADMIN.2336 (0) [08/27/09 10:29:29](0) Begin boot attempt on domain hrdmo
    PSWATCHSRV.5480 (0) [08/27/09 10:29:38] Checking process status every 120 seconds
    PSWATCHSRV.5480 (0) [08/27/09 10:29:38] Server started
    PSAPPSRV.5796 (0) [08/27/09 10:29:40](0) PeopleTools Release 8.49 (WinX86) starting
    PSAPPSRV.5796 (0) [08/27/09 10:29:40](0) Cache Directory being used: C:\oracle\product\PT8.49\appserv\hrdmo\CACHE\PSAPPS
    RV_2\
    PSAPPSRV.5796 (0) [08/27/09 10:29:41](1) GenMessageBox(0, 0, M): Database Signon: Invalid user ID or password for databa
    se signon. (id=PS)
    PSAPPSRV.5796 (0) [08/27/09 10:29:41](0) Server failed to start
    PSWATCHSRV.5480 (0) [08/27/09 10:29:42] Shutting down
    PSADMIN.2336 (0) [08/27/09 10:29:48](0) End boot attempt on domain hrdmo
    As I said, despite the error message, I am able to log on to the database with sqlplus with user PS password PS.
    Could someone please help me with this problem? Thanks.

    I installed the database with the setup program and come to think of it, I don't think you can specify whether to create a system or demo database. So I probably didn't install a demo, which is what I wanted. I also ran the SQRs and everything showed the database was correct, so I thought I did it right.
    If I could install a demo with the setup program, I would do that because I think I could run through it pretty quickly having done it once. I've read in this forum and other places that it's much better to install the db manually, so maybe I'll just do that.
    In any case, thanks for all you help Nicolas.

  • Dirty Writes to the database

    I have a value object which was originally populated with information from database. I have a requirement to update ONLY the data that was changed in the value object. I could come up with something clever to do it myself, or I could use an existing pattern and Java API to accomplish this task. I prefer using an existing API.
    If there are any APIs out there that solve this problem, please let me know. Thanks in advance!

    I don't think that's the question here.
    I think the question is...
    Let's say four fields. One field gets updated.
    Only the one updated field gets updated to the
    database not a generic update for all four.Two situations.....
    1. I have a section of the application that updates
    ONLY that field. If so then I only update that
    field. There never can be a conflict. Consequently
    there is no need to discuss update strategies.
    2. I have a section of the application that updates
    that field and one other. Some other part of the
    application can update that other field. Given
    nothing more than that the two fields can be updated,
    there is no way to determine which one is correct.
    So you either find another rule or just use 'last
    t one wins' (which means discussing strategies for
    updates are meaningless.)I don't think we're talking about conflict resolution strategies. Well you are but I don't think the OP was. I think the OP is just talking about speeding up the serialization of an objects state to a database by not updating fields that haven't been modified.
    I don't disagree with what you are saying per se but I just don't see update conflict resolution listed as an issue by the OP.

  • Cannot connect to the Database

    Hi,
    We are trying to install only an SAP MDM 7.1on windows 2003 Server/Oracle 10.2.0.4. We are facing issues in connecting it to the database.
    When I try to mount a repository by giving the hostname and login credentials of the database(user id : System which works on OS Level). The following message is displayed.
    "Unable to connect with database server"
    Could you please suggest a solution.
    Regards,
    Renu

    You should also check the info under: https://service.sap.com/installMDM -->MDM 7.1. -->Installation Guide for Windows >4.4 Installing and Configuring the Database>4.4.2 Oracle DBMS:
    1)do you use the correct charachterset for your DBMS?
    2)tnsnames.ora was set correctly? What is the output of the command "tnsping <net service name>"? what is the output of sqlplus <userid>/<password>@<net service name>?
    3)Have you intalled the Oracle Client, too?
    4)On the MDS host, run the Net Manager to make the DBMS known to Oracle clients. In this case, the
    MDS is an Oracle client.
    5)Are you sure that the ports used by MDM are open? Only if MDS, DBMS or MDM Console are located on different machines. The default ports are as follows:
    MDS:
    Port 59950 and three sequential ports
    from the range 2000 - 9999 for every
    loaded repository (the repository ports
    are configurable using the MDM
    Console).
    The error you can see in the MDS_Log can be also useful cause "Unable to connect with database server" can be caused by many reasons!
    I hope this helps.
    Regards,
    Gabor

  • Cannot write to the page lock

    Hi,
    I keep getting this message when trying to edit my
    default.aspx page on my ICE enabled site.
    Could not write the page lock.
    REason: Could not write data to storage.
    It is an asp.net page that does not have active content. I
    fixed the problem caused by the master page. I can edit similar
    pages on the site.
    I created an exact copy of the page and renamed it
    default1.aspx and I can edit it with ICE so I know the problem is
    not in the code.
    I have checked the server to see if there is a draft of the
    page somewhere. There isn't.
    I checked my settings for the site and they are working. I
    can edit and save every other page but this one.
    Any ideas?
    Thanks, Ann

    Hi Cory,
    I just tried deleting the other editor's account and removed
    it from my list of websites and recreated only one editing account
    hoping that it would delete previous records of editing activity.
    It didn't help.
    Are those records stored on Adobe's server or in the Includes
    folder? I recreated the includes folder and uploaded it to the site
    and that didn't work either. I can edit all pages except the
    default.aspx page. I have searched the code and can't find anything
    different than on the other pages that work.
    Here is the code. The <html xmlns:ice="
    http://ns.adobe.com/incontextediting">
    code is in my Master page.
    <%@ Page masterpagefile="website.master" Language="C#"
    title="Bear Lake Rendezvous Chamber of Commerce" %>
    <asp:Content id="Content2" runat="server"
    contentplaceholderid="head">
    <script src="includes/ice/ice.js"
    type="text/javascript"></script>
    </asp:Content>
    <asp:Content id="Content1" runat="server"
    contentplaceholderid="ContentPlaceHolder">
    <div ice:editable="*">
    <div class="content">
    <h2>Bear Lake Rendezvous Chamber of Commerce</h2>
    <p>We will be featuring a different Bear Lake area
    Business each month.</p>
    </div>
    </div>
    </asp:Content>

  • I cannot log in the database

    I installed the oracle 10g r2 database, the installation was succesful, but i need to make a log in with sqlplus but i can´t, I don`t know what user, password and host string need, i have tried with all sys, system, sysdba, etc.

    I followed your advise and i got this. Can you explain me what does it mean??
    Microsoft Windows [Version 5.2.3790]
    (C) Copyright 1985-2003 Microsoft Corp.
    E:\>sqlplus system/password123 as sysdba
    SQL*Plus: Release 10.2.0.1.0 - Production on Wed Aug 16 14:49:33 2006
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    ERROR:
    ORA-01031: insufficient privileges
    E:\>lsnrctl status
    LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 16-AUG-2006 14:50
    :48
    Copyright (c) 1991, 2005, Oracle. All rights reserved.
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=190.168.0.96)(PORT=2034)
    TNS-12535: TNS:operation timed out
    TNS-12560: TNS:protocol adapter error
    TNS-00505: Operation timed out
    32-bit Windows Error: 60: Unknown error
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=alumno07.consorcio.com.e
    c)(PORT=1521)))
    STATUS of the LISTENER
    Alias LISTENER
    Version TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
    ction
    Start Date 16-AUG-2006 13:02:25
    Uptime 0 days 1 hr. 48 min. 43 sec
    Trace Level off
    Security ON: Local OS Authentication
    SNMP OFF
    Listener Parameter File e:\oracle\product\10.2.0\db_1\network\admin\listener.o
    ra
    Listener Log File e:\oracle\product\10.2.0\db_1\network\log\listener.log
    Listening Endpoints Summary...
    (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=alumno07.consorcio.com.ec)(PORT=1521
    Services Summary...
    Service "PLSExtProc" has 1 instance(s).
    Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
    The command completed successfully

  • Trying to configure syslog process,to write the database audit logs

    Folks,
    Running Oracle 10g R2 on Sun Solaris v 10.
    I am trying to configure my database environment, so it will write all the database audit logs to a location, where Oracle userid on unix cannot modify/delete it.
    To accomplish my goal, so far I have done the following:
    I have set the following parameter with these values
    audit_file_dest /flood/u01/app/oracle/product/10.2.0/db_1/rdbms/audit
    audit_sys_operations TRUE
    audit_trail OS
    Also I asked my system administrator , to make an entry in the syslog.conf file at location /etc
    He made the following entry
    local3.notice /var/log/oraaudit.log
    and restarted the syslog process
    I also made the following entry
    alter system set audit_syslog_level='LOCAL3.NOTICE' scope=spfile and bounced the database.
    But after starting the database, i will don't see any oraaudit.log file at the location /var/log
    Any help will be much appreciated.
    Regards
    Ashish

    Hello Srini,
    I mentioned in my posting , that I already set AUDIT_SYSLOG_LEVEL=LEVEL3.NOTICE value.
    Also the permission on /var/log is such the Oracle unix userid cannot write to it and that is what I want. Since if Oracle userid can write, it can modify/delete the audit log also , which we are trying to prevent.
    Thanks
    Ashish

  • Write-lock the complete database

    Hello,
    One of my transactions changes many records in the database and often I need 30 and
    more tries, until the transaction is done without deadlocks.
    Is there a chance to simply write-lock the database (and block other transaction) until this
    expensive transaction has finished?
    Is this impossible?
    Thank you very much
    Josef

    Hi Josef,
    I would suggest starting by reviewing the information in chapters 9 and 14 in the Reference Guide ("Berkeley DB Transactional Data Store Applications", "The Locking Subsystem"):
    http://www.oracle.com/technology/documentation/berkeley-db/db/ref/toc.html
    and specifically the following links:
    http://www.oracle.com/technology/documentation/berkeley-db/db/ref/transapp/read.html
    http://www.oracle.com/technology/documentation/berkeley-db/db/ref/transapp/deadlock.html
    http://www.oracle.com/technology/documentation/berkeley-db/db/ref/transapp/tune.html
    If your application behavior allows for multiple-reader/single writer access to the database then you might want to consider setting up with CDS (Concurrent Data Store); this is presented in chapter 8 in the Reference Guide ("Berkeley DB Concurrent Data Store Applications").
    The above documentation should help you resolve this; if not, provide more information on how your application performs work (i.e. how many threads are writing concurrently, if you're using transactional cursors for writing, if you enclose reads in transactions, if you read records, analyze them and subsequently update them, what flags are set for transactions, databases, etc).
    Regards,
    Andrei

  • Cannot access Oracle XE database home page

    Hi
    I have just installed Oracle Database 10g express edition on my Windows XP, and the installation seemed to go well.
    I then select to go to the database home page after the installation which opens a browser at this address: http://127.0.0.1:8080/apex, and i get a The page cannot be displayed' error.
    During the install, i was given this information:
    Destination Folder: C:\oraclexe\
    Port for 'Oracle Database Listener': 1521
    Port for 'Oracle Services for Microsoft Transaction Server': 2030
    Port for HTTP Listener: 8080
    I have tried restarting my computer, but still get the cannot find server error when attempting to go to the database home page.
    I was wondering if anyone else has had experience with this issue, where they cannot get to the database homepage, and how they may have solved it.
    I also have disabled my firewall. but still could not access Home Page.
    Any help would be greatly appreciated.
    many thanks
    Philip.

    Hi,
    when i tried to conenct through sql command line, this is what i got:
    SQL> connect sys as sysdba
    Enter password:
    Connected to an idle instance.
    SQL> startup
    ORA-01078: failure in processing system parameters
    ORA-01565: error in identifying file 'C:\oraclexe\app\oracle\product\10.2.0\serv
    er\dbs/spfileXE.ora'
    ORA-27041: unable to open file
    OSD-04002: unable to open file
    O/S-Error: (OS 2) The system cannot find the file specified.
    SQL>
    even though the database is already started and i see the service running fine.
    Philip.

Maybe you are looking for