open(params_list)
此方法使用指定的参数列表打开一个 SmartEDB 数据库、一个 SmartEDB SQL 映射器以及 McoSqlEngine 实例。
void open(
name,
dictionary,
size,
pageSize = 128,
mapAddress = MCO_DATABASE_DEFAULT_MAP_ADDRESS,
maxTransSize = 0,
flags = McoSqlOpenParameters::DEFAULT_OPEN_FLAGS,
databaseFile = NULL,
maxClasses = 100,
maxIndexes = 100,
maxDictionarySize = 16*1024
);
参数
name
char const*
数据库名。
dictionary
mco_dictionary_h
这是由 SmartEDB 模式编译器 mcocomp 创建的字典的句柄。通常,此句柄由 dbname_get_dictionary()
传递进来。
size
size_t
SmartEDB 数据库的大小(以字节为单位)。
pageSize
size_t
SmartEDB 内存页大小(以字节为单位)。
mapAddress
void*
SmartEDB映射地址(用于共享内存数据库)。
maxTransSize
size_t
每个事务的最大对象数。
flags
int
可选选项(请参阅 McoSqlOpenParameters 中 OpenFlags )。
databaseFile
char const*
待加载的数据库文件。
maxClasses
size_t
类的最大数量。
maxIndexes
size_t
最大索引数量。
maxDictionarySize
size_t
词典的最大容量。
返回
RuntimeException
在出现错误的情况下抛出一个 RuntimeException 异常。
示例
const char * dbname = "SimpleDb";
int main(int argc, char* argv[])
{
MCO_RET rc;
McoSqlEngine engine;
...
engine.open( db_name, SimpleDb_get_dictionary(), DATABASE_SIZE, MEMORY_PAGE_SIZE);
...
}