Connect to CDB¶
Problem Description¶
To connect to the CDB, the project must be configured (see Configure project). The example below shows how to connect to the CDB.
Problem Solution¶
An example can be found by following:
C:\<sofistik_installation>\2020\SOFiSTiK 2020\interfaces\examples\c++\connect_to_cdb
The folder contains:
connect_to_cdb.sln
(folder)connect_to_cdb_vcxproj
main.cpp
Open the Visual Studio Solution .sln
and change the fileName
path in the main.cpp
char* fileName = "S:\\test\\cdbPath.cdb";
int main()
{
// In this example debug 64bit dlls are used (Visual Studio Platform 64bit)
// Connect to CDB
// int sof_cdb_init ( char* FileName, int Index);
/*
Index = 0 initialise CDBASE and open scratch data base only
Index > 0 open an existing data base with exactly tis index
(STATUS=UNKNOWN) = somehow obsolete call, use 99!
Index = 99 test if NAME is a valid database and open the base
if possible. Return with the assigned index.
If the file does not exist, it will be created.
Index = 97 open the database via pvm
Return with the assigned index.
Index = 96 open a scratch database, filename is the path to
use or NULL.
Index = 95 open in read-only mode
Index = 94 create a new data base (STATUS=NEW)
*/
int index = 99;
char* fileName = "S:\\test\\cdbPath.cdb";
int ie = sof_cdb_init(fileName, index);
if (ie < 0)
{
cout << "ERROR: Index= " << ie << " < 0 - see clib1.h for meaning of error codes" << endl;
cout << "Press any <key> to close the program";
system("pause");
return(0);
}
else if(ie == 0)
{
cout << "ERROR: Index= " << ie << " - The File is not a database" << endl;
cout << "Press any <key> to close the program";
system("pause");
return(0);
}
// Get Status
// int sof_cdb_status (int ie);
cout << "The CDB Status: " << sof_cdb_status(ie) << endl;
// Close the CDB
// int sof_cdb_close (int ie);
sof_cdb_close(0);
cout << "The CDB Status after closing: " << sof_cdb_status(ie) << endl;
system("pause");
return 0;
}