
# 维护存储过程
运营商独立部署和运行OIAP系统时，可使用存储过程对第三方系统数据库进行交互，获取或更新数据，例如查询第三方系统定义的工单类别等。
#### 前提条件
- 当前菜单下部分操作支持单独权限控制，未配置相关操作权限时，不支持对应的操作。支持单独配置的操作权限详情请参考[表1](https://support.huaweicloud.com/usermanual-cec/cec_04_0005.html#ZH-CN_TOPIC_0000002509976017__zh-cn_topic_0000002456193157_zh-cn_topic_0000002130159869_zh-cn_topic_0210228460_table12706174092516)。
- 当前系统支持MySQL、Oracle、Gauss和MSSQL的存储过程，存储过程需要预先定义。
- 请联系管理员登录客户服务云，进入"呼叫中心管理\>地址白名单管理"界面将域名或IP添加到白名单。
 
#### 操作步骤
1. 选择"配置中心 \>机器人管理\>流程配置"，进入流程配置页面。
2. 选择"资源管理 \> 存储过程"，在"存储过程数据库管理"页签单击"![](https://support.huaweicloud.com/usermanual-cec/figure/zh-cn_image_0000001670756494.png)"（如果已经配置过，可单击"编辑"）配置存储过程所在的数据库连接信息。最多支持200个。
   
   图1新建存储过程数据库配置   
   ![](https://support.huaweicloud.com/usermanual-cec/figure/zh-cn_image_0000002368020298.png)
   - 数据库名称：数据库名称。只允许字母，数字，中文，空格，下划线和英文单引号。
   
   - 组织机构：由租户级参数"租户是否开启组织间的数据强制隔离机制"控制。
     - 开启参数控制后：
       - 未配置"系统公共权限 \> 查看所有组织数据"权限的账号：
         - 且未配置"系统公共权限 \> 查看编辑归属组织数据"和"系统公共权限 \> 查看下级组织数据"的权限时，仅支持选择当前员工信息中配置的"可访问组织"中的组织机构信息。
           ![](https://support.huaweicloud.com/usermanual-cec/public_sys-resources/note_3.0-zh-cn.png)
           员工与组织机构同时配置可访问组织时，以员工中的可访问组织配置权限为准。
           
         
         - 配置"系统公共权限 \> 查看编辑归属组织数据"时，支持查看当前业务账号所属组织机构（不包含下级组织机构）下的组织数据。
         
         - 配置"系统公共权限 \> 查看下级组织数据"的权限时，支持查看当前业务账号所属组织机构的下级组织机构下的组织数据。
          
       
       - 配置"系统公共权限 \> 查看所有组织数据"权限的账号，支持选择所有组织机构信息。
        
     
     - 关闭租户级参数控制后，可选择租间下所有组织机构。
      
   
   - 数据库类型：当前支持如下数据库类型，请根据实际情况选择。
     - MySQL
     
     - Gauss
     
     - Oracle
     
     - MSSQL
      
   
   - 数据库驱动包：表示链接数据库使用的驱动程序，一般无需配置。
     ![](https://support.huaweicloud.com/usermanual-cec/public_sys-resources/note_3.0-zh-cn.png)
     1. 首次使用MSSQL，请前往官网下载MSSQL驱动包mssql-jdbc-13.2.0.jre8.jar。
     
     2. 获取MSSQL驱动包后，请登录Tomcat后台服务器，将驱动包上传至/home/oifde/OpenAS_tomcat/lib文件下。
     
     3. 更改驱动包属组：chown oifde:oifde ${驱动包名称}。
     
     4. 更改驱动包的访问权限：chmod 550 ${驱动包名称}
       
   
   - 数据库URL：支持IP和域名，需要联系管理员配置白名单；数据库连接串的信息，请配置为JDBC连接串。
     表1数据库连接串配置格式 
     | 数据库    | 配置格式                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 配置样例                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
     |:---|:---|:---|
     | MySQL  | - jdbc:mysql://ip:port/SID  - jdbc:mysql:域名                                         | - jdbc:mysql://IP:PORT/oiap?useUnicode=true\&characterEncoding=utf-8\&useSSL=false  - service-cloud.huawei.com:3306/aicc_isales                                       |
     | Gauss  | - jdbc:zenith:@ip:port  - jdbc:zenith:域名                                              | - jdbc:zenith:@IP:PORT  - service-cloud.gaussdb.com:1888                                                                                                           |
     | Oracle | - jdbc:oracle:thin:@host:port:SID  - jdbc:oracle:thin:域名                             | - jdbc:oracle:thin:@IP:PORT:oiap  - service-cloud.oracle.com:1521/ora19c                                                                                           |
     | MSSQL  | - jdbc:sqlserver://ip:port;databaseName=数据库名  - jdbc:sqlserver://域名;databaseName=数据库名   | - jdbc:sqlserver://10.100.5.2:1433;databaseName=testMS;  - jdbc:sqlserver://sqlserver.example.com:1433;encrypt=true;databaseName=AdventureWorks;integratedSecurity=true   |
        
     
   
   - 数据库用户/数据库密码：连接数据库的用户和密码。
   
   - 若第三方系统提供的这个数据库密码定期修改了，请回到此页面，单击"编辑"同步修改此处配置的数据库密码。
     ![](https://support.huaweicloud.com/usermanual-cec/public_sys-resources/note_3.0-zh-cn.png)
     数据库URL请不要使用AICC解决方案的生产数据库。
     
   
   
   
   
3. 选择"资源管理 \> 存储过程"，在存储过程管理页签右上角单击"![](https://support.huaweicloud.com/usermanual-cec/figure/zh-cn_image_0000001718836537.png)"。
4. 填写存储过程的基本信息。 
   ![](https://support.huaweicloud.com/usermanual-cec/figure/zh-cn_image_0000002368020446.png)
   - "存储过程名"可根据功能含义自行定义。
   
   - "存储过程值"请配置为您数据库中已经存在的存储过程名称。
   
   - "数据库连接"取值于步骤[2]创建的数据库。
   
   
   
   
5. 单击"入参"，依次单击"添加"配置存储过程的入参。 
   存储过程中的入参通常跟在CREATE PROCEDURE同一行，用IN做标识，例如下面的存储过程定义中，定义了4个入参，其中varchar对应本系统中的Character类型。
   ```
   CREATE PROCEDURE p_modify_column_name (in tableName varchar(128), in oldName varchar(128), in newName varchar(128), in incolumnType varchar(128))
   ```
   
   
6. 单击"出参"，依次单击"添加"配置存储过程的出参。 
   ![](https://support.huaweicloud.com/usermanual-cec/public_sys-resources/note_3.0-zh-cn.png)
   MSSQL不支持列表类型的出参。
   
   
7. 单击"保存"，保存配置。
8. 单击"测试连接"按钮，如果显示测试成功，则表示此数据库可使用；如果显示测试失败，请按照提示重新检查配置。
 
