dd配置

来源:互联网 发布:homotopy算法 编辑:程序博客网 时间:2024/05/21 17:42

1      dd.conf

<?xml version="1.0" encoding="gb2312" standalone="no" ?>
<config>
 <!--本地数据库连接名-->
 <dbc>laton</dbc>
 
 <!--抽取数据源配置 -->
 <src_dbc>
  <!--默认数据库连接名,未指定数据库连接名的规则用此连接-->
  <default>mySHOPCMStock</default>
  <!--配置项,每个数据源使用的抽取规则,多个规则用","分隔-->
  <!--name:数据源名称-->
  <item name="mySHOPCMStock">201,202,203</item>
 </src_dbc>
 
 
 <!--抽取文件输出目录,从外部数据院抽取-->
 <export_path>data\retail\autosend</export_path> <!--抽取文件输出目录-->
 <!--抽取文件输出目录,从本地数据库抽取-->
 <export_path2>data\retail\autoout</export_path2>
 
 <!--抽取数据文件格式 1-XML 2-UMX 默认:1 -->
 <data_file_format>2</data_file_format>
 <!--抽取命令超时时间,单位:秒,默认:300,最小:10 -->
 <qry_timeout>60</qry_timeout>
 <!--抽取历史记录过期天数,默认:15,最小:10天.-->
 <export_record_expired>10</export_record_expired> <!--抽取历史记录过期天数-->

 <!--部署方式 0-集中部署模式 1-分离部署主服务器 2-分离部署LSS服务器. 默认:0 -->
 <deploy_mode>1</deploy_mode> 
</config>

 

<src_dbc>用来指定抽取使用的数据库连接。可以在<item>中指定一组规则使用哪个连接,同名的连接可以出现多个<item>。

如果不指定规则使用的连接名,则采用<default>指定的连接。

 

<export_path>指定是抽取文件存放的路径名,可以是相对路径,无默认值,必须指定。

 

2       抽取命令配置 

<?xml version="1.0" encoding="gb2312" standalone="no"?>
<content>
<do_by_provider>true</do_by_provider> <!--否分供应商抽取-->
<qry_provider_fld>c_provider</qry_provider_fld> <!--分供应商抽取时,供应商字段的名称,可以带别名,多表关联时需要带别名 -->
<enable_redo>true</enable_redo> <!—是否允许重复抽取,默认false -->
< filter_mode>1</ filter_mode>  <!--主查询条件过滤方式 1:where过滤 2:having过滤.默认为1 -->
<property used="false">1</property> <!--规则的扩展属性,如对于美特好日进销存合并的情况下记录数据源ID -->
<multi_scan>
<enable>true</enable><!--是否多遍扫描,默认false-->
<interval>30</interval> <!--多遍扫描间隔:分-->
<passedday>10</passedday> <!--扫描日期范围:当天前N天(含当天) -->
</multi_scan>
 <back_scan>180</back_scan> <!-- 所允许的时间误差,单位:秒-->
<group_by_provider>true</group_by_provider> <!-- 按供应商分组处理-->

<group_member_num>100</group_member_num>  <!--每组供应商个数 -->

<valid_string_charset>false</valid_string_charset> <!--是否校验字符集,默认false-->
<fixed_groups> <!--
固定分组配置
-->
<!--
以下示例有2个固定分组 group内容为该组的MIS编号
-->
<group>1,31,501</group>
<group>3,2011,135,5</group>
</fixed_groups>

<group_vender_alias>p</group_vender_alias> <!--可选供应商分组时表别名 -->
<vender_fld_type>2</vender_fld_type> <!--
供应商MIS编号字段类型 1-字符串 2-整数默认1 -->

<BeforeGet CmdType="3"> <!--抽取前执行命令 cmdType 1: SQL命令 2:存储过程 3:存储过程描述-->
<sp_name>usp_bp_pricebuy_change</sp_name> <!--
存储过程名称
-->
<parameters> <!--
存储过程参数
-->
<parameter>
<name>@bill_gyb</name> <!--
参数名称
-->
<type>129</type> <!-- -->
参数类型

<len>20</len>
<io_prop>3</io_prop> <!-- input/output/inputoutput-->
<value_type>2</value_type> <!--
参数值类型 1-常量 2-变量 -->
<value></value> <!--
参数值
-->
</parameter>
</parameters>
<ret_code_para>@rtn_code</ret_code_para> <!--
处理结果码参数名
-->
<err_text_para>@rtn_err</err_text_para> <!--
错误文本参数名称 -->

<ok_check_mode>1</ok_check_mode> <!--成功检查方式: 0-不检查 1-检查返回值  2-检查output参数-->
<succeed_value>0</succeed_value> <!--
表明成功的处理结果码
-->
</BeforeGet>

