DB2创建表字段长度过大时错误

1错误

DB2 SQL Error: SQLCODE=-286, SQLSTATE=42727, SQLERRMC=8192; DRIVER=4.19.49

2错误原因

我是创建表的时候出错的,原因就是:创建的表某个字段长度太长,比如说 有好几个字段 varchar(2000) 等。导致表空间不够用

因为表空间的 pagesize 是创建数据库的时候创建的,不能修改,也就应该这个导致我表空间不够用(表空间页数多也没用,我试过了)。

3解决

重新创建数据库,删除数据不懂可以看我的这篇文章《drop database xx 傻逼玩意》

创建数据库,格式语句如下:

java 复制代码
CREATE DATABASE exampIe AUTOMATIC STORAGE YES // 自动存储 
ON 'D:\' DBPATH ON'D:' // 指定数据库控制文件的存储路径 
ALIAS example // 数据库别名 
USING CODESET UTF-8 TERRITORY CN // 指定编码集,和地区
COLLATE USING SYSTEM // 指定数据库处理字符串的排序顺序单位为字节 
WITH'样本数据库' // 注释
PAGESIZE 4096 // 默认表空间的大小,

我选了一下命令执行

sql 复制代码
create database dbname automatic storage yes  using codeset UTF-8 territory CN pagesize 8192; 

如果你需要的表空间还是很大,可以 16384

sql 复制代码
create database dbname automatic storage yes  using codeset UTF-8 territory CN pagesize 16384;

* 创建数据库之后的一些操作,提供参考(相关)

1) 创建用户(windows下)

powershell 复制代码
net user [用户名] [密码] /add

将用户添加到管理员组

powershell 复制代码
net localgroup administrators [用户名] /add

设置权限

链接数据库

powershell 复制代码
connect to dbname

配置SCHEMA权限

powershell 复制代码
GRANT DBADM ON DATABASE to user [用户名]  // 给 用户创建SCHEMA的权限

创建SCHEMA

powershell 复制代码
create schema [schema名称]//  创建 schema

给用户设置一些权限

powershell 复制代码
GRANT BINDADD  ON DATABASE TO [用户名]
GRANT CONNECT  ON DATABASE TO [用户名]
GRANT CREATETAB  ON DATABASE TO [用户名]
GRANT LOAD  ON DATABASE TO [用户名]
相关推荐
TDengine (老段)几秒前
TDengine REST API 使用手册
大数据·数据库·物联网·restful·时序数据库·tdengine·涛思数据
扑火的小飞蛾5 分钟前
PostgreSQL 16.1 安装指南
数据库·postgresql
大猫子的技术日记5 分钟前
Redis 快速上手:5 分钟掌握核心能力
数据结构·数据库·redis·缓存·持久化·pub/sub
panzer_maus7 分钟前
Redis介绍(4)-认识Redis的事务
数据库·redis·缓存
zgl_200537798 分钟前
源代码:ZGLanguage 解析SQL数据血缘 之 显示 UPDATE SQL 结构图
大数据·数据库·数据仓库·hadoop·数据治理·sql解析·数据血缘
Jan123.11 分钟前
数据库性能优化实战:从索引到SQL的全维度进阶
数据库·sql·性能优化
翼龙云_cloud13 分钟前
亚马逊云渠道商:RDS 三大数据库引擎深度对比 MySQL/PostgreSQL/SQL Server 如何选?
数据库·mysql·postgresql·aws
言之。17 分钟前
【2025年度】编程大模型对比与总结
数据库
麦聪聊数据18 分钟前
金融级数据库运维的“零信任”实践:如何在合规与效率间寻找平衡点?
运维·数据库·后端·sql·金融
全栈小519 分钟前
【数据库】Oracle数据库迁移的深层痛点:兼容性、成本与隐性挑战
数据库·oracle