创建和终止环境

本节将介绍应用程序如何创建和销毁环境句柄

构造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)

模式可以在每个环境中独立设置。