1、赋予用户LOAD权限的步骤
使用实例用户db2inst1登录数据库;
使用命令db2 update dbm cfg using sysadm_group dasadm1给管理员用户组dasadm1赋予SYSADM权限;
使用命令db2 connect to databaseName连接数据库;
使用命令db2 grant secadm on database to user dasusr1给管理员用户dasusr1赋予SECADM权限;
使用命令db2 disconnect pom_ct断开当前数据库的连接;
使用命令db2 connect to databaseName user dasusr1 using 123456使用管理员用户dasusr1连接数据库;
使用命令db2 grant load on database to user db2inst1赋予用户db2inst1 LOAD权限;
2、常见错误解决方式
错误码1 解决:SET INTEGRITY FOR table_name IMMEDIATE CHECKED
错误码3 解决:LOAD FROM *.txt OF DEL TERMINATE INTO 表名
3、临时禁用外键
共有三种方式
1)set integrity for table_name off
set integrity for table_name foreign key immediate unchecked
2)禁用:ALTER TABLE <table-name> ALTER FOREIGN KEY <constraint-name> NOT ENFORCED
启用:ALTER TABLE <table-name> ALTER FOREIGN KEY <constraint-name> ENFORCED
3)禁用:ALTER TABLE TABLENAME DISABLE CONSTRAINT CONSTRAINTNAME;
启用:ALTER TABLE TABLENAME ENABLE CONSTRAINT CONSTRAINTNAME;
4、错误清单及解决方式
1) [IBM][CLI Driver] SQL30081N 检测到通信错误。正在使用的通信协议:"TCP/IP"。正在使用的通信API:"SOCKETS"。检测到错误的位置:"172.16.2.140"。 检测到错误的通信函数:"connect"。协议特定的错误代码:"10060"、"*"、"*"。 SQLSTATE=08001
解决:
找到此C:/WINDOWS/system32/drivers/etc/路径下的hosts文件,并用记事本打开
在文件中添加你要连接的服务端主机的IP及 主机名:如127.0.0.1 localhost
2) 找不到数据库别名或数据库名称""或数据库别名 "" 已存在于本地数据库目录或系统数据库目录中。
解决:
db2 list database directory 查看系统数据库目录,看不到要找的数据库,表示该数据库不在系统数据库目录中
db2 list database directory on D:(在系统数据库目录找不到的情况下执行该指令,这里是盘符d),然后发现有sample和source的别名。说明在本地数据库目录中。
db2 catalog database 数据库名 on d: 将数据库编目到节点上
db2 drop database 数据库名 删除数据库