Cannot use multiple database in my application

I have written a C++/CLI wrapper for use berkeleydb without lost performance. This wrapper run perfectly with one database but when i open a second database ( i create a new instance of the wrapper ) the application crash.
I have written a minimal pure C++ application that use the pure C++ classe of my wrapper, when a open and use only one database the code run perfectly but with two databases, the application be crazy.
infos : compiler VC++ 2008, OS : Vista 32bit
this the code of my berkeleydb class :
#pragma comment (lib, "libdb47.lib")
#if defined(WIN32) || defined(WIN64)
#include <windows.h>
#include <list>
#endif
#ifndef ParamsStructCpp
#include "ParamsStruct.h"
#endif
#include <db_cxx.h>
#include "BerkeleyMethods.h"
using namespace std;
using namespace stdext;
// type
//typedef list<ParamsStructCpp>::iterator it;
typedef list<ParamsStructCpp> fetchbuffer;
// Db objects
Db * db; // Database object
DbEnv env(0); // Environment for transaction
u_int32_t oFlags = DB_CREATE|DB_AUTO_COMMIT|DB_READ_UNCOMMITTED; // Open flags; //
u_int32_t env_oFlags = DB_CREATE |
DB_THREAD |
                         DB_INIT_LOCK |
                         DB_INIT_LOG |
                         DB_INIT_MPOOL |
                         DB_INIT_TXN |
                         DB_MULTIVERSION; // Flags for environement
// Constructeurs
BerkeleyMethods::BerkeleyMethods()
BerkeleyMethods::BerkeleyMethods(char * dbname, unsigned int db_cache_gbyte, unsigned int db_cache_size,
                    int db_cache_number, int db_type, char * dberr_file, char * envdir, unsigned int dbtxn_timeout,
                         unsigned int dbtxn_max)
     strcpy_s(this->db_name, strlen(_db_name)+1, dbname);
     this->db_cache_gbyte = db_cache_gbyte;
this->db_cache_size = db_cache_size;
     this->db_cache_number = db_cache_number;
this->db_type = db_type;
     this->db_txn_timeout = dbtxn_timeout;
     this->db_txn_max = dbtxn_max;
     strcpy_s(this->db_err_file, strlen(_db_err_file)+1, dberr_file);
     strcpy_s(this->env_dir, strlen(_env_dir)+1, envdir);
     this->Set_restoremode(false);
