Oracl查询报错:ORA-29275: 部分多字节字符

报错描述

--使用oracl的sql查询时候,此sql无误:
                        SELECT DISTINCT MS_BRDA.MZHM           as patientId,
						MS_BRDA.BRXM           as name,
						CASE
							WHEN MS_BRDA.BRXB = 1 THEN '男'
							WHEN MS_BRDA.BRXB = 2 THEN '女'
							ELSE '未知'
							END                AS gender,
						MS_GHMX.GHSJ           as arrivalTime,
						MS_BRDA.CSNY           as birthday,
						MS_BRDA.HKDZ           as address,
						MS_GHMX.KSDM as deptCode
		FROM MS_BRDA@PORTAL56_HIS
				 LEFT JOIN MS_GHMX@PORTAL56_HIS ON MS_GHMX.BRID = MS_BRDA.BRID
--但是关联其他表就会报错(ORA-29275: 部分多字节字符):
                        SELECT DISTINCT MS_BRDA.MZHM           as patientId,
						MS_BRDA.BRXM           as name,
						CASE
							WHEN MS_BRDA.BRXB = 1 THEN '男'
							WHEN MS_BRDA.BRXB = 2 THEN '女'
							ELSE '未知'
							END                AS gender,
						MS_GHMX.GHSJ           as arrivalTime,
						MS_BRDA.CSNY           as birthday,
						MS_BRDA.HKDZ           as address,
						MS_GHMX.KSDM as deptCode
		FROM MS_BRDA@PORTAL56_HIS
				 LEFT JOIN MS_GHMX@PORTAL56_HIS ON MS_GHMX.BRID = MS_BRDA.BRID
				 LEFT JOIN ECIS_YJFZ ON MS_BRDA.BRID = ECIS_YJFZ.BRID

排查思路

定位问题为字符格式不一致导致

SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET';
--his是ZHS16GBK
--ecis是AL32UTF8

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值