ENVIRONMENT 语句配置一个语言环境。语言环境是 Net.Data 的一个组件,Net.Data 用 它来访问诸如 DB2 数据库等数据源,或者执行诸如 REXX 等语言编写的程序。Net.Data 提供了 一系列语言环境,还提供了允许您创建自己的语言环境的接口。 这些语言环境和语言环境接口在 Net.Data 语言环境 参考中所有描述。
Net.Data 要求在您调用语言环境之前,该语言环境的 Net.Data 初始化文件中 应该存在 ENVIRONMENT 语句。
Net.Data 指定了几个变量,它们影响 Net.Data 语言环境对 FUNCTION 块中定义的函数 调用进行解释的方式。这些变量的设置必须传递到一个语言环境才能生效。
例如,宏可以定义一个 DATABASE 变量来指定一个数据库的名称,DTW_SQL 函数 中的 SQL 语句将在此执行。DATABASE 的 值必须传递到 SQL 语言环境 (DTW_SQL),这样,SQL 语言环境就可以连接到指定 的数据库。要将变量传递到 语言环境,您必须向 DTW_SQL 的语言环境的参数列表中 添加 DATABASE 变量。
示例 Net.Data 初始化文件对定制 Net.Data 语言环境配置语句的设置做了几个假设。这些 假设对于您的环境来说可能是不正确的。请针对您的环境适当地修改这些语句。
要添加或更新 ENVIRONMENT 语句:
ENVIRONMENT 语句具有以下语法:
ENVIRONMENT(type) library_name (parameter_list, ...) [CLIETTE "cliette_name"]
参数:
Net.Data 将此语言环境和 Net.Data 宏中定义的 FUNCTION 块相 关联的名称。您必须在 FUNCTION 块定义中指定语言环境的类型,从而标识 Net.Data 要执行函数 所应使用的语言环境。
DLL 或共享程序库的名称中包含 Net.Data 调用 的语言环境接口。在 OS/2 中,指定 DLL 名称时是没有扩展名 .dll 的。在 AIX 中,共享对象的名称是使用 .o 来 指定的。
在每个函数调用中传递给语言环境的参数列表(除了 在 FUNCTION 块定义中指定的参数)。
这些参数在 dtw_lei 结构 的 parm_data_array 字段中传递,跟在 FUNCTION 块定义中指定的参数 之后。(请参阅 Net.Data 语言环境参考以获取有关这些结构的信息。)
在执行将由语言环境处理的函数之前,您必须将这些参数定义为配置变量或宏文件中的变量。如果一个 函数修改了它的输出参数,那么在函数完成之后这些参数仍将保留修改后的值。
cliette 的名称。 cliette_ name 可以指 Java 应用程序语言环境 cliette,也可以是数据库 cliette。 cliette_name 参数是和 CLIETTE 关键字一起使用的,它们都只和“现场连接”一起使用。CLIETTE 和 cliette_name 是可选的,并且只能对数据库、Java 应用程序 语言环境和用户定义的语言环境(具有为它们编写的 cliette) 指定。
语法:
CLIETTE "DTW_JAVAPPS"
语法:
CLIETTE "type:db_name"
参数:
当 Net.Data 处理 INI 文件时,它不会装入语言环境 DLL 或 共享程序库。Net.Data 在它首次执行标识某个语言环境的函数时装入该语言环境的 DLL。然后, 只要 Net.Data 是装入的,该 DLL 就将保持装入状态。
例:用于 Net.Data 提供的语言环境的 ENVIRONMENT 语句
在为您的应用程序定制 ENVIRONMENT 语句时,请在 ENVIRONMENT 语句中添加需要 从初始化文件传递到语言环境的变量或 Net.Data 宏编写者需要在他们的宏中设置或覆盖的变量。
ENVIRONMENT (DTW_SQL) DTWSQL ( IN DATABASE, LOGIN, PASSWORD, TRANSACTION_SCOPE, SHOWSQL, ALIGN, START_ROW_NUM, DTW_SET_TOTAL_ROWS) CLIETTE "DTW_SQL:MYDBASE" ENVIRONMENT (DTW_SYB) DTWSYB ( IN DATABASE, LOGIN, PASSWORD, TRANSACTION_SCOPE, SHOWSQL, ALIGN, START_ROW_NUM, DTW_SET_TOTAL_ROWS) ENVIRONMENT (DTW_ORA) DTWORA ( IN DATABASE, LOGIN, PASSWORD, TRANSACTION_SCOPE, SHOWSQL, ALIGN, START_ROW_NUM, DTW_SET_TOTAL_ROWS) ENVIRONMENT (DTW_ODBC) DTWODBC ( IN DATABASE, LOGIN, PASSWORD, TRANSACTION_SCOPE, SHOWSQL, ALIGN, DTW_SET_TOTAL_ROWS) ENVIRONMENT (DTW_APPLET) DTWJAVA ( ) ENVIRONMENT (DTW_JAVAPPS) ( OUT RETURN_CODE ) CLIETTE "DTW_JAVAPPS" ENVIRONMENT (DTW_PERL) DTWPERL ( OUT RETURN_CODE ) ENVIRONMENT (DTW_REXX) DTWREXX ( OUT RETURN_CODE ) ENVIRONMENT (DTW_SYSTEM) DTWSYS ( OUT RETURN_CODE ) ENVIRONMENT (HWS_LE) DTWHWS ( OUT RETURN_CODE )
每个 ENVIRONMENT 语句必须在单独一行上。