106 Star 403 Fork 142

ztp / auto-code

 / 详情

oracle 版本 表名过长如 FW_AUTH_USER 会报如下错误:

已完成
创建于  
2019-05-21 09:54

oracle 版本 表名过长如 FW_AUTH_USER 会报如下错误:
java.sql.SQLException: 流已被关闭
at oracle.jdbc.driver.LongAccessor.getBytesInternal(LongAccessor.java:156)
at oracle.jdbc.driver.LongAccessor.getBytes(LongAccessor.java:126)
at oracle.jdbc.driver.LongAccessor.getString(LongAccessor.java:201)
at oracle.jdbc.driver.T4CLongAccessor.getString(T4CLongAccessor.java:450)
at oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.java:1297)
at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:498)
at com.zengtengpeng.jdbc.utils.JDBCUtils.saxOracle(JDBCUtils.java:209)
at com.zengtengpeng.jdbc.utils.JDBCUtils.saxTable(JDBCUtils.java:126)

评论 (8)

李卿 创建了任务

请贴出表结构创建语句. 这个并不是因为表名过长引起的, 大概率是因为字段类型引起的.我本地测试这个表名并没有问题

ztp 任务状态待办的 修改为进行中

我用同样的表结构 把表名缩短就没问题了 比如create table FW_AUTH_US as select * from FW_AUTH_USER后FW_AUTH_US 就没问题

-- Create table
create table FW_AUTH_USER
(
id VARCHAR2(50) not null,
username VARCHAR2(50),
password VARCHAR2(800),
expiry_date TIMESTAMP(0),
useable NUMBER,
remark VARCHAR2(50),
display_name VARCHAR2(50),
create_time TIMESTAMP(0),
modify_time TIMESTAMP(0),
org_id VARCHAR2(50),
enteruserid VARCHAR2(200)
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64
next 1
minextents 1
maxextents unlimited
);
-- Add comments to the table
comment on table FW_AUTH_USER
is '权限用户表';
-- Add comments to the columns
comment on column FW_AUTH_USER.id
is '主键';
comment on column FW_AUTH_USER.username
is '登录名';
comment on column FW_AUTH_USER.password
is '密码';
comment on column FW_AUTH_USER.expiry_date
is '过期时间';
comment on column FW_AUTH_USER.useable
is '状态 1有效 0无效';
comment on column FW_AUTH_USER.remark
is '备注';
comment on column FW_AUTH_USER.display_name
is '显示名';
comment on column FW_AUTH_USER.create_time
is '创建时间';
comment on column FW_AUTH_USER.modify_time
is '修改时间';
comment on column FW_AUTH_USER.org_id
is '组织机构ID';
-- Create/Recreate primary, unique and foreign key constraints
alter table FW_AUTH_USER
add primary key (ID)
using index
tablespace USERS
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
alter table FW_AUTH_USER
add unique (USERNAME)
using index
tablespace USERS
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);

@李卿 提供下你的oracle数据库版本号 目前 oracle-xe-11g 测试时没有问题的

@李卿 已经发现问题,默认值的原因,oracle没有实现jdbc获取默认值的规范.下个版本修复

另外K-V字段建议这样写,{"name":"状态","1":"有效","2":"失效"}.
bean里将会提供一个getXXX_()自动转译.不再需要自己再写一次

已修复,请升级版本

ztp 任务状态进行中 修改为已完成

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
Java
1
https://gitee.com/ztp/auto-code.git
git@gitee.com:ztp/auto-code.git
ztp
auto-code
auto-code

搜索帮助