
# 通过DLI跨源写DWS表，非空字段出现空值异常怎么办？
#### 问题现象
客户在DWS建表，然后在DLI创建跨源连接读写该表，突然出现如下异常，报错信息显示DLI向该表某非空字段写入了空值，因为非空约束存在导致作业出错。
报错信息如下：
```
DLI.0999: PSQLException: ERROR: dn_6009_6010: null value in column "ctr" violates not-null constraint
Detail: Failing row contains (400070309, 9.00, 25, null, 2020-09-22, 2020-09-23 04:30:01.741).
```
#### 原因分析
1. DLI源表对应字段cir为double类型。
   图1创建源表   
   ![](https://support.huaweicloud.com/dli_faq/zh-cn_image_0000001372601066.png "点击放大") 
2. 目标表对应字段类型为decimal(9,6)。
   图2创建目标表   
   ![](https://support.huaweicloud.com/dli_faq/zh-cn_image_0000001422601037.png "点击放大") 
3. 查询源表数据，发现导致问题产生的记录ctr值为1675，整数位（4位）超出所定义的decimal精度（9 -- 6 = 3位），导致double转decimal时overflow产生null值，而对应dws表字段为非空导致插入失败。
 
#### 处理步骤
修改目的表所定义的decimal精度即可解决。
