ENVIRONMENT 语句配置一个语言环境。语言环境是 Net.Data 的一个组件,Net.Data 用 它来访问诸如 DB2 数据库等数据源,或者执行诸如 REXX 等语言编写的程序。Net.Data 提供了 一系列语言环境,还提供了允许您创建自己的语言环境的接口。 使用语言环境中描述了这些语言环境,Net.Data 语言环境接口参考中描述了语言环境接口。
在调用某个特定的语言环境之前,Net.Data 要求用于该语言环境的 ENVIRONMENT 语句必须存在。
可以通过将变量指定为 ENVIRONMENT 语句中的参数来将变量与语言环境相关联。 Net.Data 将 ENVIRONMENT 语句中指定的参数作为宏变量隐式地传递到语言环境。要更改宏中 ENVIRONMENT 语句内指定 的参数值,可以使用 DTW_ASSIGN() 函数为该变量赋一个值,也可以在 DEFINE 部分定义该变量。要点:如果宏中定义了一个宏变量, 但 ENVIRONMENT 语句中没有加以指定,则该宏变量不会被传递到语言环境。
例如,宏可以定义一个 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 调用 的语言环境接口。
在每个函数调用中传递给语言环境的参数列表(除了 在 FUNCTION 块定义中指定的参数)。
要在参数列表中设置和传递变量,可以在宏中定义变量。
在执行将由语言环境处理的函数之前,您必须将这些参数定义为配置变量或宏中的变量。以下示例指定 ENVIRONMENT 语句中的变量:
ENVIRONMENT(DTW_SQL) C:\WINNT\System32\nddb2.dll(IN DATABASE,TRANSACTION_SCOPE,USERID,PASSWORD)
cliette 的名称。cliette_ name 可以指 Java 应用程序语言环境 cliette,也可以是数据库 cliette。 cliette_name 参数是和 CLIETTE 关键字一起使用的,它们都只和 Live Connection 一起使用。CLIETTE 和 cliette_name 是可选的, 只能对数据库和 Java 应用程序语言环境指定。
语法:
CLIETTE "DTW_JAVAPPS"
语法:
CLIETTE "type:db_name"
参数:
Net.Data 处理初始化文件时,它不会装入 语言环境 DLL或 共享程序库。Net.Data 在它首次执行标识某个语言环境 的函数时装入该语言环境的 DLL或 共享程序库。然后,只要 Net.Data 是装入的, DLL或共享程序库 将保持装入状态。
示例:用于 Net.Data 提供的语言环境的 ENVIRONMENT 语句
在为您的应用程序定制 ENVIRONMENT 语句时,请向 ENVIRONMENT 语句中添加需要从初始化文件传递到语言环境的变量或 Net.Data 宏编写者需要在他们的宏中设置或覆盖的变量。
ENVIRONMENT (DTW_SQL) /net.data/lib/dtwsql.so ( IN DATABASE, LOGIN, PASSWORD, TRANSACTION_SCOPE, ALIGN, START_ROW_NUM, DTW_SET_TOTAL_ROWS) CLIETTE "DTW_SQL:MYDBASE" ENVIRONMENT (DTW_ORA) /net.data/lib/dtwora.so ( IN DATABASE, LOGIN, PASSWORD, TRANSACTION_SCOPE, ALIGN, START_ROW_NUM, DTW_SET_TOTAL_ROWS) ENVIRONMENT (DTW_ODBC) /net.data/lib/dtwodbc.so ( IN DATABASE, LOGIN, PASSWORD, TRANSACTION_SCOPE, ALIGN, DTW_SET_TOTAL_ROWS) ENVIRONMENT (DTW_APPLET) /net.data/lib/dtwjava.so ( ) ENVIRONMENT (DTW_JAVAPPS) /net.data/lib/dtwjavapps.so ( OUT RETURN_CODE ) CLIETTE "DTW_JAVAPPS" ENVIRONMENT (DTW_PERL) /net.data/lib/dtwperl.so ( OUT RETURN_CODE ) ENVIRONMENT (DTW_REXX) /net.data/lib/dtwrexx.so ( OUT RETURN_CODE ) ENVIRONMENT (DTW_SYSTEM) dtwsys.so ( OUT RETURN_CODE ) ENVIRONMENT (HWS_LE) dtwhws.so ( OUT RETURN_CODE )
必需:每个 ENVIRONMENT 语句必须在单独一行上。