| | | | Browse by category |
When trying to establish a connection to my database using DBTools.h++, I get the error: DBNOTFOUND
Cause
DBNOTFOUND indicates the DBTools.h++ core library cannot find connect to the
DBTools.h++ access library when using statically built Rogue Wave libraries.
Usually this is a result of not including the additional object file that is
required when using static libraries. Assuming you built the DBTools.h++
Database Specific access library as a static library, you will see an
object code file (.o on UNIX, .obj on the PC) in the workspaces lib directory
(spm/OS/compiler/buildtype/lib for the version 4.1 and earlier).
This object file must be included in your project.
Other common connection problems which could generate this error are as follows.
1. Check the serverType parameter to your call to RWDBManager::database().
If using static libraries it should be a hardcoded string like ORACLE, ODBC
or SYBASE_CT. Check your DBTools.h++ Access Library Manual for the exact string.
2. If using shared or DLL libraries, be sure you put the shared library or
DLL filename as the first parameter. If you had erroneously used one of
the hardcoded strings for static libraries, it could have generated
the DBNOTFOUND error.
Action
Make sure all the files (lib files and object files) were added to the
project or makefile, especially the object file. Double-check the first
parameter to RWDBManager::database() and be sure to refer to your access
library manual for the value to be passed for your access library.
It is also possible to use the tutorial makefiles as templates to the
user's makefile.