// ==========
// Fonctions
// http://www.codeproject.com/KB/string/UtfConverter.aspx
bool BerkeleyMethods::OpenDatabase()
     try
          std::cout << "Dbname " << this->db_name << std::endl;
          if (strlen(this->db_name) < 2) {
throw new std::exception("Database name is unset");
          // Set database cache
          env.set_cachesize(this->db_cache_gbyte, this->db_cache_size, this->db_cache_number);
          // Set transaction timeout
          if (this->db_txn_timeout > 0) {
               env.set_timeout(this->db_txn_timeout, DB_SET_TXN_TIMEOUT);
// Set max opened transactions
          if (this->db_txn_max > 0) {
               env.set_tx_max(this->db_txn_max);
          // Dupplicate key support;
          if (this->Get_dup_support()) {
env_oFlags = env_oFlags|DB_DUPSORT;
          // Deadlokcs gesture
          env.set_lk_detect(DB_LOCK_MINWRITE);
// Set the error file
          env.set_errfile(fopen(this->db_err_file, "w+"));
// Error prefix
          env.set_errpfx("Error > ");
          // Open environement
          env.open(this->env_dir, env_oFlags, 0);
          // Create database object
          db = new Db(&env, 0);
          // Open the database
          switch(this->db_type)
          case 1:
               db->open(NULL, this->db_name, NULL, DB_BTREE, oFlags, 0);
               break;
          case 2:
               db->open(NULL, this->db_name, NULL, DB_HASH, oFlags, 0);
               break;
          case 3:
               db->open(NULL, this->db_name, NULL, DB_QUEUE, oFlags, 0);
               break;
          case 4:
               db->open(NULL, this->db_name, NULL, DB_RECNO, oFlags, 0);
               break;
          default:
               throw new std::exception("Database name is unset");
               break;
          u_int32_t gbcacheSize = 0;
u_int32_t bytecacheSize=0;
int ncache=0;
env.get_cachesize(&gbcacheSize,&bytecacheSize,&ncache);
std::cerr << "Taille du cache est:" << gbcacheSize << "Go plus " << bytecacheSize << " octets." << std::endl;
std::cerr << "Number of caches : " << ncache << std::endl;
          return true;
     catch(DbException &e)
          std::cout << e.what() << std::endl;
     catch(std::exception &e)
          std::cout << e.what() << std::endl;
     return false;
bool BerkeleyMethods::CloseDatabase()
     try
          db->close(0);
          env.close(0);
          return true;
     catch(DbException &e)
          std::cout << e.what() << std::endl;
     catch(std::exception &e)
          std::cout << e.what() << std::endl;
     return false;
bool BerkeleyMethods::AddData(char * key, unsigned long int value)
     if (this->Get_restoremode())
          return false;
     DbTxn * txn;
     try
          env.txn_begin(NULL, &txn, 0); // Bebin transaction
          // Set datas
Dbt _key(key, strlen(key)+1);
Dbt _value(&value, sizeof(unsigned long int));
          env.txn_checkpoint(512, 2, 0);
          int exist = db->put(txn, &_key, &_value, DB_NOOVERWRITE);
          if (exist == DB_KEYEXIST) {
               std::cout << "This record already exist" << std::endl;
          txn->commit(0);
          return true;
     catch(DbException &e)
          std::cout << e.what() << std::endl;
          txn->abort();
     catch(...)
          std::cout << "Error" << std::endl;
          txn->abort();
     return false;
bool BerkeleyMethods::AddData(unsigned long int key, char * value)
     if (this->Get_restoremode())
          return false;
     DbTxn * txn;
     try
          env.txn_begin(NULL, &txn, 0); // Bebin transaction
Dbt _key(&key, sizeof(unsigned long int));
          Dbt _value(value, strlen(value)+1);
          env.txn_checkpoint(512, 2, 0);
          int exist = db->put(txn, &_key, &_value, DB_NOOVERWRITE);
          if (exist == DB_KEYEXIST) {
               std::cout << "This record already exist" << std::endl;
          txn->commit(0);     
          return true;
     catch(DbException &e)
          std::cout << e.what() << std::endl;
          txn->abort();
     catch(...)
          txn->abort();
     return false;
bool BerkeleyMethods::AddData(char * key, char * value)
     if (this->Get_restoremode())
          return false;
     DbTxn * txn;
     try
          env.txn_begin(NULL, &txn, 0); // Bebin transaction
Dbt _key(key, strlen(key)+1);
          Dbt _value(value, strlen(value)+1);
          env.txn_checkpoint(512, 2, 0);
          int exist = db->put(txn, &_key, &_value, DB_NOOVERWRITE);
          if (exist == DB_KEYEXIST) {
               std::cout << "This record already exist" << std::endl;
          txn->commit(0);     
          return true;
     catch(DbException &e)
          std::cout << e.what() << std::endl;
          txn->abort();
     catch(...)
          txn->abort();
     return false;
bool BerkeleyMethods::AddData(unsigned long int key, unsigned long int value)
     if (this->Get_restoremode())
          return false;
     DbTxn * txn;
     try
          env.txn_begin(NULL, &txn, 0); // Bebin transaction
Dbt _key(&key, sizeof(unsigned long int));
          Dbt _value(&value, sizeof(unsigned long int));
          env.txn_checkpoint(512, 2, 0);
          int exist = db->put(txn, &_key, &_value, DB_NOOVERWRITE);
          if (exist == DB_KEYEXIST) {
               std::cout << "This record already exist" << std::endl;
          txn->commit(0);     
          return true;
     catch(DbException &e)
          std::cout << e.what() << std::endl;
          txn->abort();
     catch(...)
          txn->abort();
     return false;
bool BerkeleyMethods::AddData(char * key, ParamsStructCpp value)
     if (this->Get_restoremode())
          return false;
     DbTxn * txn;
     try
          env.txn_begin(NULL, &txn, 0); // Bebin transaction
Dbt _key(key, strlen(key)+1);
          Dbt _value(&value, sizeof(ParamsStructCpp));
          env.txn_checkpoint(512, 2, 0);
          int exist = db->put(txn, &_key, &_value, DB_NOOVERWRITE);
          if (exist == DB_KEYEXIST) {
               std::cout << "This record already exist" << std::endl;
          txn->commit(0);     
          return true;
     catch(DbException &e)
          std::cout << e.what() << std::endl;
          txn->abort();
     catch(...)
          txn->abort();
     return false;
bool BerkeleyMethods::AddData(unsigned long int key, struct ParamsStructCpp value)
     if (this->Get_restoremode())
          return false;
     DbTxn * txn;
     try
          env.txn_begin(NULL, &txn, 0); // Bebin transaction
Dbt _key(&key, sizeof(unsigned long int));
          Dbt _value(&value, sizeof(ParamsStructCpp));
          env.txn_checkpoint(512, 2, 0);
          int exist = db->put(txn, &_key, &_value, DB_NOOVERWRITE);
          if (exist == DB_KEYEXIST) {
               std::cout << "This record already exist" << std::endl;
          txn->commit(0);     
          return true;
     catch(DbException &e)
          std::cout << e.what() << std::endl;
          txn->abort();
     catch(...)
          txn->abort();
     return false;
bool BerkeleyMethods::Exist(unsigned long int key)
     if (this->Get_restoremode())
          return true;
     DbTxn * txn;
     try
          env.txn_begin(NULL, &txn, DB_TXN_SNAPSHOT); // Bebin transaction
Dbt _key(&key, sizeof(unsigned long int));
          int state = db->exists(txn, &_key, DB_READ_COMMITTED);
          txn->commit(0);
          if (state == 0) {
               return true;
     catch(DbException &e)
          std::cout << e.what() << std::endl;
          txn->abort();
     catch(...)
          txn->abort();
     return false;
bool BerkeleyMethods::Exist(char * key)
     if (this->Get_restoremode())
          return true;
     DbTxn * txn;
     try
          env.txn_begin(NULL, &txn, DB_TXN_SNAPSHOT); // Bebin transaction
          Dbt _key(key, strlen(key)+1);
          int state = db->exists(txn, &_key,DB_READ_COMMITTED);
          txn->commit(0);
          if (state == 0) {
               return true;
     catch(DbException &e)
          std::cout << e.what() << std::endl;
          txn->abort();
     catch(...)
          txn->abort();
     return false;
void BerkeleyMethods::GetData (char * pData, int nbr, unsigned long int key)
     if (this->Get_restoremode())
          return;
     DbTxn * txn;
     Dbc *dbcp;
     try
env.txn_begin(NULL, &txn, DB_TXN_SNAPSHOT); // Bebin transaction
          db->cursor(txn, &dbcp, 0);
          Dbt _key;
          Dbt data;
          key.setdata(&key);
          key.setsize(sizeof(unsigned long int));
          dbcp->get(&_key, &data, DB_FIRST);
          char * temp = (char *)data.get_data();
strcpy_s(pData, strlen(temp)+1, temp);
          dbcp->close();
          txn->commit(0);
     catch(DbException &e)
          std::cout << e.what() << std::endl;
          if (dbcp != NULL)
               dbcp->close();
          if (txn != NULL)
               txn->abort();
     catch(...)
          if (dbcp != NULL)
               dbcp->close();
          if (txn != NULL)
               txn->abort();
unsigned long int BerkeleyMethods::GetData(char * key)
     if (this->Get_restoremode())
          return 0;
     DbTxn * txn;
     Dbc *dbcp;
     try
env.txn_begin(NULL, &txn, DB_TXN_SNAPSHOT); // Bebin transaction
          db->cursor(txn, &dbcp, 0);
Dbt _key;
          Dbt data;
          key.setdata(key);
          key.setulen(strlen(key)+1);
          dbcp->get(&_key, &data, DB_FIRST);
unsigned long int xdata = *((unsigned long int *)data.get_data());
          dbcp->close();
          txn->commit(0);
          return xdata;
     catch(DbException &e)
          std::cout << e.what() << std::endl;
          dbcp->close();
          txn->abort();
     catch(...)
          dbcp->close();
          txn->abort();
     return 0;
ParamsStructCpp * BerkeleyMethods::GetData(unsigned long int key, bool null)
     if (this->Get_restoremode()) {
          return new ParamsStructCpp();
     DbTxn * txn;
     Dbc *dbcp;
     try
env.txn_begin(NULL, &txn, DB_TXN_SNAPSHOT); // Bebin transaction
          db->cursor(txn, &dbcp, 0);
          Dbt _key;
          Dbt data;
          key.setdata(&key);
          key.setsize(sizeof(unsigned long int));
dbcp->get(&_key, &data, DB_FIRST);
          ParamsStructCpp * temp = (ParamsStructCpp *)data.get_data();
          dbcp->close();
          txn->commit(0);
          return temp;
     catch(DbException &e)
          std::cout << e.what() << std::endl;
          dbcp->close();
          txn->abort();
     catch(...)
          dbcp->close();
          txn->abort();
     return new ParamsStructCpp();
ParamsStructCpp * BerkeleyMethods::GetData(char * key, bool null)
     if (this->Get_restoremode()) {
          return new ParamsStructCpp();
     DbTxn * txn;
     Dbc *dbcp;
     try
env.txn_begin(NULL, &txn, DB_TXN_SNAPSHOT); // Bebin transaction
          db->cursor(txn, &dbcp, 0);
Dbt _key;
          Dbt data;
          key.setdata(key);
          key.setulen(strlen(key)+1);
          dbcp->get(&_key, &data, DB_FIRST);
ParamsStructCpp * xdata = (ParamsStructCpp *)data.get_data();
          dbcp->close();
          txn->commit(0);
          return xdata;
     catch(DbException &e)
          std::cout << e.what() << std::endl;
          dbcp->close();
          txn->abort();
     catch(...)
          dbcp->close();
          txn->abort();
     return new ParamsStructCpp();
list<ParamsStruct> BerkeleyMethods::FetchAllDatabase ()
     list<ParamsStruct> temp;
     Dbc *dbcp;
     try
          db->cursor(NULL, &dbcp, 0);
Dbt _key;
          Dbt data;
while(dbcp->get(&_key, &data, DB_NEXT))
               unsigned long int key = *((unsigned long int *)_key.get_data());
               char * datetime = (char *)data.get_data();
               ParamsStruct p;
               strcpy_s(p.lastaccess, strlen(datetime)+1, datetime);
               p.downloaded
               temp.push_back(
               //temp.insert(Tuple(datetime, key));
     catch(DbException &e)
          std::cout << e.what() << std::endl;
     catch(...)
     return temp;
bool BerkeleyMethods::DeleteData(unsigned long int key)
     if (this->Get_restoremode())
          return true;
     DbTxn * txn;
     try
          env.txn_checkpoint(128, 1, 0);
          env.txn_begin(NULL, &txn, 0); // Bebin transaction
Dbt _key;
          key.setdata(&key);
          key.setsize(sizeof(unsigned long int));
          db->del(txn, &_key, 0);
          txn->commit(0);
          return true;
     catch(DbException &e)
          std::cout << e.what() << std::endl;
          txn->abort();
     catch(...)
          txn->abort();
     return false;;
bool BerkeleyMethods::DeleteData(char * key)
     if (this->Get_restoremode())
          return true;
     DbTxn * txn;
     try
          env.txn_begin(NULL, &txn, 0); // Bebin transaction
Dbt _key;
          key.setdata(key);
          key.setulen(strlen(key)+1);
          db->del(txn, &_key, 0);
          txn->commit(0);
          return true;
     catch(DbException &e)
          std::cout << e.what() << std::endl;
          txn->abort();
     catch(...)
          txn->abort();
     return false;
int BerkeleyMethods::Sync()
     if (this->Get_restoremode())
          return -1;
     try
          return db->sync(0);
     catch(...)
return -1;
int BerkeleyMethods::Count()
     if (this->Get_restoremode())
          return -1;
     Dbc *dbcp;
     int count = 0;
     try
Dbt key;
          Dbt data;
          db->cursor(NULL, &dbcp, 0);
          while (dbcp->get(&key, &data, DB_NEXT) == 0) {
count++;
          dbcp->close();
          return count;
     catch(...)
return -1;
BerkeleyMethods::~BerkeleyMethods()
     if (db) {
     db->sync(0);
db->close(0);
     env.close(0);
=====
The code the use this class :
     BerkeleyMethods db("test.db", 0, 524288000, 1, 1, "log.txt", "./Env_dir", 1000000 * 5, 600000);
               BerkeleyMethods db1("test2.db", 0, 524288000, 1, 1, "log2.txt", "./Env_dir2", 1000000 * 5, 600000);
bool z = db.OpenDatabase();
db1.OpenDatabase();
if (z)
                    std::cout << "Base de données ouverte" << std::endl;
               for (unsigned int i = 0; i < 1000; i++)
                    ParamsStructCpp p = { 10, "02/08/2008 14:46:23", 789 };
               bool a = db.AddData(i, p);
                    db1.AddData(i, p);
if (a)
                    std::cout << "Ajout de données ok" << std::endl;
               for (unsigned int i = 0; i < 1000; i++)
                    ParamsStructCpp * c = db.GetData(i, false);
                    ParamsStructCpp * c1 = db1.GetData(i, false);
                    std::cout << "Donné récupéré " << c->downloaded << " : " << c->lastaccess << " : " << c->waittime << std::endl;
                    std::cout << "Donné récupéré " << c1->downloaded << " : " << c1->lastaccess << " : " << c1->waittime << std::endl;
/ ====
The application output show that when using two database the data is not correctly set. It seems that db and db1 is the same object :|.
For example in db i insert a key => toto with value 4, and in db1 i insert the same value nomaly have no problem. But berkeleydb say the the key toto in db1 already exist while not
I don't understand.
NB : sorry for my english

Michael Cahill wrote:
As a side note, it is unlikely that you want both
DB_READ_UNCOMMITTED and DB_MULTIVERSION to be set.
This combination pays a price during updates for
maintaining multiple versions, but still requires
(short term) locks to be held during reads. The BDB/XML Transaction Processing Guide states the following:
[...]in addition to BDB XML's normal degrees of isolation, you can also use snapshot isolation. This allows you to avoid the read locks that serializable isolation requires.
http://www.oracle.com/technology/documentation/berkeley-db/xml/gsg_xml_txn/cxx/isolation.html
This seems to contradict what you're saying here.
Is there a general guideline on whether or not to use MVCC together with a relaxed isolation degree like DB_READ_UNCOMMITTED? Should the statement in the BDB/XML TP Guide rather have "as an alternative to" instead of "in addition to"?
Michael Ludwig

Similar Messages

  • How to generate a single report  using multiple Databases

    Hi All
    Is it possible to create a single report using multiple databases
    I am working on Database A to generate reports usually,, but now i have a second database for which the data is coming from flat files now i have to use few tables from
    Database B to generate a single report,,,,, can any one help with the process

    Hi,
    i didn't see this properly in your post:
    but now i have a second database for which the data is coming from flat files if you have ETL then make flat files as source then create target tables in db:B itself.. .Now, import them in the rpd..
    If not, import both those tables into rpd with different connections..
    Create physical joins by selecting those tables and perform joins operations over db's in physical layer..

  • "You cannot use this version of the application Mail with this version...

    I recently needed to replace my hard drive and now when I try to open the Mail application I get the following message: "You cannot use this version of the application Mail with this version of Mac OS X."
    Any help is appreciated.

    ANSWERING MY OWN POST:
    I have tried reinstalling Mail from my Snow Leopard upgrade disk directly and tried it using Pacifist. Neither worked because both simply reinstalled version 4.0. Fortunately, I have a MacBook Pro and it has version 4.1. I copied this directly, which was not ideal (it was quite confused about my mailboxes), but it worked.
    The problem is that +Software Update+ did not detect the old version of Mail and Apple does not provide a direct way (that I could find) of downloading the latest version. Each time I downloaded Mail from Apple, it was version 4.0.

  • I cannot use this version of the application Adobe Air Installer with this version of Mac OS X.

    I have Mac OS 10.5.8 and every time I try to install Air Adobe 3 I get the message
    "You cannot use this version of the application Adobe Air Installer with this version of Mac OS X." 
    Could anyone help me? 
    Jai

    Hi,
    Adobe won't be developing for 10.5.8 new features (including new runtime) only security relates updates for existing runtimes (Flash 10.3.*/Air 2.7.*). Flash 11/Air 3.0 are only supported on 10.6.8.*/10.7.*, see:
    http://kb2.adobe.com/cps/916/cpsid_91694.html#main_system_requirements
    There is recent,  lengthy thread on forums with Adobe's employees statements on that subject (support/development for 10.5.* and newer) but I cannot find it quickly as basically forum search is broken/hard to do,
    regards,
    Peter

  • Cannot use this version of the application with this version of MAC OSX

    When I try to download the new beta, I get a message that says: cannot use this version of the application with this version of MAC OSX
    I'm new to Macs, but I installed all the software updates and that still didn't help. I dont have to buy a new operating system do I?

    Muse requires Mac OS X 10.6 or later.
    http://muse.adobe.com/tech-specs.html

  • You cannot use this version of the application iCa with this version of Mac OS x

    Bought a macbook pro from a friend- running 10.5.8. Could not find iCal in the Apps folder. Researched on line and it sounded like I needed to reinstall it from the disk. I did from the original os x disk and when I tried to open it, received the following message:
    you cannot use this version of the application iCa with this version of Mac OS x
    I have two disk for version 10.2. Neither disk offers "optional installs" but the second has "AdditionalApplications.pkg" but doen not install iCal at all. Any help would be greatly appreciated.

    Thanks. That brings up a whole new question- can I run 10.6 on my macbook? The specs are below:
    Model Name:
    MacBook Pro 15"
      Model Identifier:
    MacBookPro1,1
      Processor Name:
    Intel Core Duo
      Processor Speed:
    2 GHz
      Number Of Processors:
    1
      Total Number Of Cores:
    2
      L2 Cache:
    2 MB
      Memory:
    2 GB
    Was told at Apple Store that it would run terribly slow.

  • "You cannot use this version of the application Mail..."

    "You cannot use this version of the application Mail with this version of Mac OS X"
    I recently updated to 10.5.8 because my iTunes needed the new Safari and that needed 10.5.8
    After doing this, my mail no longer works and gives me the message above. What I don't understand is why is there an update that is required for one this but doesn't allow you to run another? Am I missing a Mail update to allow it to run on 10.5.8???
    I've already went through apple care and they walked me through running an Archival Install to get my computer back to its original settings, but that means I can't use Safari 4 and iTunes 9...
    Is there a way to have it all, Mail, 10.5.8, Safari 4 and iTunes 9? Please help, my mail is the only way I can check my work e-mail and it's not something I can just go without. Thank you

    Dummerkopf wrote:
    "You cannot use this version of the application Mail with this version of Mac OS X"
    I recently updated to 10.5.8 because my iTunes needed the new Safari and that needed 10.5.8
    After doing this, my mail no longer works and gives me the message above. What I don't understand is why is there an update that is required for one this but doesn't allow you to run another? Am I missing a Mail update to allow it to run on 10.5.8???
    I've already went through apple care and they walked me through running an Archival Install to get my computer back to its original settings, but that means I can't use Safari 4 and iTunes 9...
    Is there a way to have it all, Mail, 10.5.8, Safari 4 and iTunes 9? Please help, my mail is the only way I can check my work e-mail and it's not something I can just go without. Thank you
    See this thread from someone with a similar problem:
    http://discussions.apple.com/message.jspa?messageID=10327281
    Since you've restored your computer you won't be able to check the version number of your Mail application, but the question about moving Mail may still apply.

  • You cannot use this version of the application Mail with this version OSX

    I just installed 10.5.8 (9L30) via Software Update and now my Mail doesn't work. Instead, I get a dialog box that says "You cannot use this version of the application Mail with this version of Mac OS X." When I run it out of Terminal from /Applications/Mail.app/Contents/MacOS/Mail it runs fine, even though it is Version 3.5 (which is what shows up when I do Get Info on the Mail application in the Applications folder). This is really poor, Apple. This is basic stuff -when you upgrade the OS you have to make sure all the Apps work. How are you going to fix this?

    Thomas A Reed wrote:
    Apple obviously are stupid enough to release an update that broke mail..
    Then how do you explain all the people saying they've had no problems with the update? (Oh, and "Apple are"???)
    Not everyone had the problem. Good for them. More than one person had the problem - and perhaps even more will experience it. That means there is a hole in the update process - i.e. something does not work properly in all situations. Apple is not God - they stuff up sometimes, innit? Stop defending them.
    No matter whether you use a Mac or Windows machine, you need to do some basic maintenance from time to time to keep things working smoothly. Macs, overall, tend to need less, but you still need to check the hard drive from time to time, and you definitely never want to install an OS update if there's a chance you've got hard drive problems.
    So if that's the case, why design an "automatic" Software Update utility that does not do a check of HD integrity if it is so vital to do such a check before installing an OS upgrade? Does that make any sense? Where do Apple recommend such a check prior to installing an OS upgrade? It's not immediately obvious do the average user. Apple have gone out of their way to make claims like "you never have to defrag a Mac". They don't mention anything about HD checks. If it's so fundamental, why not? Is it unreasonable to think that a company that prides itself on good design would think of this?
    Thank you for the link for the consolidated update. That fixed it - except that it should have worked first go from the auto updater.

  • You cannot use this version of the application Mail with this version of Ma

    My hardrive died so I got it replaced and since I bought my macbook on ebay I have no Installation discs so got a friend to install leopard - everything so far seems ok but when I click Mail this comes up -'You cannot use this version of the application Mail with this version of Mac OS X.'. Any ideas? Ive ran software update and its all up to scratch..

    Greetings,
    You seem to have a conflict somewhere, and it looks like you have a prior version of Mail that doesn't work with Leopard, along with the Leopard version of Mail. What version was on the Mac when you bought it, and where did the version of Leopard come from, exactly (was it a retail boxed version, or a version that shipped with another model of laptop)? Be very specific, as it does make a difference.

  • Multiple databases in one application with locations unknown

    Hello everyone,
    I am developing an application that uses several databases, one database for each user. The users, and the parameters for their database connections, are read from a configuration-file at runtime.
    I would like to use JPA to access the databases. This is where the problem arises, because if I try to get an EntityManagerFactory, I have to specify a name; I just use <username>-pu. This causes a PersistenceException because "No Persistence provider for EntityManager named maarten-pu". Which is correct, because my persistence.xml contains no persistence units.
    I cannot define all persistence units beforehand, because at that time the configuration-file is not yet read.
    Does anyone know how to solve this problem?
    Kind regards, and thanks in advance,
    Maarten

    Hello everyone,
    I am developing an application that uses several databases, one database for each user. The users, and the parameters for their database connections, are read from a configuration-file at runtime.
    I would like to use JPA to access the databases. This is where the problem arises, because if I try to get an EntityManagerFactory, I have to specify a name; I just use <username>-pu. This causes a PersistenceException because "No Persistence provider for EntityManager named maarten-pu". Which is correct, because my persistence.xml contains no persistence units.
    I cannot define all persistence units beforehand, because at that time the configuration-file is not yet read.
    Does anyone know how to solve this problem?
    Kind regards, and thanks in advance,
    Maarten

  • How to use multiple projects in single application :)

    Hai ,
    I ve to use single .portal for accessing multiple projects in a application. if i create two new projects in a application i cant able to use .portlet file of one project to display in another .portal . is there any way to display both the project .portlet files in a single portal. :)

    not really.. sorry
    Kunal Mittal

  • How can I use two database in an application?

    When I use two database like CloudscapeDB and TestDB in J2EE1.3.1, I always get some exceptions, which is unknow source about one of them.I am doing a CMP entity bean application. Can someone tell how to set up the environment and what is problem about the exceptions I met?
    Thanks.

    Hi,
    The basics for using the two databases is simple.
    For database configuration you have to provide the driver class name, url, schema name and password during the creation of the connection pools. So u can create a as many no. of connection pools as the no. of the databases.
    Hope it will work..

  • Not sure if i should use a database for my application?

    Hi
    Not sure if i should post here or not..
    But my problem is that initially i planned to use a database to map my application logic so that it can keep information after the app shuts down and i would get it back the next session i open my app. My application is shared across netwrok therefore i thought it would make sense to use a database. I know i can use Serialization to keep state but that only does it for current location hence i opt to use a database.
    But now thinking back i'm not pretty sure afterall if i just have my app updating the database for no other use apart from using it to keep state from my app across network.
    So - do current software application out there use a database as a datasource alot? If so how are they using it?

    Interesting indeed..
    But saying this again: all my use of database is just mapping the application logic (model). So essentially it use is just like a backup.
    After reading that link you gave me: does that mean it is very common that most software system out there uses any database of some sort to store any information as small as smallest peice of information you get?

  • Using 9iAS Database for BI Applications?

    We have a 9205 Database that is serving as our data warehouse. I have created several servlets and java client classes using BI Beans and JDeveloper. I want to deploy them using 9i Application Server. The 9iAS install installs another database. Should I use the database that 9iAS installs instead of my pre-existing database, or keep using the 9205 warehouse and have two complete databases on the same machine?
    Thanks

    I have used HSQLDB for awhile. I have found it to be very useful, though I've mostly used it for simple, read-only databases. Definitely what I would recommend for your situation.

  • Cannot Use Multiple Libraries in ITunes 8.0

    I'm trying to set up multiple libraries, one of lossless that runs of an external drive, one of compressed that runs off a portable drive. I'm in XP.
    I have set up Itunes with the lossless files, and am now trying to startup Itunes with the shift key in order to have the option to create a new library. No dice. I hold shift then I double click on the Itunes icon on the desktop. I've also tried it from the programs menu and the start menu. On two different computers. Every time, it just loads the account already set up.
    HELP!

    To create or access a second (or more) library on a Mac, hold down the Option key when launching iTunes 7. In the resulting dialogue you will get the option to create a new library or navigate to the other Library.
    Note: You can only have one Library open at a time and iTunes will default to the last library opened if you don't use the keyboard command to choose one: Using multiple iTunes libraries -Mac

Maybe you are looking for

  • Reinstall CS5 Design Standard: I purchased a box set and not need to reinstall, but I am missing a disc. Please provide the link to dowload the suite. I have all of the original serial numbers. Thanks.

    I need to reinstall CS5 Design Standard on a  new computer. I have uninstalled it on old computer, but now realize I am missing a disk. I have tried multiple avenues to track down the link for reinstalling this software, but have had no luck. Please

  • Labview Driver for TPS 2014

    I am using Labview to control Oscilloscope TDS 2014. I downloaded the plug in and play driver from  http://sine.ni.com/apps/utf8/niid_web_display.model_page?p_model_id=540. I want to test the connection between the driver and the instrument. For this

  • Simple Pass

    i have simple pass on my HP ENVY with Windows 8.1, i have registered my fingerprint and when i swipe my finger over the scanner it opens up the program but it wont let me use it to log in. It has let me once befor but it hasnt ever let me since. help

  • Need help with itunes iphone update

    When I try to sync my iphone 4 with ios 7 to itunes for windows, I also receive the "can't use devise...requires itunes 11.1 or higher". I am advised to download this version at itunes.com. However, when I follow the link, I am not allowed to downloa

  • Dw cs4 properties panel

    just rece'd the dw cs4, in the properties panel with the css button clicked isn't there suppose to be 4 alignment buttons just to the right of the B & I buttons. I don't have and not sure if I need to set up some where, looked in prefeneces but didn'