---
title: "OBProxy 日志中报错 [ERROR] decode varchar param value failed 原因和解决方法-OceanBase数据库使用指南"
description: "了解OceanBase数据库在实际应用中关于 OBProxy 日志中报错 [ERROR] decode varchar param value failed 原因和解决方法相关的常见问题和使用技巧，帮助您快速解决 OBProxy 日志中报错 [ERROR] decode varchar param value failed 原因和解决方法的难题。"
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# OBProxy 日志中报错 [ERROR] decode varchar param value failed 原因和解决方法

更新时间：2024-07-16 02:22

适用版本： V4.2.x 内容类型：Troubleshoot  

## 问题现象

OBProxy 日志中报错：[ERROR] decode varchar param value failed 。

![image001.png](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/sql/20240604obp008.png)

## 问题原因

OBProxy 解析 SQL 路由错误。

## 解决方法

OBProxy 在解析 SQL 的时候，只会截取 4KB 的大小，在这 4KB 里没有找到分区键对应的值，因此获取不到路由信息，这条 SQL 就会随机发送到其中一个 OBServer 上执行，可能会产生比较多的远程事务，但是不会导致执行失败。

优化方式是将 SQL 中分区键的字段尽量往前移，如 T 表：

```shell
T(a int primary key, b longtext, c longtext, d longtext, partition by hash(a))

```

在对表进行 insert 时，避免这种把分区字段放在最后面：`insert into T(b, c, d, a) values(...);`，而应该使用：`insert into T(a, b, c, d) values(...);` 。

## 影响版本

OBProxy V4.2.x 及之前版本。

上一篇

[不同客户端工具对数值计算的精度影响](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000988448)

下一篇

[网络线程关键打印汇总](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000707678) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
