2024年4月26日发(作者:)
Sybase报Invalidpackettype0x22错误解决-电脑资料
Sybase报Invalid packet type 0x22错误解决
今天使用Sybase(15.7 Developer版)查询DB时,遇到了很诡
异的错误,错误异常如下:
[java]
<-- eption: TDS Protocol error: Invalid
packet type 0x22
at
ken(:2284)
at
InResultSet(
:792)
at
sultSet.(:146)
at
eSQLQuery(JtdsSt
:424)
at
eQuery
(:693)
at
rrentData(
:1321)
at
(:1437)
at
tatResults(St
atResultObtainMgr.
java:194)
at
tAllExpertLev
els
(:51)
at
Method)
at
(NativeMethodAcc
:39)
at
(DelegatingM
ethodAccessorImpl
.java:25)
at (:597)
at t(:154)
at e(:127)
at sult$t(:106)
at
tected(:124)
at (:109)
at (:118)
at
n(JUnit3TestReference
.java:130)
at
(TestExecuti
:38)
at
ts
0(Native
(:467)
at
ts
(:683)
at
(:390)
at
(:197)
Caused
at
ken(:2271)
... 24 more
经过定位,最终发现是指定的表中的字段个数太多(我这个表中
有575个字段),把sql语句
修改成select 字段1,字段2 …… from 表
问题不再重现,,
电脑资料
《Sybase报Invalid packet type 0x22错误解决》
(www.)。
select * 时,底层虽然也会提取所有字段,但是会报这个错误,如
果我们把所有字段列
在select后面,则不会报错,可以正确提取出字段。sql语句变为:
select Field1,Field2,
Feild3…… from TableName.
后来又测试了下,发现对如果是对decimal字段类型进行排序时,
也会报这个错。
by: olException:
Invalid packet type 0x22
发布评论