IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> [DB2]常见问题解决
猫猫草
post 2012-04-06 10:18:59, Fri
Post #1


猫猫猫
***

Group: Power Cat
Posts: 626
Joined: 2006-12-8
Member No.: 2



Operation not allowed for reason code "7" on table 原因码 "7"的解决

IBM 文档
http://publib.boulder.ibm.com/infocenter/d...c%2Fsql0668.htm

代码
对表进行任何操作都不被允许,提示SQLSTATE=57016 SQLCODE=-668 ,原因码 "7"的错误:SQL0668N Operation not allowed for reason code "7" on table XXX. 解决方法为:执行命令:reorg table XXX;即可。
参考原文为:
Operation not allowed for reason code reason-code on table table-name.
Explanation: Access to table table-name is restricted. The cause is based on the following reason codes reason-code: 7
    The table is in the reorg pending state. This can occur after an ALTER TABLE statement containing a REORG-recommended operation.7
    Reorganize the table using the REORG TABLE command (note that INPLACE REORG TABLE is not allowed for a table that is in the reorg pending state).
其中:
    reorg table <tablename> 通过重构行来消除“碎片”数据并压缩信息,对表进行重组。
   runstats on table <tbschema>.<tbname> 收集表 <tbname> 的统计信息。
   reorgchk on table all 确定是否需要对表进行重组,对于对所有表自动执行 runstats 很有用。
>>> reorg 和runstats 都是单个表优化,初始化的命令:
            runstats on table administrator.test;
           reorg table administrator.test;
Go to the top of the page
 
+Quote Post
猫猫草
post 2012-04-25 20:53:45, Wed
Post #2


猫猫猫
***

Group: Power Cat
Posts: 626
Joined: 2006-12-8
Member No.: 2



数据库和客户端代码页不同的解决

stackoverflow.com 问答链接
http://stackoverflow.com/questions/9829041...odepage-to-1208

引用
I have a db2 database with this charset options:

代码
db2 get db cfg for CORRETGE
    Database territory       = US
    Database code page       = 1208
    Database code set        = UTF-8

But when I connect to the database from a PHP 5.4.1.RC1 script with db2_connect(), I get this CONN_CODEPAGE:

代码
public 'APPL_CODEPAGE' => int 819
public 'CONN_CODEPAGE' => int 819

Database has 1208 (UTF-8 encoding of Unicode) codepage and the connection has 819 (ISO8859-1) codepage, and this provoque charset problems.

I don't know how to set 1208 as the CONN_CODEPAGE. Is there any way to do it?
引用
FIXED

Set the DB2CODEPAGE variable to 1208 with the command

代码
$ db2set DB2CODEPAGE=1208


and restart DB2

now db2_client_info() returns

代码
public 'APPL_CODEPAGE' => int 1208
public 'CONN_CODEPAGE' => int 1208


and the results are the expected :)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
9 User(s) are reading this topic (9 Guests and 0 Anonymous Users)
0 Members:

 



Lo-Fi Version Time is now: 2024-11-1 11:43