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 [用户名]
相关推荐
l1t4 小时前
DeepSeek总结的 pg_regresql插件:真正可移植的 PostgreSQL 统计信息
数据库·postgresql
oradh4 小时前
Oracle 11.2.0.1版本升级至11.2.0.4_单机环境
数据库·oracle·oracle11g·oracle升级
l1t4 小时前
用docker安装测试crate数据库
数据库·docker·容器·cratedb
anzhxu4 小时前
QT数据库(三):QSqlQuery使用
数据库·qt·oracle
身如柳絮随风扬4 小时前
MySQL核心知识
数据库·mysql
德彪稳坐倒骑驴4 小时前
Oracle 11g安装
数据库·oracle
韩立学长5 小时前
Springboot校园跑腿业务系统0b7amk02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
阿贵---5 小时前
使用XGBoost赢得Kaggle比赛
jvm·数据库·python
想七想八不如114085 小时前
数据库--样题复习
数据库·sql·oracle
551只玄猫5 小时前
【数据库原理 实验报告1】创建和管理数据库
数据库·sql·学习·mysql·课程设计·实验报告·数据库原理