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 [用户名]
相关推荐
wefg115 分钟前
【MySQL】索引(索引底层原理/创建/查看/删除主键、普通、联合、前缀、全文索引)
数据库·mysql
风向决定发型丶5 小时前
redis集群搭建
数据库·redis·缓存
wei_shuo7 小时前
KES 扩展与插件开发实战:自定义函数、触发器与第三方插件集成
数据库·kes
风中芦苇啊7 小时前
从直接生成到受控配置:新一代图表Agent的SQL安全生成范式
数据库·sql·安全
吴声子夜歌8 小时前
SQL进阶——窗口函数
数据库·sql
周杰伦的稻香8 小时前
MySQL8.0+中引入的SET_USER_ID权限迭代SUPER权限指定 DEFINER
数据库·mysql
动恰客流统计8 小时前
客流统计如何结合AI分析?从传统计数到智能决策的技术升级路径
数据库·人工智能·边缘计算
宠友信息9 小时前
多端数据互通场景下Spring Boot仿小红书源码结构设计
数据库·spring boot·redis·缓存·架构
风曦Kisaki9 小时前
#Linux数据库管理Day06:主从同步与MaxScale读写分离
linux·运维·数据库
影寂ldy9 小时前
C# try-catch 异常处理全套笔记
服务器·数据库·c#