
# 使用DataCheck
#### 注意事项
- 启动DataCheck前，必须配置conf文件夹中dbinfo.properties文件和check_input.xlsx文件。参数配置错误会导致DataCheck执行错误。
- 如果在同一台服务器上并发进行DataCheck（由同一个或不同DataCheck执行），不同的DataCheck任务必须使用不同的check_input.xlsx文件。
- 用户在执行完DataCheck后会生成logs文件夹，可以进入logs目录查看工具执行过程中的日志，方便定位问题。
 
#### 基于Linux使用DataCheck
1. 上传工具包到Linux服务器并解压： 
   ![](https://support.huaweicloud.com/tg-dws/figure/zh-cn_image_0000002202142345.png)
   
   
2. 生成数据库登录密码密文： 
   进入bin目录：
   ![](https://support.huaweicloud.com/tg-dws/figure/zh-cn_image_0000002202096809.png)
   执行密文生成的脚本，密文会输出。对源端和目标端数据库登录密码分别执行此脚本生成密文。
   sh encryption.sh \[password\]
   ![](https://support.huaweicloud.com/tg-dws/figure/zh-cn_image_0000002166616092.png)
   
   
3. 配置conf/dbinfo.properties文件： 
   进入Datacheck目录下，执行vi conf/dbinfo.properties
   ![](https://support.huaweicloud.com/tg-dws/figure/zh-cn_image_0000002202096789.png)
   配置源端和目标端的数据库连接信息，配置文件中的密码，使用上一步生成的密文。
   ![](https://support.huaweicloud.com/tg-dws/figure/zh-cn_image_0000002166775772.png)
   
   
4. 编辑input/check_input.xlsx文件： 
   复制check_input.xlsx文件到windows服务器，使用Excel软件编辑，填写要校验的表信息，保存后，上传到Linux服务器覆盖原始的文件。
   ![](https://support.huaweicloud.com/tg-dws/figure/zh-cn_image_0000002202142329.png "点击放大")
   
   
5. 执行数据校验工具，支持两种启动方式。 
   - 方式一：默认模式，不指定并发数和校验文件路径，快速启动。 进入bin目录，执行启动脚本：
     ```
     sh datacheck.sh
     ```
     ![](https://support.huaweicloud.com/tg-dws/figure/zh-cn_image_0000002536602635.png "点击放大")
     
   
   - 方式二：自定义模式，指定参数启动。 如果需要指定校验任务文件或调整并发效率，请按照以下格式运行：
     ```
     sh datacheck.sh [并发数] [校验文件路径]
     ```
     
   
   
   两种启动方式对比如下：
   表1启动方式 
   | 模式    | 参数1：并发数 | 参数2：文件路径                              | 运行效果         |
   |:---|:---|:---|:---|
   | 默认模式  | 不填写     | 不填写，即默认以下路径：../input/check_input.xlsx | 使用系统默认值运行。   |
   | 自定义模式 | 必填，例如1  | 选填，如 ../input/x.xlsx，不填就为默认路径。        | 按指定并发数和文件运行。 |
      
   
   
6. 查看校验结果 output/check_input_result.xlsx： 
   ![](https://support.huaweicloud.com/tg-dws/figure/zh-cn_image_0000002166775788.png "点击放大")
   
   
7. 校验结果分析： 
   1. Status结果为No Pass代表校验未通过。
   
   2. Check Result Diff列显示校验不通过的项，可在里面查看具体哪一列的校验不通过。
   
   3. Check SQL中显示在数据库中执行的查询SQL。
   
   
   
   
 
#### 基于Windows使用DataCheck
1. 上传工具包到Windows服务器并解压： 
   ![](https://support.huaweicloud.com/tg-dws/figure/zh-cn_image_0000002166616088.png)
   
   
2. 生成数据库登录密码密文： 
   进入bin目录，启动CMD工具：
   ![](https://support.huaweicloud.com/tg-dws/figure/zh-cn_image_0000002202142325.png)
   执行密文生成的脚本，密文会输出。对源端和目标端数据库登录密码分别执行此脚本生成密文。
   encryption.bat \[password\]
   ![](https://support.huaweicloud.com/tg-dws/figure/zh-cn_image_0000002166616084.png "点击放大")
   
   
3. 配置conf/dbinfo.properties文件： 
   编辑conf目录下的dbinfo.properties文件，配置源端和目标端的数据库连接信息，配置文件中的密码，使用上一步生成的密文。
   ![](https://support.huaweicloud.com/tg-dws/figure/zh-cn_image_0000002166775768.png)
   
   
4. 编辑input/check_input.xlsx文件并保存： 
   使用Excel软件编辑input/check_input.xlsx，填写要校验的表信息并保存。
   ![](https://support.huaweicloud.com/tg-dws/figure/zh-cn_image_0000002202096781.png "点击放大")
   
   
5. 执行数据校验工具 datacheck.bat，执行两种方式启动。 
   - 方式一：默认模式，不指定并发数和校验文件路径，快速启动。 进入bin目录，执行启动脚本。
     在PowerShell下执行：
     ```
     .\datacheck.bat
     ```
     或cmd窗口下执行：
     ```
     datacheck.bat
     ```
     ![](https://support.huaweicloud.com/tg-dws/figure/zh-cn_image_0000002504802848.png "点击放大")
     
   
   - 方式二：自定义模式，指定参数启动。 如果需要指定校验任务文件或调整并发效率，请按照以下格式运行：
     ```
     .\datacheck.bat [并发数] "[文件路径]"
     ```
     
   
   
   两种启动方式对比如下：
   表2启动方式 
   | 模式    | 参数1：并发数 | 参数2：文件路径                              | 运行效果         |
   |:---|:---|:---|:---|
   | 默认模式  | 不填写     | 不填写，即默认以下路径：../input/check_input.xlsx | 使用系统默认值运行。   |
   | 自定义模式 | 必填，例如1  | 选填，如 ../input/x.xlsx，不填就为默认路径。        | 按指定并发数和文件运行。 |
      
   
   
6. 查看校验结果 output/check_input_result.xlsx(校验结果分析同Linux场景)： 
   ![](https://support.huaweicloud.com/tg-dws/figure/zh-cn_image_0000002166775776.png "点击放大")
   
   
   
7. 校验结果分析： 
   1. Status结果为No Pass代表校验未通过。
   
   2. Check Result Diff列显示校验不通过的项，可在里面查看具体哪一列的校验不通过。
   
   3. Check SQL中显示在数据库中执行的查询SQL。
   
   
   
   
 
