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 [用户名]
相关推荐
csdn_aspnet8 分钟前
Redis 入门:Windows、Mac安装指南
数据库·windows·redis·缓存·mac
山甫aa1 小时前
锁一篇搞定:乐观锁、悲观锁、CAS、数据库锁与分布式锁【从零开始的 Web 后端学习】
java·数据库·分布式·后端·学习·web
Nturmoils12 小时前
集中式与分布式怎么选:从订单读写看 KingbaseES 的架构边界
数据库
xiaomuzuirenzhen12 小时前
大专电子商务从事电商运营分析师需要考证吗?
大数据·数据库
翔云12345615 小时前
RocksDB中,客户端每写入一次数据,需要访问几次磁盘
运维·数据库·mysql
DevOpenClub15 小时前
职教高考控制线 API:招生类别枚举、筛选与空分数含义
java·数据库·高考
GeW16 小时前
新质生产力路线图解读:数据库性能优化与Linux调优专场
linux·数据库
在多学一点18 小时前
MYSQL第二次作业
android·数据库·mysql
Risehuxyc18 小时前
Microsoft.Data.Sqlite体验
数据库·sqlite
骑着蜗牛撵大象32718 小时前
MySQL 8.0 迁移后 SQL 变慢:执行计划里 3 类被忽略的成本差异
android·数据库·sql·mysql·优化器·执行计划