<AfterGet></AfterGet>

<BefortPost></BeforePost>

<AfterPost></AfterPost>

<parameterize_version>2</parameterize> <!-- 抽取命令参数化版本 1-%s 2-@参数名 默认:1 -->
<commands>
<command>
<![CDATA[
]]>
</command>
<command>
<![CDATA[
]]>
</command>
</commands>

</content>

 

 

l  <group_vender_alias>应用

生成下列抽取语句的指示供应商范围的条件"(a.venderid>='10000' and a.venderid<='10031')"

select distinct convert(varchar(10) , sdate, 121) sdate, A.VenderID from goodscost A, Vender B where (a.venderid>='10000' and a.venderid<='10031') and A.venderID = B.VenderID and lower(B.ContractType) in ('d', 'g','l') and A.Qty > 0

 

事件响应命令

CmdType:
命令类型 1-SQL命令 2-存储过程命令 3-存储过程描述 4-脚本
默认:2

CmdType=1示例:
<AfterGet CmdType="1">
update t1 set f2=1 where @f1=1
</AfterGet>


CmdType=2示例:
<AfterGet CmdType="2" CmdAttr="1" ResultPara="@f2">
execute PROCEDURE tl_getserial (20008,@f1,@f2)
</AfterGet>

<AfterGet CmdType="2">
execute PROCEDURE tl_getserial (20008,@f1,@f2)
</AfterGet>

说明:
CmdAttr:命令属性.默认为0.目前只使用bit0.为1时表示指定返回参数名的形式.
***返回值为整数,且0表示成功其它表示失败
***CmdType=2且CmdAttr=1支持的不彻底,仅informix扩展实现了所需要的ExecuteSPWithRetCode方法。

***CmdAttr=1是否有应用?

CmdType=3示例:
<BeforeGet CmdType="3"> <!-- 抽取前执行命令 cmdType 1: SQL命令 2:存储过程 3:存储过程描述 4:脚本-->
<sp_name>usp_bp_pricebuy_change</sp_name> <!-- 存储过程名称 -->
<parameters> <!-- 存储过程参数 -->
<parameter>
<name>@bill_gyb</name> <!--参数名称 -->
<type>129</type> <!-- -->参数类型
<len>20</len>
<io_prop>3</io_prop> <!-- input/output/inputoutput-->
<value_type>2</value_type> <!-- 参数值类型 1-常量 2-变量 -->
<value></value> <!-- 参数值-->
</parameter>
</parameters>
<ret_code_para>@rtn_code</ret_code_para> <!-- 处理结果码参数名 -->
<err_text_para>@rtn_err</err_text_para> <!-- 错误文本参数名称 -->

<ok_check_mode>1</ok_check_mode> <!--成功检查方式: 0-不检查 1-检查返回值  2-检查output参数-->
<succeed_value>0</succeed_value> <!-- 表明成功的处理结果码-->
</BeforeGet>


事件定义:
***各种事件响应节点可以用<EventHandler>元素统一描述,通过元素的ID属性区分.因兼容性考虑,不做此调整.

参数类型编码如下:
enum EnumDataType {
 dtUnknown    = 0,
 dtTinyInt         = 16,
 dtSmallInt        = 2,
 dtInteger         = 3,
 dtBigInt          = 20,
 dtUnsignedTinyInt = 17,
 dtUnsignedSmallInt= 18,
 dtUnsignedInt     = 19,
 dtUnsignedBigInt  = 21,
 dtFloat           = 4,
 dtDouble          = 5 ,
 dtBoolean    = 11,
 dtDate     = 7,
 dtTime     = 134,       
 dtDateTime       = 135,
 dtChar     = 129,               
 dtVarChar    = 200,           
 dtLongVarChar   = 201,   
 dtWChar     = 130,               
 dtWVarChar    = 202,       
 dtWLongVarChar   = 203,
 dtBinary    = 128,           
 dtVarBinary    = 204,       
 dtLongVarBinary   = 205,  
 dtMsg     = 151,   
 dtMediumMsg    = 152,   
 dtLongMsg    = 153,     
 dtRowset    = 154,
 dtMediumRowset   = 155,
 dtLongRowset   = 156,
};

 

3       变更历史

日期

版本

说明

2012-7-12

v2.7.6

. 增加<parameterize_version>2</parameterize>

<!--抽取命令参数化版本 1-%s 2-@参数名默认:1 -->

.增加<append_mode>

<!--增量处理标志,0-否 1-是,默认0 -->

.  废弃<onpost>,<afterget>替代。(仍保留对<onpost>的支持)