创建和终止环境¶
本节将介绍应用程序如何创建和销毁环境句柄
构造Environment环境句柄¶
Environment对象的建立必须放在第一位。
所有ACCI处理都在Environment类中进行。示例2-1说明了如何创建ACCI环境句柄。
示例2-1 如何创建ACCI环境
Environment *env = Environment::createEnvironment();
销毁Environment环境句柄¶
Environment对象的终止必须是放在最后一位,即等所有其它ACCI对象被终止完后再终止Environment对象。
所有使用createxxx()方法(connection、connectionpool、statement)创建的ACCI对象必须显式销毁。在适当的时候,还必须显式销毁该环境句柄。示例2-2展示了如何销毁ACCI环境句柄。
示例2-2 如何销毁ACCI环境句柄
Environment::terminateEnvironment(env);
此外,ACCI环境的作用域应该大于在该环境中创建的下列对象类型的作用域:Bytes、Date、IntervalDS、IntervalYM和Timestamp。但不包含BFile、Blob和Clob对象。如示例2-3所示
示例2-3 BFile、Blob、Clob脱离Environment使用
Blob b;
Blob bc(b);
bc.isNull()
你可以使用createEnvironment()方法的模式参数来设置你的应用程序:
- 在线程环境中运行(THREADED_MUTEXED(互斥线程)或THREADED_UNMUTEXED(并行线程))
- 使用对象(OBJECT)
- 利用共享数据结构(SHARED)
模式可以在每个环境中独立设置。