当柳上原的风吹向天际的时候...

真正的快乐来源于创造

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  368 Posts :: 1 Stories :: 201 Comments :: 0 Trackbacks

2012年6月21日 #

人生转轨中,此博使命结束,今后停止更新此博。

何杨

2013年8月7日23:22:32
posted @ 2013-08-07 23:23 何杨| 编辑 收藏

加字段用这个,CS.TG表名,LINE2_TYPE字段名,CHAR(1)字段类型
ALTER TABLE CS.TG ADD COLUMN LINE2_TYPE CHAR(1);

要是加错了用以下语句删除:
alter table CS.TG drop column LINE2_TYPE;

删完了再更新或查询可能会遇到这个
DB2 sqlstate 57016 原因码 "7"

不用怕,也好解决
首先打开一个db2admin控制台
执行以下命令:
db2 connect to DBName user XXX 之后输入密码
然后输入:
db2 reorg table CS.TG
就OK了。

posted @ 2013-07-23 16:37 何杨 阅读(2509) | 评论 (0)编辑 收藏

// 首先与DB2数据建立连接(如:数据库名为dbname)
db2 connect to KOUE231 user ci2 using db2adin3

// 将del文件(如:数据文件名为T1.del,存放在c盘根目录下)导入到数据中指定的table中(如:table名为T1)
db2 import from c:\T1.del of del insert into T1
db2 import from c:\T2.del of del insert into T2
db2 import from c:\T3.del of del insert into T3
db2 import from c:\T4.del of del insert into T4
posted @ 2013-07-16 20:07 何杨 阅读(570) | 评论 (0)编辑 收藏

http://guanzhilibai.blog.163.com/blog/static/13587993201171953537784/

SQL3001C
打开输出文件时,发生 I/O 错误(原因 = 原因)。
SQL3002C
写入输出数据文件时,发生了 I/O 错误。
SQL3003C
关闭输出数据文件时,发生了 I/O 错误。
SQL3004N
filetype 参数无效。
SQL3005N
处理被中断。
SQL3006C
打开消息文件时,发生了 I/O 错误。
SQL3007C
写入消息文件时,发生了 I/O 错误。
SQL3008N
实用程序在连接到数据库时遇到了错误 错误。
SQL3009N
“操作字符串”参数无效或者太长。
SQL3010N
METHOD 参数无效。
SQL3011C
没有足够存储空间来处理此命令。
SQL3012C
发生了系统错误。
SQL3013N
filetmod 的长度超出可接受的范围。它应大于或等于 0 且小于或等于 8000。
SQL3014C
关闭消息文件时,发生了 I/O 错误。
SQL3015N
处理期间发生 SQL 错误 sqlcode。
SQL3016N
在文件类型的 filetmod 参数中找到意外的关键字 关键字。
SQL3017N
定界符无效,或使用多次。
SQL3018N
指定了句点作为字符串定界符。
SQL3019N
未在命令中指定“操作字符串”参数。
SQL3020N
用户无权运行指定的 Export 命令。
SQL3021N
用户无权对表 名称 运行指定的 Import 命令。
SQL3022N
处理“操作字符串”参数中的 SELECT 字符串时发生 SQL 错误 sqlcode。
SQL3023N
数据库名称参数无效。
SQL3024N
打开格式文件时,发生了 I/O 错误。
SQL3025N
指定文件名或路径的参数无效。
SQL3026N
msgfile 或 tempfiles 路径参数无效。
SQL3027N
读取格式文件时发生了 I/O 错误。
SQL3028N
导出方法指示符无效。它必须是“N”或“D”。
SQL3029N
未指定 filetype 参数。
SQL3030C
打开输入文件时,发生 I/O 错误(原因 = 原因)。
SQL3031C
读输入文件时,发生了 I/O 错误。
SQL3032N
LOAD/IMPORT 方法指示符对指定的文件类型无效。它必须是“N”、“P”或“缺省值”。
SQL3033N
目标规范中丢失诸如 INSERT、REPLACE、CREATE、 INSERT_UPDATE 或 REPLACE_CREATE 之类的关键字,或关键字拼写错误。
SQL3034N
目标规范中丢失关键字 INTO,或关键字拼写错误。
SQL3035N
目标规范中的 tablename 参数无效。
SQL3036N
目标规范中的 tcolumn-list 没有右圆括号。
SQL3037N
Import 处理期间发生 SQL 错误 sqlcode。
SQL3038N
“操作字符串”参数包含意外的字符。
SQL3039W
可供 DATA BUFFER 的 LOAD 使用的内存禁止完全 LOAD 并行性。将使用装入并行性 值。
SQL3040N
实用程序无法使用 选项名 参数中指定的文件名 文件名。原因码:原因码。
SQL3041N
指定的日期值在 Sybase 中不受支持。
SQL3042N
对 DATALINK 列指定的 LINKTYPE 无效。
SQL3043N
DATALINK 列的 DATALINK SPECIFICATION 无效。
SQL3044N
DATALINK 列的 DATALINK SPECIFICATION 带有重复的前缀规范。
SQL3045N
METHOD 参数中的 dcolumn 位置小于 1,或大于“定界”ASCII 码文件中的最大列数(1024)。
SQL3046N
METHOD 参数中的列数小于 1。
SQL3047N
METHOD 中指定的 LOAD/IMPORT 方法对“定界”ASCII 码文件无效。它必须是“P”或“缺省值”。
SQL3048N
输入文件中指定的列数比数据库的列数少,但其中一个数据库列不可为空。
SQL3049N
数据库列 名称 的数据类型 类型 与此格式文件不兼容,但数据库列不可为空。
SQL3050W
将在 IXF 文件代码页 文件代码页 与应用程序代码页 应用程序代码页 之间进行转换。
SQL3051W
已装入要装入 列名 中的数据,但是尚未执行从 IXF 文件代码页转换为应用程序代码页。
SQL3052N
缺少 类型 路径参数,但此参数是必需的。原因码:原因码。
SQL3053N
要导出至工作表格式文件的行数超过 8191。
SQL3054N
输入文件是无效的 PC/IXF 文件。该文件太短,无法包含有效的 H 记录。
SQL3055N
输入文件是无效的 PC/IXF 文件。不能将第一条记录中的长度字段转换为数值。
SQL3056N
输入文件是无效的 PC/IXF 文件。H 记录的长度字段中的值过小。
SQL3057N
输入文件是无效的 PC/IXF 文件。第一条记录中的输入字段不是 H。
SQL3058N
H 记录中的标识字段不是 IXF。
SQL3059N
H 记录中的版本字段无效。
SQL3060N
不能将 H 记录中的 HCNT 字段转换为数值,或其值超过范围。
SQL3061N
不能将 H 记录中的单字节和/或双字节代码页字段转换为数值,或值超出范围。
SQL3062N
不能将 H 记录中的双字节代码页字段转换为数值,或值超出范围。
SQL3063N
H 记录中的单字节代码页值 值-1 与应用程序的单字节代码页值 值-2 不兼容。未指定 FORCEIN 选项。
SQL3064N
H 记录中的双字节代码页值 值-1 与应用程序的双字节代码页值 值-2 不兼容。未指定 FORCEIN 选项。
SQL3065C
不能确定应用程序代码页的值。
SQL3066N
读取或寻找 T 记录时,到达文件末尾。
SQL3067N
不能将 T 记录中的长度字段转换为数值。
SQL3068N
T 记录的长度字段中的值太小。
SQL3069N
H 记录后的第一个非 A 记录不是 T 记录。
SQL3070N
A 记录中的长度字段超出范围。
SQL3071N
T 记录中的数据约定字段不是 C。
SQL3072N
T 记录中的数据格式字段不是 M。
SQL3073N
T 记录中的机器格式字段不是 PCbbb(其中 b = 空白)。
SQL3074N
T 记录中的数据位置字段不是 I。
SQL3075N
不能将 T 记录的 CCNT 转换为数值,或值超过范围。
SQL3076N
不能将 T 记录中的名称长度字段转换为数值,或值超过范围。
SQL3077N
T 记录中的 CCNT 字段中指定的 C 记录数 值 超过允许的最大值 最大值。
SQL3078N
不能将 A 记录中的长度字段转换为数值。
SQL3079N
不能将 C 记录中的长度字段转换为数值。
SQL3080N
C 记录的长度字段中的值太小。
SQL3081N
找不到足够的 C 记录。
SQL3082N
当读取或寻找 C 记录时,到达文件末尾。
SQL3083N
不能将列 名称 的 C 记录中的“D 记录标识”字段转换为数值。
SQL3084N
不能将列 名称 的 C 记录中的“D 记录位置”字段转换为数值。
SQL3085N
列 名称 的 C 记录中的“D 记录标识”和“D 记录位置”字段超出范围,或与前一个 C 记录不一致。
SQL3086N
未指定要装入数据库列 名称 的源列,或指定的源列不存在,但数据库列不可为空。
SQL3087N
指定要装入数据库列 名称 的源列无效,但该数据库列不可为空。
SQL3088N
指定要装入数据库列 名称 的源列与该数据库列不兼容,但数据库列不可为空。
SQL3089N
在期望 D 记录的地方找到非 D 记录。
SQL3090N
不能将 D 记录中的长度字段转换为数值。
SQL3091N
D 记录中的长度字段超出范围。
SQL3092N
D 记录中的标识字段未包含期望的值。
SQL3093N
输入文件是无效的 WSF 文件。
SQL3094N
找不到输入列 名称,但相对应的数据库列不可为空。
SQL3095N
指定的列位置 位置 不在有效范围 1 至 256 之内。
SQL3096N
数据库列 名称 的数据类型 类型 与任何 WSF 列类型都不兼容,但是该数据库列不可为空。
SQL3097N
WSF 记录中的记录长度字段对其记录类型无效。
SQL3098N
输入文件中的行号不在有效范围 1 至 8192 之内。
SQL3099N
输入文件中的列号不在有效范围 1 至 256 之内。
SQL3100W
输出 DEL 格式文件中的列号 列号(标识为 名称)长于 254 字节。
SQL3101W
第 行号 行的第 列号 列中有字符串定界符。
SQL3102W
METHOD 参数中的列数大于“操作字符串”(例如,“REPLACE into ...”)参数中的列数。
SQL3103W
METHOD 参数中的列数小于“操作字符串”(例如,“REPLACE into ...”)参数中的列数。
SQL3104N
EXPORT 实用程序 正在开始将数据导出至文件 名称。
SQL3105N
Export 实用程序已经完成导出 行数 行。
SQL3106N
格式化消息文件的消息时出错。
SQL3107W
消息文件中至少有一条警告消息。
SQL3108W
无法访问第 行号 行第 列号 列中的 DATALINK 值所引用的文件。原因码 = 原因码。
SQL3109N
实用程序正在开始从文件 名称 装入数据。
SQL3110N
实用程序已完成处理。从输入文件读了 数目 行。
SQL3111C
关闭输入数据文件时发生了 I/O 错误。
SQL3112W
指定的输入文件列数少于数据库列数。
SQL3113W
数据库列 名称 的数据类型 类型 与此格式文件不兼容。对该列插入了空值。
SQL3114W
未装入第 行号 行第 列号 列中 文本 后的某些数据。
SQL3115W
在第 行号 行第 列号 列中以 文本 开头的字段值比允许的最长表列还要长。该值被截断。
SQL3116W
第 行号 行第 列号 列中的字段值丢失,但是目标列不可为空。
SQL3117W
不能将第 行号 行第 列号 列中的字段值转换成 SMALLINT 值。装入了空值。
SQL3118W
不能将第 行号 行第 列号 列中的字段值转换成 SMALLINT 值,但目标列不可为空。未装入该行。
SQL3119W
不能将第 行号 行第 列号 列中的字段值转换成 INTEGER 值。装入了空值。
SQL3120W
不能将第 行号 行第 列号 列中的字段值转换成 INTEGER 值,但目标列不可为空。未装入该行。
SQL3121W
不能将第 行号 行第 列号 列中的字段值转换成 FLOAT 值。装入了空值。
SQL3122W
不能将第 行号 行第 列号 列中的字段值转换成 FLOAT 值,但目标列不可为空。未装入该行。
SQL3123W
不能将第 行号 行第 列号 列中的字段值转换成 PACKED DECIMAL 值。装入了空值。
SQL3124W
不能将第 行号 行第 列号 列中的字段值转换成 PACKED DECIMAL 值,但目标列不可为空。未装入该行。
SQL3125W
因为数据比目标数据库列长,所以第 行号 行第 列号 列中的字符数据被截断。
SQL3126N
远程客户机需要文件和目录的绝对路径。
SQL3128W
第 行号 行第 列号 列中包含 数据 的字段被截断为 DATE 字段,因为该数据比数据库列更长。
SQL3129W
已用空格填充了第 行号 行第 列号 列中包含 文本 的日期、时间或时间戳记字段。
SQL3130W
第 行号 行第 列号 列中包含 文本 的字段被截断为 TIME 字段,因为该数据比数据库列更长。
SQL3131W
第 行号 行第 列号 列中包含 文本 的字段被截断为 TIMESTAMP 字段,因为该数据比数据库列更长。
SQL3132W
列 列 中的字符数据将被截断成大小为 大小。
SQL3133W
第 行号 行第 列号 列中的字段包含无效的 DATALINK 值。装入了空值。
SQL3134W
第 行号 行第 列号 列中的字段包含无效 DATALINK 值,但目标列不可为空。未装入该行。
SQL3135N
METHOD 参数中的列数大于目标表中的列数。
SQL3137W
第 行号 行太短。至少丢失了一个已装入非可空列的输入值。未装入该行。
SQL3138W
在到达输入数据文件末尾之前,找不到结束字符串定界符。
SQL3139W
当实用程序与数据库断开连接时发生了错误 错误。
SQL3140W
不能将第 行号 行第 列号 列中的字段值转换成十进制浮点值。装入了空值。
SQL3141W
不能将第 行号 行第 列号 列中的字段值转换成十进制浮点值,但目标列不可为空。未装入该行。
SQL3142W
第 列号 列的列标题被截断为 240 字节。
SQL3143W
变长列 列号 的最大长度超过 240 字节这一限制。列的数据可能被截断。
SQL3144W
定长列 列号 的长度超过 240 字节这一限制。列的数据可能被截断。
SQL3145W
第 行号 行第 列号 列的数据被截断为 240 字节。
SQL3146N
第 行号 行第 列号 列的 DATE 或 TIMESTAMP 值超出范围。
SQL3147W
导出至工作表格式文件中的行超过 2048 行。
SQL3148W
未将输入文件中的行插入至表中。返回了 SQLCODE sqlcode。
SQL3149N
处理了输入文件中的 数值-1 行。已将 数值-2 行成功插入表中。拒绝了 数值-3 行。
SQL3150N
PC/IXF 文件中的 H 记录具有产品 产品,日期 日期 和时间 时间。
SQL3151N
因为指定了 FORCEIN 选项,所以将不执行从 H 记录中单字节代码页值 代码页 至应用程序 单字节代码页值 代码页 的数据转换。
SQL3152N
H 记录中的双字节代码页值 值 与应用程序的双字节代码页值 值 不兼容。因为指定了 FORCEIN 选项,所以将插入数据。
SQL3153N
PC/IXF 文件中的 T 记录具有名称 名称,限定符 限定符 和源 源。
SQL3154W
H 记录中的 HCNT 值与 T 记录中的 CCNT 值不兼容。将使用 T 记录中的 CCNT 值。
SQL3155W
列 名称 的 C 记录中名称长度字段无效。将不装入该列中的数据。
SQL3156W
列 名称 的 C 记录中的 NULL 字段无效。将不装入该列中的数据。
SQL3157W
列 名称 的 C 记录中的类型字段无效。将不装入该列中的数据。
SQL3158W
列 名称 的 C 记录中的单字节代码页字段无效。将不装入该列中的数据。
SQL3159W
列 名称 的 C 记录中的双字节代码页字段无效。将不装入该列中的数据。
SQL3160W
列 名称 的 C 记录中的列长度字段无效。将不装入该列中的数据。
SQL3161W
列 名称 的 C 记录中的精度字段无效。将不装入该列中的数据。
SQL3162W
列 名称 的 C 记录中的小数位字段无效。将不装入该列中的数据。
SQL3163W
浮点列 名称 的 C 记录中的列长度字段是空白。将使用值 00008。
SQL3164W
浮点列 名称 的 C 记录中的列长度字段无效。将不装入该列中的数据。
SQL3165W
列 名称 的 C 记录中的列类型字段 类型 无效。将不装入该列中的数据。
SQL3166W
未指定要装入 PC/IXF 列中的数据库列 名称,或者指定的 PC/IXF 列不存在。将插入空值。
SQL3167W
指定要装入到数据库列 名称 的 PC/IXF 列无效。将插入空值。
SQL3168W
指定要装入到数据库列 名称 的 PC/IXF 列与数据库列不兼容。将插入空值。
SQL3169N
FORCEIN 选项可用于支持 PC/IXF 列 名称 装入到数据库列 名称 中。
SQL3170W
在一行数据内到达文件末尾。未装入部分数据行。
SQL3171W
在列标题行中发现非标号记录。未处理该记录。
SQL3172W
找不到指定的输入列 名称。相应的数据库列将包含空值。
SQL3173N
对列 名称 插入的数据所包含的字符将总是比列宽少。
SQL3174W
数据库列 名称 的数据类型 类型 与任何 WSF 列类型都不兼容。将对此列插入空值。
SQL3175W
数据库行 行 列 列 的输入记录无效。
SQL3176W
WSF 文件中的第 行 行第 列 列的值超出日期值的范围。
SQL3177W
WSF 文件中第 行 行第 列 列的值超出时间值的范围。
SQL3178W
WSF 文件中数据库第 行号 行第 列号 列中的记录的类型对于表示时间值而言无效。
SQL3179W
输入文件中的行 行 丢失要插入到数据库中不可为空列的数据。未插入该行。
SQL3180W
将第 号码 张软盘插入驱动器 驱动器 中。
SQL3181W
在找到期望的结束记录之前,到达文件末尾。
SQL3182W
将第 号码 张软盘插入驱动器 驱动器 中。当前插入的软盘不是正确 的软盘,或延续软盘无效。
SQL3183W
filetmod 参数的多个定界符覆盖未由空白分隔。
SQL3184W
创建表时发生了 SQL 警告 SQLCODE。
SQL3185W
处理输入文件的第 行号 行中的数据时,发生前一个错误。
SQL3186W
未将数据装入数据库,因为日志已满或者耗尽了锁定空间。返回了 SQLCODE sqlcode。将尝试落实,如果落实成功,那么操作将继续。
SQL3187W
创建索引时出错。返回了 SQLCODE sqlcode。
SQL3188N
当擦除表的内容时出错。
SQL3189N
前一条消息涉及到具有列 列列表 的索引 名称。
SQL3190N
indexixt 选项对此 Import 操作无效。
SQL3191N
在第 行号 行第 列号 列中以 字符串 开头的字段与用户指定的 DATEFORMAT、TIMEFORMAT 或 TIMESTAMPFORMAT 不匹配。该行将被拒绝。
SQL3192N
在 filetmod 中,用户指定的以字符串 字符串 开头的格式 关键字 无效。
SQL3193N
不能更新指定的视图或具体化查询表。无法装入/导入(LOAD/IMPORT)至此视图,或者无法装入(LOAD)至此具体化查询表。
SQL3194N
指定的表是系统表。不能装入系统表。
SQL3195W
不能将驱动器 驱动器 中的软盘 编号 用于输出文件。插入 带有可写入的可用空间的格式化软盘。
SQL3196N
找不到输入文件。
SQL3197N
试图执行 Import 或 Export 的多个副本。
SQL3201N
指定的表不能被替换,因为有另一个表依赖于该表。
SQL3202N
LOAD 实用程序未能获取分区锁定。
SQL3203N
指定的目标不允许 INSERT_UPDATE 选项,因为它没有主键,或者所有列都在主键中。
SQL3204N
INSERT_UPDATE 选项可能不应用于视图。
SQL3205N
因为基本表有从属对象,所以指定的视图不能被替换。
SQL3206N
因为指定视图的定义涉及子查询,所以不能将其替换。
SQL3207N
提供了无效的表列表。原因码为 原因码。
SQL3208W
将数据从类型表导入常规表。
SQL3209N
带有 CREATE 选项的 Import 既不允许重命名子表名,也不允许重命名属性名。
SQL3210N
选项 选项 与 命令名 中的层次结构不兼容。
SQL3211N
LOAD 不支持类型表。
SQL3212N
对于带有 DATALINK 列的表或处于删除暂挂状态的表空间,当前不支持 LOAD 命令的 TERMINATE 选项。
SQL3213I
建立索引方式为 方式。
SQL3214N
LOAD 实用程序不支持延迟对带有唯一索引的表建立索引。
SQL3215W
当装入到表的 DMS 表空间中,而该表的索引对象与任何其他目标表的对象驻留在同一表空间中,且还指定了 COPY 选项时,LOAD 实用程序当前不支持 INCREMENTAL 建立索引方式。将改为使用 REBUILD 建立索引方式。
SQL3216W
表的索引对象在 LOAD 实用程序开始时与 INCREMENTAL 索引维护不兼容。此 LOAD 实用程序操作期间,不能执行按 INCREMENTAL 方式建立索引。将改为使用 REBUILD 建立索引方式。
SQL3217W
仅当使用 LOAD 来通过使用 INSERT INTO 操作追加数据时,才支持 INCREMENTAL 建立索引方式。当前 LOAD 操作是 操作。实用程序将使用建立索引方式 方式。
SQL3218C
LOAD 实用程序不能继续,因为它遇到了一个或多个破坏的索引文件。重新启动数据库并重新提交 LOAD 命令。
SQL3219N
LOAD 实用程序未能禁用对目标表的约束检查。
SQL3220W
在 目录名 目录中找不到卷 卷名。将该卷复制到此目录中,并继续 LOAD/IMPORT。
SQL3221W
...开始 COMMIT WORK。输入记录计数 = 计数。
SQL3222W
...对任何数据库更改的 COMMIT 都成功。
SQL3223N
未正确指定指向 参数 的类型指针的参数。
SQL3225N
RESTARTCOUNT 值或 SKIPCOUNT 值 值 大于文件中的行数(行数)。未装入任何行。
SQL3227W
记录标记 标记-1 指的是用户记录号 标记-2。
SQL3228N
对于带有 DATALINK 列的表,DEFERRED INDEXING 不受支持。
SQL3229W
第 行号 第 列号 列中的字段值无效。该行被拒绝。原因码:原因码。
SQL3230N
不支持从数据文件代码页 数据文件代码页 至数据类型 数据类型 的数据库代码页 数据库代码页 的代码页转换。
SQL3232W
写入文件 文件名 时出错。已改为使用 文件名。
SQL3233W
忽略了 XML 数据说明符(XDS)中的属性 属性名。原因码:原因码
SQL3234N
列 列号 的 XML 数据说明符(XDS)无效。属性名:属性名;字符号:字符号;原因码:原因码
SQL3235N
实用程序无法使用指定的 类型 的路径 路径名 参数。原因码:原因码。
SQL3236N
在 XMLVALIDATE 选项的 IGNORE 子句中指定了模式 模式名,但是 MAP 子句中的模式对的左边也存在该模式。
SQL3237N
所提供的 EXPORT 操作字符串无法与 XMLSAVESCHEMA 选项配合使用。原因码:原因码
SQL3238N
WSF 文件格式与 功能部件 不兼容。
SQL3239W
不会将模式信息包括在某些 XML 文档的 XDS 中。
SQL3240N
授权标识 授权标识 没有对受安全策略 策略名 保护的表运行实用程序所必需的 LBAC 凭证。
SQL3241W
在输入源中,第 行 行和第 列 列包含对目标表无效的安全标号。
SQL3242W
在输入源中,行 行 和列 列 包含对目标表无效的安全标号字符串。
SQL3243W
在输入源中,第 行 行和第 列 列中的安全标号字符串包含元素 元素,该元素不是安全标号组件 组件 的有效元素。
SQL3244W
在输入源中,行 行 和列 列 包含名为 安全标号名 的安全标号,但在保护目标表的安全策略 策略名 中找不到该安全标号。
SQL3245W
由于用户没有必需的 LBAC 凭证,因此无法将输入源中的行 行 和列 列 插入到目标表中。
SQL3250N
COMPOUND = 值 是无效的。原因码:原因码。
SQL3251N
在导入期间发生了多于 错误计数 个错误。
SQL3252N
LOAD METHOD 方法 选项与指定的文件格式不兼容。
SQL3253N
实用程序正在开始通过 SQL 语句 语句 来从数据库 数据库 装入数据。
SQL3254N
实用程序正在开始从数据库 数据库 中的表 模式.表名 装入数据。
SQL3255N
Load 实用程序在执行 SOURCEUSEREXIT 源用户出口 时出错。原因码为 原因。
SQL3256N
Load 实用程序在处理指定文件类型的数据时出错。
SQL3257N
Load 实用程序在处理指定文件类型中的数据时出错。原因码为 原因。在适用的时候,记录号是 记录号,列号是 列号。
SQL3260N
访问 LDAP 目录时,发生了意外错误。错误代码 = 错误代码。
SQL3261N
因为未指定必需的输入参数,所以 REGISTER LDAP 命令未成功完成。原因码 = 原因码。
SQL3262N
TCP/IP 服务名称 名称 无效。
SQL3263N
协议类型不受支持。
SQL3264N
未在 LDAP 中注册 DB2 服务器。
SQL3265N
LDAP 认证期间发生了意外错误。
SQL3266N
LDAP 用户密码不正确。
SQL3267N
授权标识 没有足够的权限来执行所请求的命令。
SQL3268N
LDAP 模式与 DB2 的当前发行版不兼容。
SQL3269N
因为 LDAP 服务器不可用,所以 DB2 无法访问 LDAP 目录中的信息。
SQL3270N
LDAP 用户的“专有名称”(DN)无效。
SQL3271N
未对当前登录用户定义 LDAP 用户的“专有名称”(DN)和/或密码。
SQL3272N
在 LDAP 目录中找不到节点 节点名。
SQL3273N
在 LDAP 目录中找不到数据库 数据库别名。
SQL3274W
已成功创建数据库。但是,未在 LDAP 目录中编目该数据库。SQLCODE = sqlcode。
SQL3275W
已成功删除数据库。但是,未在 LDAP 目录中取消编目该数据库。SQLCODE = sqlcode。
SQL3276N
得不到 LDAP 命名上下文。
SQL3277N
数据库 数据库别名 在 LDAP 目录中已存在。
SQL3278N
节点 节点 在 LDAP 目录中已存在。
SQL3279N
因为 LDAP 被禁用,所以命令未成功完成。
SQL3280N
尝试连接 DRDA 服务器失败。
SQL3281N
OSTYPE 参数无效。
SQL3282N
提供的凭证无效。
SQL3283W
成功更新了数据库管理器配置。然而,在 LDAP 目录中未更新协议信息。SQLCODE = sqlcode-值。
SQL3284N
nodetype 参数无效。
SQL3285N
因为不支持 LDAP,所以命令未成功完成。
SQL3300N
输入文件中的记录的顺序不正确。
SQL3301N
在输入文件的中间找到 BOF 记录。
SQL3302N
导入在任何数据前找到 EOF 记录。
SQL3303N
当在“操作字符串”参数中使用 CREATE 或 REPLACE_CREATE 关键字时,文件类型必须是 IXF。
SQL3304N
该表不存在。
SQL3305N
不能创建表,因为它已存在。
SQL3306N
当将行插入表时,发生 SQL 错误 sqlcode。
SQL3307N
METHOD 参数中的列数与“操作字符串”参数中的条目数不匹配,或者在 METHOD 参数中指定的列不存在。
SQL3308N
PC/IXF 列 名称 的代码页值与应用程序的代码页值不兼容。未指定 FORCEIN 参数。
SQL3309N
PC/IXF 文件中的列 名称 被定义为图形列。未指定 FORCEIN 参数。
SQL3310N
PC/IXF 文件中的列 名称 无效。
SQL3311N
此 PC/IXF 文件在 Import CREATE 方式下不受支持。原因码 = 原因码。
SQL3313N
磁盘已满。处理结束。
SQL3314N
A 记录中的日期和时间字段与 H 记录中的日期和时间字段不匹配。
SQL3315N
子类型为 C 的 A 记录中的卷字段无效。
SQL3316N
当关闭输入文件的一部分时,发生了 I/O 错误。
SQL3317N
filetmod 参数所指向的字符串包含冲突的信息。
SQL3318N
filetmod 参数中有重复关键字。
SQL3319N
创建表时发生 SQL 错误 sqlcode。
SQL3320N
filetmod 参数的关键字后面没有定界符或十进制小数点字符。
SQL3321C
未将数据导入数据库,因为日志已满或者耗尽了锁定空间。恢复不成功。返回了 SQLCODE sqlcode。
SQL3322N
发生操作系统信号量错误。
SQL3324N
列 名称 的类型为 类型,不识别该类型。
SQL3325W
第 行号 行中的所有列都是空值;WSF 数据文件将不包括该行。
SQL3326N
“操作字符串”参数中表名后面的列列表无效。
SQL3327N
发生系统错误(原因码 1 = 原因码-1 和原因码 2 = 原因码-2)。
SQL3330W
在第 行号 行中,字符字段的长度为奇数,但其目标数据库列为图形列。未装入该行。
SQL3331C
文件(或目录)的许可权设置不允许指定的访问。
SQL3332C
已达到最大打开文件数。
SQL3333C
文件或目录不存在。
SQL3334C
没有足够的存储器可用。
SQL3335C
文件系统已满。
SQL3337N
对服务器写数据时发生了 I/O 错误。
SQL3338N
读服务器上的临时消息文件时发生了 I/O 错误。
SQL3340N
未能对表的并行读访问执行装入。原因码 = 原因码。
SQL3341N
USE 选项提供了无效的表空间名。原因码 = 原因码。
SQL3342N
权限不够,无法使用 LOCK WITH FORCE 选项。
SQL3343N
在前滚失败的装入操作后不允许重新启动装入。
SQL3346N
忽略了 USE TablespaceName 选项。原因码 = 原因码。
SQL3400N
METHOD 中指定的方法对“非定界”ASCII 码文件无效。它必须是“L”(表示位置)。
SQL3401N
METHOD 中指定的方法对任何 filetype 均无效。
SQL3402N
对不可为空的列 名称 指定了起始/结束位置对,但两者的值均为零。
SQL3403N
用于插入到列 名称 中的起始/结束位置对无效。(开始 结尾)
SQL3404N
用于插入到列 名称 中的起始/结束位置对对数字无效。
SQL3405N
用于插入到列 名称 中的起始/结束位置对对日期无效。
SQL3406N
用于插入到列 名称 中的起始/结束位置对对时间无效。
SQL3407N
用于插入到列 名称 中的起始/结束位置对对时间戳记无效。
SQL3408W
用于插入到列 名称 中的起始/结束位置对定义了大于目标列的字段。数据可能被截断。
SQL3409W
用于插入到列 名称 中的起始/结束位置对定义了短于目标定长列的字段。将填充数据。
SQL3410N
用于插入到列 名称 中的起始/结束位置对对图形无效。
SQL3411W
第 行号 行第 列号 列中的字段值对图形列无效。插入了空值。
SQL3412W
第 行号 行第 列号 列中的字段值对图形列无效,但是目标列不可为空。 未插入该行。
SQL3413W
第 行号 行第 列号 列中的字段值对于目标列而言太短。插入了空值。
SQL3414N
找不到临时文件 文件名。
SQL3415W
未能将第 行号 行和第 列号 列中的字段值从输入数据文件的代码页转换为数据库的代码页。装入了空值。
SQL3416W
未能将第 行号 行和第 列号 列中的字段值从输入数据文件的代码页转换为数据库的代码页。未装入该行。
SQL3417N
开始结束位置对 对号 对代码页 代码页 无效。
SQL3418W
如果数据是使用 DB2 导出的,那么不应指定 NOCHARDEL 文件类型修饰符。提供此修饰符的目的是支持不具有字符定界符的供应商数据文件。
SQL3419W
供应商排序不支持指定的排序选项。将使用缺省 DB2 排序来继续 执行操作。
SQL3500W
在时间 时间戳记,实用程序在开始 阶段。
SQL3501W
由于禁用数据库正向恢复,因此表所驻留的表空间将不被置于备份暂挂状态。
SQL3502N
实用程序遇到了 数目 个警告,这超过了允许的最大警告数。
SQL3503W
实用程序已装入 行数 行,这等于用户指定的总行数。
SQL3504W
正在建立一致点。
SQL3505N
在 RECLEN 选项的 filetmod 中指定的长度不在有效范围 1 至 32767 之内。
SQL3506W
第 行号 行第 列号 列中空指示符中指定的值无效。将假设值为 'N'。
SQL3507N
对空指示符指定的列号不在有效范围 0 到 32767 之内,或空指示符参数无效。
SQL3508N
装入或装入查询期间,当访问类型为 文件类型 的文件或路径时出错。原因码:原因码。路径:路径/文件。
SQL3509W
实用程序已从表中删除了 数目 行。
SQL3510N
不能访问用于排序阶段的工作目录。
SQL3511W
第 行号 行第 列号 列中命名的文件找不到。装入了空值。
SQL3512W
找不到第 行号 行第 列号 列中命名的文件,但目标列不可为空。未装入该行。
SQL3513N
文件的代码页与数据库的代码页不匹配。不能装入此文件。
SQL3514N
发生了实用程序系统错误。函数代码:函数。原因码:原因码。错误代码:错误代码。
SQL3515W
在时间 时间戳记,实用程序已经完成了 阶段。
SQL3516N
实用程序未能按指定的那样重新启动 Load。
SQL3517N
从输入源读取了意外的记录。
SQL3518N
源中的数据与要装入的表不兼容。
SQL3519W
开始装入一致点。输入记录数 = 计数。
SQL3520W
“装入一致点”成功。
SQL3521N
未提供输入源文件 序号。
SQL3522N
当禁用日志保留和用户出口时,不能提供复制目标。
SQL3523W
消息文件中没有要检索的消息。原因码:返回码。
SQL3524N
选项 选项 具有无效值 值。
SQL3525N
选项-1 选项与 选项-2 选项不兼容。
SQL3526N
修饰符子句 子句 与当前装入命令不一致。原因码:原因码。
SQL3527N
FILETMOD 参数中对 CODEPAGE 选项指定的数字无效。
SQL3528W
可能将 CLP 命令中指定的定界符(列定界符、字符串定界符或小数点) 从应用程序代码页转换为数据库代码页。
SQL3529N
操作名称 操作在列 列号 中遇到不受支持的数据类型 数据类型。
SQL3530I
LOAD QUERY 实用程序正在分区 分区号 上监视 代理类型 进度。
SQL3531I
已发生 LOAD RESTART。
SQL3532I
Load 实用程序当前正处于 阶段 阶段。
SQL3533I
Load 实用程序当前正在构建第 编号 个索引(共 数值 个)。
SQL3534I
Load DELETE 阶段大概已完成 数值%。
SQL3535W
LOAD 命令参数 参数名 不再受支持;LOAD 实用程序将忽略它的值。
SQL3536N
系统临时表空间 表空间名 已满。
SQL3537N
执行 LOAD 实用程序期间,未能分配排序内存。
SQL3538N
因为多个 LOAD 正在使用同一临时文件路径,所以 LOAD QUERY 实用程序失败。
SQL3539N
因为至少已尝试了一次 LOAD TERMINATE,所以 LOAD RESTART 不能继续。
SQL3550W
第 行号 行第 列号 列中的字段值不是 NULL,但目标列已定义为 GENERATED ALWAYS。
SQL3551W
表至少包含实用程序将覆盖的一个 GENERATED ALWAYS 列。
SQL3600N
因为表 表名 是用户维护的具体化查询表或未处于设置完整性暂挂状态,所以 SET INTEGRITY 语句的 IMMEDIATE CHECKED 选项无效。
SQL3601W
该语句导致一个或多个表自动置于设置完整性暂挂状态。
SQL3602W
检查数据处理找到约束违例,并将它们移至异常表。
SQL3603N
通过 SET INTEGRITY 语句来检查数据处理时,发现涉及名为 名称 的约束或唯一索引的完整性违例。
SQL3604N
与 SET INTEGRITY 语句或 LOAD 实用程序中的表 表名 相对应的 异常表 异常表名 的结构不正确、此异常表已用唯一索引、约束、生成列或触发器定义,或者它处于设置完整性暂挂状态,或者它属于无效类型。原因码为 原因码。
SQL3605N
在 SET INTEGRITY 语句中指定的表 表名 未列示出来以进行检查,或者该表是指定了多次的异常表。
SQL3606N
检查的表数目与在 SET INTEGRITY 语句中指定的异常表数目不匹配。
SQL3608N
当父表或基础表 父表名 处于设置完整性暂挂状态或将使用 SET INTEGRITY 语句将其置于设置完整性暂挂状态时,不能使用 SET INTEGRITY 语句检查从属表 从属表名。
SQL3700W
设备 设备 已满。有 活动设备 个活动设备。请安装新介质,或执行适当的操作。
SQL3701W
指定了 lobpaths 参数,但此表未包含任何 LOB 或 Long 数据。此参数将被忽略。
SQL3702W
警告。接收到设备 设备 的 SQLCODE sqlcode。卸装将尝试在 没有此设备的情况下继续。
SQL3703W
已卸装并发送了类型为 类型 的总页数 yyy 中的 xxx 页,以便将它们写入目标介质。
SQL3704N
指定的 num_buffers 参数无效。
SQL3705N
指定的缓冲区大小参数无效。必须将缓冲区大小指定为 0,或在 8 和 250000 之间(包括 8 和 250000)。对于多个缓冲区,缓冲区总大小不能超过 250000。
SQL3706N
在 路径/文件 上遇到磁盘满错误。
SQL3707N
指定的排序内存大小参数 大小-1 无效。需要的最小大小为 大小-2。
SQL3783N
打开复制位置文件时出错。打开文件错误代码是 错误代码。
SQL3784W
在读复制位置文件时遇到无效数据。故障发生在第 行号 行处,错误类型是 错误类型。
SQL3785N
因为错误 sqlcode,所以在节点 节点号 上的时间 时间戳记 表 模式.表名 的装入恢复失败,更多信息 更多信息。
SQL3798W
为了继续装入恢复,对参数 参数 使用了无效值来调用前滚恢复 API。
SQL3799W
由于警告 sqlcode,因此在节点 节点号 上时间 时间戳记 表 模式.表名 的装入恢复暂挂,更多信息 更多信息。
SQL3802N
遇到无效停顿方式 停顿方式。
SQL3804N
索引无效。
SQL3805N
应用程序的状态或指定表的一个或多个表空间的状态禁止 loadapi 操作或 quiescemode 操作。原因码 =原因码。
SQL3806N
对于要装入的表,并非所有表约束都已关闭。
SQL3807N
实例或数据库 名称 停顿被暂挂。
SQL3808N
实例或数据库 名称 取消停顿被暂挂。
SQL3901N
发生了非严重系统错误。原因码为 原因码。
SQL3902C
发生了系统错误。不能进行进一步的处理。原因码 = 原因码。
SQL3910I
同步会话成功完成。
SQL3911I
测试同步会话成功完成。
SQL3912I
STOP 成功完成。
SQL3913I
已发出 STOP,但当前没有活动的同步会话。
SQL3914I
已发出用户中断。同步会话成功停止。
SQL3915I
在将结果上载至卫星控制服务器之前,发出了用户中断。将在 下一同步会话期间上载结果。
SQL3916I
接收到 STOP 请求。同步会话成功停止。
SQL3917I
在将结果上载至卫星控制服务器之前,接收到 STOP 请求。将在 下一同步会话期间上载结果。
SQL3918I
成功获取同步进度信息。
SQL3919I
在卫星可联系到卫星控制服务器之前,接收到 STOP 请求。同步成功停止。
SQL3920I
此卫星上的应用程序版本与可用于此卫星的组的应用程序版本不兼容。同步不能发生。
SQL3921I
在卫星控制服务器上,此卫星被禁用。同步不能发生。
SQL3930W
没有要执行的同步脚本。
SQL3931W
测试同步会话成功完成。但是,在卫星控制数据库中找不到卫星标识。
SQL3932W
测试同步会话成功完成。然而,卫星应用程序版本不是在 本地设置的,或者在卫星控制服务器上,此卫星的组不存在卫星应用程序版本。
SQL3933W
测试同步会话成功完成。但是,卫星的发行版级别不 受卫星控制服务器的发行版级别支持。
SQL3934W
测试同步会话成功完成。但是,在卫星控制服务器上,此卫星被禁用。
SQL3935W
测试同步会话成功完成。但是,在卫星控制服务器上,此卫星处于故障状态。
SQL3936W
没有进度信息可用。
SQL3937W
此卫星的应用程序版本与可用于此卫星的组的应用程序版本不匹配。
SQL3938W
脚本执行期间发出中断。同步会话已停止,但卫星可能处于不一致状态。
SQL3942I
已成功设置卫星的同步会话标识符。
SQL3943N
同步会话标识符超过最大长度(长度 个字符)。
SQL3944I
已成功复位卫星的同步会话标识符。
SQL3945I
成功检索到卫星的同步会话标识符。
SQL3946N
同步会话标识符操作失败。
SQL3950N
有同步会话活动。最多只能有一个同步会话处于活动状态。
SQL3951N
在本地找不到卫星标识。
SQL3952N
在卫星控制服务器上找不到卫星标识。
SQL3953N
在卫星控制服务器上,此卫星已被禁用。
SQL3954N
在卫星控制服务器上,此卫星处于故障状态。
SQL3955N
找不到卫星控制数据库名称或它的别名。
SQL3956N
此卫星的应用程序版本不是在本地定义的。
SQL3957N
由于通信故障而不能与卫星控制数据库连接:SQLCODE=sqlcode,SQLSTATES=sqlstate,Tokens=标记-1,标记-2,标记-3。
SQL3958N
同步会话期间出错:SQLCODE=sqlcode,SQLSTATES=sqlstate,Tokens=标记-1,标记-2,标记-3。
SQL3959N
由于通信故障而不能启动同步会话:SQLCODE=sqlcode,SQLSTATES=sqlstate,Tokens=标记-1,标记-2,标记-3。
SQL3960N
由于通信故障而不能将结果上载到卫星控制服务器:SQLCODE=sqlcode,SQLSTATES=sqlstate,Tokens=标记-1,标记-2,标记-3。
SQL3961N
不能对卫星控制服务器进行认证。
SQL3962N
由于数据库错误而未能启动同步:SQLCODE=sqlcode,SQLSTATES=sqlstate,Tokens=标记-1,标记-2,标记-3。
SQL3963N
因为数据库错误而不能上载结果:SQLCODE=sqlcode,SQLSTATES=sqlstate,Tokens=标记-1,标记-2,标记-3。
SQL3964N
因为卫星的发行版级别不受卫星控制服务器支持,所以同步失败。
SQL3965N
由于卫星控制服务器故障而不能下载同步脚本:SQLCODE=sqlcode,SQLSTATES=sqlstate,Tokens=标记-1,标记-2,标记-3。
SQL3966N
同步会话失败。原因码为 原因码。
SQL3967N
不能检索进度信息。
SQL3968N
因为脚本故障,所以同步未能成功完成。然而,结果被成功地 发送到了卫星控制服务器。
SQL3969N
因为在脚本执行期间接收到中断,所以同步失败。
SQL3970N
同步会话失败:SQLCODE sqlcode,SQLSTATE sqlatate。在位置 位置 检测到该错误。
SQL4001N
第 行 行上的列 列 中的字符 字符 无效。
SQL4002N
标记-1 和 标记-2 是未声明的主变量,两者都不能在单一 SQL 语句中用作描述符。
SQL4003N
第 行号 行上的 SQL 语句不受此版本的预编译器支持。
SQL4004N
程序包名无效。
SQL4005N
在第 行 行上,从位置 位置 开始找到无效标记 标记。
SQL4006N
结构嵌套层次太多。
SQL4007N
主结构 主结构 没有字段。
SQL4008N
即使在完全限定的情况下,也不能唯一地引用主变量 名称。
SQL4009N
数据长度表达式无效。
SQL4010N
“复合 SQL”语句的嵌套非法。
SQL4011N
“复合 SQL”语句中有无效 SQL 子语句。
SQL4012N
“复合 SQL”语句中有对 COMMIT 的无效使用。
SQL4013N
找到 END COMPOUND 语句,但前面没有 BEGIN COMPOUND 语句。
SQL4014N
复合 SQL 语法无效。
SQL4015N
预处理期间出错。
SQL4016N
找不到指定的预处理器。
SQL4017W
预处理已成功完成。
SQL4018W
开始处理预处理文件 预处理文件。
SQL4019W
完成处理预处理文件 预处理文件。
SQL4020N
'long' 主变量 标记-1 无效。转而使用“sqlint32”。
SQL4100I
标志程序使用 sqlflag-type SQL 语言语法来进行语法检查。
SQL4102W
在以文本 文本 开始的标记处发生 SQL 语法违规。
SQL4103W
数据定义语句不在 CREATE SCHEMA 语句中。
SQL4104W
有非标准嵌入式注释。
SQL4105W
发生 SQL 语法偏差。该语句不完整。
SQL4106W
标识符 标识符 多于 18 个字符。
SQL4107W
列 列 具有无效的长度、精度或小数位属性。
SQL4108W
指示符变量具有非精确数字数据类型,或带有非零小数位。
SQL4109W
SET FUNCTION SPECIFICATION 引用列 列。
SQL4110W
包含 列 的 VALUE EXPRESSION 不能包括运算符。
SQL4111W
COLUMN REFERENCE 丢失,或对 ALL 列函数 函数 无效。
SQL4112W
列 列 不唯一,需要限定。
SQL4113W
VALUE EXPRESSION 不能包含 SET FUNCTION SPECIFICATION。
SQL4114W
列 列 未标识当前作用域中的表列。
SQL4115W
包含 OUTER REFERENCE 列 列 的列函数不在 HAVING 子句的子查询中。
SQL4116W
SUM 或 AVG 函数的结果不能是字符串。
SQL4117W
运算符 运算符 在此上下文中无效。
SQL4118W
exptype EXPRESSION 正在比较不兼容的数据类型。
SQL4119W
LIKE 谓词中的操作数不是字符串。
SQL4120W
ESCAPE 字符必须是单字节字符串。
SQL4121W
WHERE 子句、GROUP BY 子句或 HAVING 子句对分组视图 模式名.视图 无效。
SQL4122W
模式名.名称 在 FROM 子句中出现多次。
SQL4123W
对于分组视图,FROM 子句中只允许引用一个表。
SQL4124W
在 WHERE 子句中,对从列函数派生的列 列 的引用无效。
SQL4125W
当 WHERE 子句带有列函数时,HAVING 子句必须包含 WHERE 子句。
SQL4126W
列 的 COLUMN REFERENCE 必须是 OUTER REFERENCE。
SQL4127W
列 列 在当前作用域内重复。
SQL4128W
列名 的 COLUMN REFERENCE 应该是分组列,或者应在列函数中指定。
SQL4129W
使用值为 * 的 SELECT LIST 时,表 模式名.表 的 DEGREE 应是 1。
SQL4130W
列函数对以表 模式名.表 开始的 TABLE EXPRESSION 无效。
SQL4131W
列 的 COLUMN REFERENCE 无效。
SQL4132W
多次指定 DISTINCT。
SQL4133W
COMPARISON PREDICATE 子查询不能包含 GROUP BY 或 HAVING 子句。
SQL4134W
COMPARISON PREDICATE 子查询不能标识分组视图。
SQL4135W
存在无效的 AUTHORIZATION IDENTIFIER 授权标识。
SQL4136W
表或视图 模式名.名称 已存在。
SQL4137W
COLUMN DEFINITION 丢失。
SQL4138W
目标的数据类型 类型-1 与源的数据类型 类型-2 不兼容。
SQL4139W
必须对 模式名.表 指定 VIEW COLUMN LIST。
SQL4140W
发生错误,导致标志程序停止。模块名 = 模块名。内部错误代码 = 错误代码。
SQL4141W
试图在模块 模块名 中生成消息 消息号 时出错。
SQL4142W
没有足够内存用于标志程序操作。内部错误代码 = 错误代码。
SQL4143W
释放标志程序内存时出错。内部错误代码 = 错误代码。
SQL4144W
在模块 模块名 中调用 FLAGGER 时发生内部错误。内部错误代码 = 错误代码。
SQL4145W
FLAGGER 访问系统目录期间出错。加标志操作仍然继续,以便只检查语法。SQLCODE = nnnSQLERRP = modname SQLERRD1 = nnn 创建程序 = 创建程序名 表 = 表名。
SQL4146W
发生内部错误导致,导致语义处理停止。模块名 = 模块名。内部错误代码 = 错误代码。
SQL4147W
无效标志程序版本号。
SQL4170W
必须将 列号 列声明成 NOT NULL。
SQL4171W
查看的表 模式名.表 必须是可更新的。
SQL4172W
列名数无效。
SQL4173W
在关闭游标 游标 之前,必须先对其进行声明。
SQL4174W
已声明游标 游标。
SQL4175W
在此上下文中,只有 * 或列名才有效。
SQL4176W
由以 模式名-1.表-1 开头的 QUERY EXPRESSION 和以 模式名-2.表-2 开头的 QUERY TERM 标识的表的描述必须相同。
SQL4177W
SORT SPECIFICATION 号码 在游标 游标 的 DEGREE 之外。
SQL4178W
表 模式名.表 是只读表。
SQL4179W
一定不能在 SEARCH CONDITION 中包含的任何子查询的 FROM 子句中标识表 模式名.表。
SQL4180W
表 模式名-1.表-1 不是在 DECLARE CURSOR 语句中指定的第一个表 模式名-2.表-2。
SQL4181W
TARGET SPECIFICATION 的数目与游标 游标 的 DEGREE 不匹配。
SQL4182W
INSERT 语句的目标表 模式名.表 也在 FROM 子句或子查询中。
SQL4183W
指定的列数与指定的值的数目不匹配。
SQL4184W
指定的列数与以表 模式名.表 开始的 QUERY SPECIFICATION 的 DEGREE 不匹配。
SQL4185W
在列 列 与 INSERT 或 UPDATE 项目之间,存在数据类型或长度不匹配。
SQL4186W
不能在此上下文中使用 GROUP BY 或 HAVING 子句,或标识分组视图。
SQL4187W
SELECT LIST 中指定的元素数应该与 SELECT TARGET LIST 中的元素数相匹配。
SQL4188W
UPDATE 语句的 SET 子句不允许列函数。
SQL4189W
不能对“非 NULL”列 列 指定 NULL。
SQL4190W
引用不识别的数据类型的主变量。该主变量位置是 位置。
SQL4191W
不识别 列名 列的数据类型。
SQL4192W
在目录中找不到表 模式名.表。
SQL4300N
未在此平台上安装或正确配置 Java 支持。
SQL4301N
Java 或 .NET 解释器启动或通信失败,原因码为 原因码。
SQL4302N
过程或用户定义的函数 名称(特定名称 特定名称)由于异常 字符串 而异常终止。
SQL4303N
Java 存储过程或用户定义的函数 名称,特定名称 特定名称 不能由外部名 字符串 来标识。
SQL4304N
Java 存储过程或用户定义的函数 名称(特定名称 特定名称)不能装入 Java 类 类,原因码为 原因码。
SQL4306N
Java 存储过程或用户定义的函数 名称(特定名称 特定名称)不能调用 Java 方法 方法,特征符为 字符串。
SQL4400N
授权标识 无权在 DB2 管理服务器上执行管理任务。
SQL4401C
DB2 管理服务器在启动期间遇到错误。
SQL4402W
DB2ADMIN 命令成功。
SQL4403N
命令的语法无效。
SQL4404N
DB2 管理服务器不存在。
SQL4405W
DB2 管理服务器已存在。
SQL4406W
已成功启动 DB2 管理服务器。
SQL4407W
已成功停止“DB2管理服务器”。
SQL4408N
因为 DB2 管理服务器是活动的,所以未将其删除。
SQL4409W
DB2 管理服务器已是活动的。
SQL4410W
DB2 管理服务器不是活动的。
SQL4411N
因为服务器实例不是 DB2 管理服务器,所以不允许请求的操作。
SQL4412N
DB2 管理服务器的登录用户帐户无效。
SQL4413W
用法:DB2ADMIN 创建、删除、启动或停止 DB2 管理服务器。
SQL4414N
DB2 管理服务器不是活动的。
SQL4701N
已超出最大分区数(最大数目)。
SQL4702N
由应用程序句柄 应用程序句柄、工作单元标识 工作单元标识 和活动标识 活动标识 所标识的活动不存在。
SQL4703N
无法取消由应用程序句柄 应用程序句柄、工作单元 工作单元标识 和活动标识 活动标识 所标识的活动。原因码 = 原因码。
SQL4704N
只能对数据库或服务超类 数据库或服务超类名称 定义一个工作操作集。
SQL4705N
在映射工作操作 工作操作名称 中指定的服务子类不能是缺省服务子类。
SQL4706N
对工作类 工作类名称 指定的范围无效。
SQL4707N
工作负载 工作负载名称 不能处理请求,因为该工作负载无权访问数据库或已被禁用。
SQL4708N
目前,此工作单元仅允许 COMMIT 或 ROLLBACK 语句。
SQL4709N
不能从工作负载 工作负载名称 的定义中删除最后一个连接属性。
SQL4710N
不能删除工作负载 工作负载名称,因为它未被禁用、出现了活动的工作负载或者具有相关联的阈值。
SQL4711N
不能删除阈值 阈值名称。该阈值未被禁用,阈值队列不为空,或者活动正在该阈值的控制下运行。
SQL4712N
已超过阈值 阈值名称。原因码 = 原因码。
SQL4713N
已超过数据库或服务超类的最大服务类数目。无法创建服务类 服务类名称。
SQL4714N
请求无法执行,因为服务类 服务类名称 已被禁用。
SQL4715N
无法在缺省服务类下创建服务子类。
SQL4716N
与外部工作负载管理器进行通信时出错。
SQL4717N
无法删除服务类 服务类名称,因为它包含子类、相关联的工作负载、工作操作集、工作操作、连接、活动或阈值,未被禁用或者是缺省服务类。原因码 = 原因码。
SQL4718N
缺省服务类 服务类名称 无法按照指定方式进行改变或关联。原因码 = 原因码。
SQL4719N
PREVENT EXECUTION 工作操作 工作操作名称 已应用于该活动,因此该活动未运行。
SQL4720N
指定的工作操作类型对于工作操作 工作操作名称 无效。原因码为 原因码。
SQL4721N
无法创建阈值 阈值名称(原因码 = 原因码)。
SQL4722W
阈值未创建,因为已存在某个具有匹配定义的阈值 对象名。
SQL4723N
已经对连接属性 连接属性 定义值 连接属性值,或者检测到该值重复。
SQL4724N
值 连接属性值 无法删除,因为它不是对连接属性 连接属性 定义的。
SQL4725N
已取消该活动。
SQL4728W
您对用户定义的服务类指定的优先级设置高于缺省系统服务类的优先级设置。
SQL4901N
由于先前的错误,需要重新初始化“预编译器服务”。
SQL4902N
函数 函数 的参数 n 中至少有一个字符无效。
SQL4903N
函数 名称 的参数 n 的长度无效。
SQL4904N
函数 函数 的参数 n 的指针无效。
SQL4905N
函数 函数 的参数 n 的值超出有效范围。
SQL4906N
对于前滚操作,指定的表空间名的列表是不完整的集合。
SQL4907W
已恢复数据库 名称,但是前滚操作包括的表空间列表中一个或多个表处于设置完整性暂挂状态。
SQL4908N
对数据库 名称 的前滚恢复指定的表空间列表在节点 节点列表 上无效。
SQL4909W
已成功完成前滚恢复,但是有一个或多个表空间使它们的表置于 DRP/DRNP 状态。检查管理通知日志,以了解有关节点 节点列表 的详细信息。
SQL4910N
溢出日志路径 日志路径 无效。
SQL4911N
主变量数据类型无效。
SQL4912N
主变量数据长度超出范围。
SQL4913N
已经使用了主变量标记标识。
SQL4914N
主变量标记标识无效。
SQL4915N
已调用“sqlainit”函数。
SQL4916N
尚未调用“sqlainit”函数。
SQL4917N
选项数组中的元素 号码 无效。
SQL4918N
函数“sqlainit”的 term_option 参数无效。
SQL4919N
函数“sqlacmpl”的 task_array 参数太小。
SQL4920N
函数“sqlacmpl”的 token_id_array 参数太小。
SQL4921N
由于所有数据库分区上当前正在进行先前的时间点恢复,因此前滚命令失败。
SQL4930N
绑定或预编译选项或选项值 选项名 无效。
SQL4940N
子句 子句是不允许的或者是必需的。
SQL4941N
SQL 语句为空白或是空的。
SQL4942N
该语句在主变量 名称 中选择了不兼容的数据类型。
SQL4943W
INTO 子句中的主变量数与 SELECT 子句中的项数不相等。
SQL4944N
更新或插入值是 NULL,但对象列不能包含空值。
SQL4945N
参数标记的使用无效。
SQL4946N
未定义游标或语句名 名称。
SQL4947W
遇到了 INCLUDE SQLDA 语句,但被忽略。
SQL4950N
包含用户定义的 SQLDA 的复合 SQL 语句在此环境中不受支持。
SQL4951N
函数 名称 的 sqlda_id 参数无效。
SQL4952N
函数 名称 的 sqlvar_index 参数无效。
SQL4953N
函数 名称 的 call_type 参数无效。
SQL4954N
函数 名称 的 section_number 参数无效。
SQL4970N
在数据库分区 数据库分区列表 上,对数据库 名称 执行的前滚恢复操作无法到达指定的停止点(日志末尾或时间点)。前滚恢复操作在处理日志文件 日志文件 时停止。
SQL4971N
先前停止时对节点 节点号 上的数据库 名称 的前滚恢复失败。必须停止前滚恢复。
SQL4972N
不能将节点节点号上的日志数据块数据块移至数据库日志路径。
SQL4973N
不能完成对数据库 名称 的正向恢复,因为节点 节点列表 上的日志信息与目录节点上的相应记录不匹配。
SQL4974W
ROLLFORWARD DATABASE QUERY STATUS 命令遇到了 sqlcode sqlcode。
SQL4975W
成功地取消了前滚操作。必须在节点 节点列表 上复原数据库或选择的表空间。
SQL4976N
不能在非目录节点上提交此命令。
SQL4977N
已删除表导出目录 目录 无效。
SQL4978N
不能访问已删除的表。
SQL4979W
无法导出已删除的表数据。
SQL4980N
在数据库 名称 上的恢复在数据库分区 数据库分区号 上遇到损坏的日志文件 日志文件。
SQL4981W
从已删除的表中导出了数据,但是,包含一个或多个数据分区的表空间未包括在前滚列表中。这些数据分区的数据将不会存在于导出目录中。
SQL4990N
SQL 语句中最多支持 数字 个文字。每个文字的长度最多为 值 字节。
SQL4994N
由于用户中断请求使得预编译结束。
SQL4997N
授权标识无效。
SQL4998C
应用程序状态出错;数据库连接已丢失。
SQL4999N
发生“预编译器服务”或“运行时服务”错误。
SQL5001N
授权标识 无权更改数据库管理器配置文件。
SQL5005C
系统错误。
SQL5010N
到数据库管理器配置文件的路径名无效。
SQL5012N
主变量 主变量 不是一个精确的数字数据类型。
SQL5018N
数据库管理器配置文件中,关于与工作站的最大远程连接数的条目(numrc)不在有效范围内。
SQL5020N
数据库管理器配置文件中,关于工作站的节点名的条目(nname)无效。
SQL5021N
在数据库管理器配置文件中,索引重新创建参数(INDEXREC)的输入值无效。
SQL5022N
在数据库配置文件中,索引重新创建参数(INDEXREC)的输入值无效。
SQL5025C
数据库管理器配置文件不是当前的。
SQL5028N
sysadm_group 的值必须是实例所有者的主组。
SQL5030C
发行版号无效。
SQL5035N
数据库要求迁移至当前发行版。
SQL5040N
另一进程正使用 TCP/IP 服务器支持所必需的其中一个套接字地址。
SQL5042N
其中一个通信协议服务器支持进程未能启动。
SQL5043N
对一个或多个通信协议的支持未能成功启动。 但是,成功启动了核心数据库管理器功能。
SQL5047C
没有足够内存来执行此功能。
SQL5048N
数据库服务器的发行版级别不支持数据库客户机的发行版级别。
SQL5050C
数据库管理器配置文件的内容无效。
SQL5051N
不能以模式 模式名 创建由 限定符 限定的对象。
SQL5055C
数据库配置文件的内容无效。
SQL5060N
指定的配置参数标记无效。
SQL5061N
将指向结构 sqlfupd 的无效指针传送给了“配置服务”。
SQL5062N
在 sqlfupd 结构中,将无效指针传送给了“配置服务”。
SQL5065C
数据库管理器配置文件中的节点类型值无效。
SQL5066W
已截断标记 标记名称 的数据库配置参数值。
SQL5070N
配置命令中的 count 参数无效。它必须大于 0。
SQL5075N
配置实用程序被中断。
SQL5076W
更新成功完成。 NOTIFYLEVEL 的当前值将导致某些运行状况监视器通知不被发送至通知日志。
SQL5077N
此服务器发行版的“配置顾问程序”不支持参数 参数。支持的参数包括 支持的参数。
SQL5081N
数据库配置文件中,关于缓冲池大小的条目(buffpage)不在有效范围内。
SQL5083N
数据库配置文件中,关于初始日志文件大小的条目(logfile)不在有效范围内。
SQL5091N
在数据库配置文件中,关于一个日志文件扩展大小的条目(logext)不在有效范围内。
SQL5092N
在数据库配置文件中,关于允许的最大日志文件扩展数(logmaxext)的条目不在有效范围内。
SQL5093N
数据库管理器配置文件中用于表示代理进程堆大小的条目不在有效范围之内。
SQL5099N
由数据库配置参数 参数 指示的值 值 无效,原因码为 原因码。
SQL5100N
数据库管理器配置文件中,关于允许的并发数据库数的条目太大。
SQL5101N
数据库配置文件中定义日志文件参数(logprimary 和 logsecond)的条目不在有效范围内。
SQL5102E
产品的版本 版本名 不支持 DB2 工作负载管理器(WLM)。
SQL5103N
数据库配置文件中,关于缓冲池大小的条目(buffpage)对最大活动应用程序数(maxappls)而言太小。
SQL5112N
配置参数 参数 的值必须是 0 或 1。
SQL5113N
不能对 Unicode 数据库更新 ALT_COLLATE。
SQL5120N
不能同时修改旧的和新的日志参数。
SQL5121N
数据库配置文件中,关于配置选项的条目无效。
SQL5122N
对数据库的访问因与机器有关的检查而无效。
SQL5123N
因为访问日志控制文件时发生 I/O 错误,所以不能配置数据库 名称。
SQL5124N
DB2 未能更新或复位一个或多个分区上的数据库配置。原因码为 原因码。
SQL5126N
试图修改数据库管理器配置参数 参数,此参数对节点类型 节点类型代码 无效。
SQL5130N
为配置参数 参数 指定的值不在有效范围 起始范围 到 结束范围 内。
SQL5131N
为配置参数 参数 指定的值不在有效范围内。有效范围是“-1”,或从 起始范围 到 结束范围 之间。
SQL5132N
配置参数 参数 为 NULL 或太长。最大长度是 最大长度。
SQL5133N
配置参数 参数 的值 值 无效。有效值集合是 值列表。
SQL5134N
配置参数 tpname 包含无效字符。
SQL5135N
maxlocks 和 maxappls 配置参数的设置值未使用所有锁定列表空间。
SQL5136N
数据库管理器配置文件中,关于缺省数据库路径(dftdbpath)的条目无效。
SQL5137N
数据库管理器配置文件中,关于诊断目录路径的条目(diagpath)无效。
SQL5140N
数据库管理器配置参数“authentication”中的条目必须是下列 其中之一:SERVER、CLIENT、DCE、 KERBEROS、SERVER_ENCRYPT、 DCE_SERVER_ENCRYPT 或 KRB_SERVER_ENCRYPT。
SQL5141N
配置参数 avg_appls 超出范围。有效范围为从 1 到 maxappls 的值。
SQL5142N
配置参数 agentpri 不在有效范围内。
SQL5144W
参数更新已生效,但是只有将数据库配置参数 SELF_TUNING_MEM 设置为 ON 之后才会进行自动参数的自调整。
SQL5145W
参数更新已生效,但是取消激活了 AUTOMATIC 内存参数的调整,这是因为参数数目不足或者已将缓冲池设置为 AUTOMATIC。
SQL5146W
当 参数-2 为 参数-3 时,必须将 参数-1 设置为 参数-3。而 参数-1 已设置为 参数-3。
SQL5147N
如果 参数-2 为 AUTOMATIC,那么不能将 参数-1 设置为 MANUAL。
SQL5148W
已成功地将数据库配置参数 配置参数 更新为 AUTOMATIC,但是,只有将数据库管理器参数 SHEAPTHRES 设置为 0 之后,配置参数 的自调整才会生效。
SQL5150N
对配置参数 参数 指定的值小于允许的最小值 最小值。
SQL5151N
对配置参数 参数 指定的值小于允许的最小值 最小值 且不是 -1。
SQL5152N
对配置参数 参数 指定的值大于允许的最大值 最大值。
SQL5153N
不能完成更新,因为将违反下列关系:条件。
SQL5154N
不允许为“authentication” 和 参数 请求的配置值组合。原因码 = 原因码。
SQL5155W
更新成功完成。SORTHEAP 的当前值可能对性能产生负面影响。
SQL5156N
数据库管理器配置参数“trust_allclnts”的值必须是下列其中一项:NO、YES 或 DRDAONLY。
SQL5160N
当前不允许更新 参数。必须在所有应用程序都与数据库断开连接之后,才能应用对此参数进行的新更新。
SQL5161N
在执行下一个 DB2START 命令之前,不允许更新 参数。
SQL5180N
DB2 未能读取联合配置文件 文件名。
SQL5181N
联合配置文件 文件名 中的第 行号 行的格式无效。
SQL5182N
尚未设置必需的环境变量 变量名。
SQL5185N
不支持至 服务器类型 数据源的传递。
SQL5500N
DB2 未能读取供应商配置文件 文件名。
SQL5501N
供应商配置文件 文件名 中的第 行号 行的格式无效。
SQL6000N
QMF 数据 的 DB2 转换。
SQL6001N
“数据库管理器”没有异常结束。
SQL6002N
必须同时指定程序名和 CS:IP 参数。
SQL6003N
CS:IP 参数无效。
SQL6004N
函数 返回了意外的返回码 代码。
SQL6005N
读已下载的 QMF 文件时出错。
SQL6006N
写入输出文件时出错。
SQL6007N
不能将第 行 行第 列 列中的十进制数转换为 ASCII。
SQL6008N
命令中指定的文件不处于 QMF 数据格式。
SQL6009N
从 QMF 导出的文件包含宽度 宽度 太长的列 名称。最大列宽是 4000 字节。
SQL6010N
下载的 QMF 文件带有 255 个以上的数据列。
SQL6011N
不能处理列 名称(第 列号 列)的数据类型 号码(类型文本)。
SQL6012N
对命令指定了太多参数。
SQL6013N
主机文件名 主机文件名 太长,或未以字母字符开头。
SQL6014N
无效命令语法,冒号(“:”)应跟随着关键字。
SQL6015N
不识别关键字。
SQL6016N
System/370 文件名 名称 的操作数太多。
SQL6017N
Import 消息记录 名称 中可能包含更多信息。
SQL6018N
未指定 S/370 文件名。
SQL6019N
通信短会话标识 标识 太长或无效。
SQL6020N
指定了导入选项,但未同时提供数据库名称。
SQL6021N
数据导入成功。
SQL6022N
系统数据库目录不被所有节点共享。
SQL6023N
用户没有在表 名称 上运行“获取表分区信息”实用程序的权限。
SQL6024E
未在节点 节点号 上定义表或索引 名称。
SQL6025N
不能将在节点 节点-1 上备份的数据库复原到节点 节点-2 上。
SQL6026N
不能将目录节点为 节点-1 的数据库复原到目录节点为 节点-2 的数据库。
SQL6027N
数据库目录路径 路径 无效。
SQL6028N
因为在本地数据库目录中找不到数据库 数据库名称,所以目录数据库失败。
SQL6030N
START 或 STOP DATABASE MANAGER 失败。原因码为 原因码。
SQL6031N
在 db2nodes.cfg 文件的第 行号 行上出错。原因码为 原因码。
SQL6032W
在 总数 个节点上尝试了启动命令处理。成功启动了 已启动的数目 个节点。已启动了 已启动的数目 个节点。未能启动 未启动的数目 个节点。
SQL6033W
在 总数 个节点上尝试了停止命令处理。成功停止了 已停止的数目 个节点。已停止了 已停止的数目 个节点。未能停止 未停止的数目 个节点。
SQL6034W
节点 节点 未被任何数据库使用。
SQL6035W
数据库 数据库 正使用数据库分区 分区名称。
SQL6036N
START 或 STOP DATABASE MANAGER 命令已在处理之中。
SQL6037N
已达到 START 或 STOP DATABASE MANAGER 超时值。
SQL6038N
未定义分区键。
SQL6039N
分区列 列号 当前定义为不可空。
SQL6040C
没有 FCM 缓冲区里用。
SQL6041C
没有 FCM 连接条目可用。
SQL6042C
没有 FCM 消息锚可用。
SQL6043C
没有 FCM 请求块可用。
SQL6044N
数据类型值为 数据类型值 和长度为 长度 的字符串表示法 字符串 的语法不正确。
SQL6045N
不支持长度为 数据类型长度 的数据类型 数据类型值。
SQL6046N
指定的 DROP NODE 操作无效。
SQL6047N
因为表 名称 没有分区键,所以不能重新分发数据库分区组。
SQL6048N
处理 START 或 STOP DATABASE MANAGER 期间发生通信错误。
SQL6049N
在下列数据库分区上找不到 数据库名称 数据库的日志控制文件:数据库分区列表。
SQL6050N
访问下列数据库分区上的 数据库名称 数据库的日志控制文件时发生了 I/O 错误:数据库分区列表。
SQL6051N
未对节点 节点列表 上的前滚恢复配置数据库 名称。
SQL6052N
不能前滚数据库 名称,因为它在节点 节点列表 上不处于前滚暂挂状态。
SQL6053N
文件 文件 中存在错误。原因码 = 原因码。
SQL6054N
归档文件 名称 不是节点 节点号 上的数据库 名称 的有效日志文件。
SQL6055N
归档文件 名称 不属于节点 节点号 上的数据库 名称。
SQL6056N
数据库分区组无法重新分发。原因码 = 原因码。
SQL6057N
归档文件 名称 与已复原的数据库 名称 不相关,或者与节点 节点号 上先前已处理的日志文件不相关。
SQL6058N
由于检索节点 节点号 上的数据库 名称 的日志文件 名称 时发生错误 错误,前滚恢复停止。
SQL6059N
传送至“前滚”实用程序的时间点必须大于或等于 时间戳记,因为节点 节点列表 上的数据库 名称 包含晚于指定时间的信息。
SQL6061N
因为节点 节点列表 上丢失了日志文件,所以数据库 名称 上的前滚恢复不能到达指定的停止点(日志结束或时间点)。
SQL6062N
不能完成对数据库 名称 前滚恢复,因为在节点 节点列表 上的日志信息与目录节点上的相应记录不匹配。
SQL6063N
由于更改了日志文件大小,因此节点 节点列表 上停止了对数据库 名称 进行前滚恢复。
SQL6064N
数据重新分发期间,发生 SQL 错误 sqlcode。
SQL6065N
写入文件 文件 时出错。
SQL6067W
ROLLFORWARD DATABASE QUERY STATUS 命令遇到 sqlcode sqlcode。
SQL6068W
已成功取消前滚操作。必须在节点 节点列表 上复原数据库。
SQL6069N
不能在非目录节点上提交 ROLLFORWARD DATABASE 命令。
SQL6071N
因为已将新节点添加至系统,所以不能处理请求的操作。在可以执行该操作之前,系统必须停止并重新启动。
SQL6072N
因为指定的节点已是活动的,所以带有 RESTART 选项的 DB2START 不能继续。
SQL6073N
“添加数据库分区”操作失败。SQLCODE = sqlcode。
SQL6074N
因为当前正在执行“创建数据库”或“删除数据库”操作,所以“添加节点”操作失败。
SQL6075W
“启动数据库管理器”操作已成功地添加了数据库分区。直到所有数据库分区都停止并再次启动之后,该数据库分区才会处于活动状态。
SQL6076W
警告!此命令将除去此实例在节点上的所有数据库文件。在继续之前,通过运行 DROP NODE VERIFY 命令确保在此节点上没有用户数据。
SQL6077W
db2stop DROP NODENUM 过程成功结束,但未能除去所有文件。请参阅文件 文件 以了解详细信息。
SQL6078N
db2stop DROP NODENUM 过程未能更新数据库 数据库名称 的数据库信息。
SQL6079W
已成功取消 db2stop DROP NODENUM 命令。
SQL6080W
“启动数据库管理器”操作已成功添加新节点,但尚未在该节点上创建数据库分区。在所有节点停止并再次启动之前,该节点不活动。
SQL6081N
通信错误导致 DB2STOP FORCE 命令在此节点上超时。
SQL6100N
数据文件中的分区映射与数据库的分区映射不同。
SQL6101N
此数据文件包含节点 节点-1 的数据,但 Load 实用程序与节点 节点-2 相连。
SQL6102W
保留参数 名称 以供将来使用。其值应设置为 缺省值。
SQL6103C
发生了意外的实用程序错误。原因码 = 原因码。
SQL6104N
Load 实用程序不支持创建索引。
SQL6105W
Load 实用程序已完成处理。装入后执行至某时间点的“前滚” 将不成功。如果要求数据库必须是可恢复的,那么现在进行数据库备份。
SQL6106N
指定了文件类型修饰符“NOHEADER”,但在其中定义了表的节点组不是单节点节点组。
SQL6107N
数据文件中的分区键信息不正确。
SQL6108N
在数据文件头中定义的分区键数(数值-1)与对表定义的分区键数(数值-2)不匹配。
SQL6109N
实用程序期望分区列 列名-1,但找到分区列 列名-2。
SQL6110N
实用程序期望列 列名-1 的分区列类型为类型 列类型-1,但是数据文件将其列示为类型 列类型-2。
SQL6111N
不能在 newlogpath 指定的路径下创建子目录。
SQL6112N
不能执行请求的更改。结果配置参数设置值无效。原因码为 原因码。
SQL6500W
Load 命令中的 RESTARTCOUNT 可能导致某些问题。
SQL6501N
未在装入命令中给定数据库名称。
SQL6502N
未指定数据文件的路径名(参数:data_path)。 
SQL6504N
配置文件中的输出节点列表规范(参数:outputnodes)有错。
SQL6505N
在装入命令中的分区数据库分区列表规范(参数:PARTITIONING_DBPARTNUMS)中有错误。
SQL6506N
程序未能从系统目录表中抽取表 表名 的分区键信息。
SQL6507N
配置文件中的检查级别(参数:check_level)无效。
SQL6508N
程序未能为 ftp 进程创建输出管道。
SQL6509N
程序无法为分区代理程序创建输入管道。
SQL6510N
程序未能在分区 分区号 的本地非 NFS 空间上创建临时目录。
SQL6511N
装入程序无法为分区 分区号 上的分区代理程序创建输出。
SQL6512N
装入程序无法为分区 分区号 上的合并代理程序创建输入管道。
SQL6513N
装入程序无法为分区 分区号 上的装入代理程序创建输入管道。
SQL6514N
程序不能读取节点配置文件:节点配置文件。
SQL6515N
程序在配置文件中找不到 Load 命令。
SQL6516N
程序未能与数据库 数据库名称 相连。
SQL6517N
装入程序无法从系统目录表中抽取分区列表,表 表名 就是在该分区列表中定义的。
SQL6518N
记录长度(Load 命令中的 reclen)无效。
SQL6519N
配置文件中的方式(参数:mode)方式 无效。
SQL6520N
程序未能为进程创建输出管道,该进程生成分割文件的头信息。
SQL6521N
此程序的配置文件 配置文件 不存在。
SQL6522N
程序在 Load 命令中找到输入数据文件的路径名。
SQL6523N
在节点配置(db2nodes.cfg)文件中未定义分区数据库分区列表(参数:PARTITIONING_DBPARTNUMS)中的元素 分区号。
SQL6524N
输出分区列表(参数:OUTPUT_DBPARTNUMS)中的元素 分区号 不是在其中定义表的分区列表的成员。
SQL6525N
程序不能读取输入数据文件 文件名。
SQL6526N
程序不能写入当前工作目录 当前工作目录。
SQL6527N
将在其中收集统计信息数据的分区(参数:RUN_STAT_DBPARTNUM)不是输出分区列表的成员。
SQL6528N
Load 命令中未指定记录长度。
SQL6529N
在装入命令中未指定“无标题”选项(noheader)。
SQL6530N
一个分区键的数据类型是浮点型或双精度型。
SQL6531N
程序未能复位表空间停顿。
SQL6532N
不能将 Load 命令中的 savecount 设为非零。
SQL6533N
不能将 Load 命令中的 restartcount 设为非零。
SQL6534N
.netrc 文件 netrc-文件 中有错误。
SQL6535N
方式 PARTITION_ONLY 或 ANALYZE 无效。
SQL6536N
程序 程序名 未能打开文件 文件名 以进行读取。
SQL6537N
程序 程序名 未能打开文件 文件名 以进行写操作。
SQL6538N
装入程序无法读取分区文件 分区文件。
SQL6539N
在工作环境中,在 命令列表 中至少有一个命令找不到。
SQL6540N
在装入命令中指定的文件类型 文件类型 无效。
SQL6550N
未能打开分区映射文件 映射文件名 以进行写操作。
SQL6551N
试图写入该分区映射文件时出错。
SQL6552N
尝试打开临时配置文件 文件名 以进行写操作时出错。
SQL6553N
尝试写入临时配置文件 文件名 时出错。
SQL6554N
试图远程执行进程时出错。
SQL6555N
Load 实用程序遇到意外通信错误。
SQL6556W
在文件 文件名 的末尾检测到不完整的记录。
SQL6557N
未能检索缺省节点号。
SQL6558N
该实用程序未能确定当前工作目录和/或驱动器。
SQL6559N
向 AutoLoader 实用程序提供了无效的命令行选项。
SQL6560N
节点 节点号 在 db2nodes.cfg 文件中未出现,该节点是用于分区的执行节点。
SQL6561N
用于装入的目标节点 节点号 不出现在节点组中。
SQL6562N
实用程序不能检索该实例名。
SQL6563N
未能检索当前用户标识。
SQL6564N
提供的密码无效。
SQL6565I
用法:db2xxld [-config config-file] [-restart] [-terminate] [-help]
SQL6566N
AutoLoader 配置文件中丢失了 LOAD 命令。
SQL6567N
在 AutoLoader 配置文件中多次出现了 选项名 选项。
SQL6568I
Load 实用程序现在正在分派所有的 请求类型 请求。
SQL6569I
AutoLoader 现在正在发出所有分割请求。
SQL6570I
AutoLoader 正在等待所有分割程序完成。
SQL6571I
Load 实用程序正在等待所有操作完成。
SQL6572I
LOAD 操作已在分区 节点号 上开始。
SQL6573I
已完成远程执行在分区 节点号 上的分割实用程序,远程执行代码为 代码。
SQL6574I
实用程序已从源数据中读取了 MB-数 兆字节。
SQL6575I
实用程序已从用户数据中读取 MB-数 兆字节。
SQL6576N
AutoLoader 实用程序遇到线程错误。原因码为 原因码,返回码为 返回码。
SQL6577N
AutoLoader 实用程序不支持装入命令中的 ROWCOUNT 选项。
SQL6578N
无效 AutoLoader 选项。仅可对 SPLIT_AND_LOAD 或 LOAD_ONLY 方式指定 RESTART/TERMINATE 选项。
SQL6579N
在 AutoLoader 配置文件中的 LOAD 命令无效。AutoLoader 的 RESTART 和 TERMINATE 选项分别用于执行 LOAD RESTART 和 LOAD TERMINATE 操作。
SQL6580I
在阶段 重新启动阶段 中,LOAD 正在节点 节点号 上重新启动。
SQL6581I
Load 在节点 节点号 上不能重新启动。
SQL6582I
不需要在节点 节点号 上重新启动 LOAD。
SQL6583N
分区键定义与分区数据库装入方式 装入方式 不兼容
posted @ 2013-07-16 20:03 何杨 阅读(3623) | 评论 (0)编辑 收藏

在命令行窗口输入db2cmd,再执行命令。
posted @ 2013-07-16 10:00 何杨 阅读(800) | 评论 (0)编辑 收藏

系统变成Win7后,因需要安装DB2 97版,但以前一蹴而就的过程却在90%处中断了,错误是DB29501E 如下图所示:


多次重试无效,同事也没有遇到过同样的错误,一筹莫展中,只好搁置先做别的。
在安装Install manager后,再试DB2重装,居然通过了。

估计是它们共享一个gre的原因,DB2自带的在Win7中运行不好,但Install Manager的可以。故先装Installl Manager再装DB2就OK了。
也许还有别的原因,但目前只能这样认为。

2013年7月16日9:35:07
posted @ 2013-07-16 09:35 何杨 阅读(1096) | 评论 (0)编辑 收藏

对此只要在服务里启动DB2相关服务即可。

参考:http://hi.baidu.com/cf2928/item/70e61edf9539d99d270ae758

我在控制中心新建个数据库可是总出现这个样的问题:SQL4414N  “DB2 管理服务器”处于不活动状态。 


解释: 
除非“DB2 管理服务器”是活动的,否则不能处理请求。 
用户响应: 
通过发出命令 DB2ADMIN START 启动“DB2
管理服务器”,并重新发出请求。 
DB2主要的那2 个服务,
DB2DAS-DB2DAS00,DB2-DB2-0 主要是这2个服务,db2admin start这个是启动
SQL4409W  “DB2 管理服务器”,启动了DB2DAS-DB2DAS00服务
 创建新库和表了
posted @ 2013-07-15 21:25 何杨 阅读(605) | 评论 (0)编辑 收藏

WIN7下装DB2,启动任务中心、控制中心报DB2JAVIT:RC=9505。

解决方案:进入(计算机—>管理—>本地用户和组用户)把用户加入到DB2ADMNS或DB2USERS,重启后,即可解决。


参考:http://blog.163.com/dream11867@126/blog/static/2695265120121893417152/

posted @ 2013-07-15 21:13 何杨 阅读(1879) | 评论 (1)编辑 收藏

有人说会自动降频1078使用,试了,大忽悠,无效。
posted @ 2013-07-15 16:56 何杨 阅读(722) | 评论 (0)编辑 收藏

如图,其他语言系统自己参照:

posted @ 2013-07-15 16:54 何杨 阅读(437) | 评论 (0)编辑 收藏

    FROM:

http://blog.csdn.net/pangdingshan/article/details/7198760



   系统环境:windows 7 旗舰版

      软件版本:IBM DB2数据库(DB2_ESE_97_Win_x86)

      准备工作:关闭防火墙及杀软等安全防护软件

     本文是事后整理的,可以在循序上有些乱,有些步奏也是省略的,省略的都是选择默认选项

1.   运行安装目录下的  setup.exe 程序,点击“下一步”

2.    选择“我接受许可证协议中的全部条款”,点击“下一步”

3.  根据自己需求选择安装方式,我选择“典型安装”,点击“下一步”

4.   选择“在此计算机上安装DB2Enterprise Server Edition ” ,点击“下一步”

5.    更改安装路径,点击“下一步”

6.    默认选项,点击“下一步”

 

7.    设置密码,点击“下一步”

 

8. 不勾选“设置DB2服务器以发送通知”,点击“下一步”

9.    勾选“启动操作系统安全性”,点击“下一步”

10.   勾选“准备DB2工具目录”,点击“下一步”

 

11.  点击“下一步”,进行安装

  安装成功后会有提示



我安装的时候出现以下问题:
posted @ 2013-07-14 00:11 何杨 阅读(337) | 评论 (0)编辑 收藏

http://www.cnblogs.com/mingmingruyuedlut/archive/2011/11/04/2235630.html


1:

Internet Information Services 7.5

Error Summary

HTTP Error 500.19 - Internal Server Error

The requested page cannot be accessed because the related configuration data for the page is invalid.

Detailed Error Information
Module IIS Web Core
Notification Unknown
Handler Not yet determined
Error Code 0x80070005
Config Error Cannot read configuration file due to insufficient permissions
Config File \\?\C:\Users\EricSun\Documents\Visual Studio 2010\WebSites\SSOAuthWebSite1\web.config
Requested URL http://10.2.5.153:10001/
Physical Path  
Logon Method Not yet determined
Logon User Not yet determined
Config Source
 -1:     0:  
Links and More InformationThis error occurs when there is a problem reading the configuration file for the Web server or Web application. In some cases, the event logs may contain more information about what caused this error.

View more information »

 

Cause:1) 没有向iis中注册.net framework(引起的原因之一:先安装了.net framework,后安装的iis)

    2) 没有对IIS中所配置的site有足够的操作权限(Modify权限)

Solution:

    1) 到C:\Windows\Microsoft.NET\Framework64\v2.0.50727下,

      用命令向iis中重新注册一下.net framework:aspnet_regiis -i

    2) IIS Manager --> Sites --> 相应的site --> 点击右键 --> Edit Permissions --> Security --> Group or user names --> Edit --> Add --> 添加赋予Full Control权限(实质上带有Modify的权限就可以)的Everyone用户

 


2:

Server Error in '/' Application.


Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive.

Source Error:

Line 9:  	</connectionStrings> Line 10: 	<system.web> Line 11: 		<compilation debug="true" targetFramework="4.0"/> Line 12: 		<authentication mode="Forms"> Line 13: 			<forms loginUrl="~/Account/Login.aspx" timeout="2880"/>


Source File: C:\Users\EricSun\Documents\Visual Studio 2010\WebSites\SSOAuthWebSite1\web.config    Line: 11


Version Information: Microsoft .NET Framework Version:2.0.50727.4963; ASP.NET Version:2.0.50727.4955

 

Cause:当前程序所运行的.NET Framework版本与IIS中相应site所设置的.NET Framework版本不相同

Solution:启动IIS Manager --> Application Pools --> 选择相应的Name(site) --> 点击右键 --> Advanced Settings --> (General).NET Framwork Version --> 由2.0更改到4.0即可

 

3:

Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0016: Could not write to output file 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\2ae25944\4afe0277\App_global.asax.ke894tgr.dll' -- 'Access is denied. '

Source Error:

 
[No relevant source lines]


Source File:    Line: 0


Show Detailed Compiler Output:

c:\windows\system32\inetsrv> "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe" /t:library /utf8output /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Extensions\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.Extensions.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Services\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.Services.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.DataSetExtensions\v4.0_4.0.0.0__b77a5c561934e089\System.Data.DataSetExtensions.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Web\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Web.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel\v4.0_4.0.0.0__b77a5c561934e089\System.ServiceModel.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Activities\v4.0_4.0.0.0__31bf3856ad364e35\System.Activities.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Activation\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Activation.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Activities\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Activities.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.ApplicationServices\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.ApplicationServices.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_64\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ComponentModel.DataAnnotations\v4.0_4.0.0.0__31bf3856ad364e35\System.ComponentModel.DataAnnotations.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.WorkflowServices\v4.0_4.0.0.0__31bf3856ad364e35\System.WorkflowServices.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_64\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_64\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Serialization\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Serialization.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.IdentityModel\v4.0_4.0.0.0__b77a5c561934e089\System.IdentityModel.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.Linq.dll" /R:"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.DynamicData\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.DynamicData.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.CSharp\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.CSharp.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll" /out:"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\2ae25944\4afe0277\App_global.asax.ke894tgr.dll" /debug- /optimize+ /w:4 /nowarn:1659;1699;1701 /warnaserror-  "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\2ae25944\4afe0277\App_global.asax.ke894tgr.0.cs" "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\2ae25944\4afe0277\App_global.asax.ke894tgr.1.cs"   Microsoft (R) Visual C# 2010 Compiler version 4.0.30319.1 Copyright (C) Microsoft Corporation. All rights reserved.  error CS0016: Could not write to output file 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\2ae25944\4afe0277\App_global.asax.ke894tgr.dll' -- 'Access is denied. ' 




Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1

 

Cause:对Windows下的temp文件夹缺少操作权限

Solution: 将Windows下的temp文件夹 --> properties --> security --> create owner --> add --> 添加赋予Full Control权限的Everyone用户

 

4:

Server Error in '/' Application.


Login failed for user 'IIS APPPOOL\SSO1'.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: Login failed for user 'IIS APPPOOL\SSO1'.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.


Stack Trace:

[SqlException (0x80131904): Login failed for user 'IIS APPPOOL\SSO1'.]    System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +6333696    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +412    System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1363    System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +53    System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout) +6348638    System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +6348553    System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +352    System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +831    System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +49    System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +6350358    System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +78    System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +1938    System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +89    System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +6353246    System.Data.SqlClient.SqlConnection.Open() +300    System.Web.DataAccess.SqlConnectionHolder.Open(HttpContext context, Boolean revertImpersonate) +150    System.Web.DataAccess.SqlConnectionHelper.GetConnection(String connectionString, Boolean revertImpersonation) +4679471    System.Web.Security.SqlMembershipProvider.GetPasswordWithFormat(String username, Boolean updateLastLoginActivityDate, Int32& status, String& password, Int32& passwordFormat, String& passwordSalt, Int32& failedPasswordAttemptCount, Int32& failedPasswordAnswerAttemptCount, Boolean& isApproved, DateTime& lastLoginDate, DateTime& lastActivityDate) +3720151    System.Web.Security.SqlMembershipProvider.CheckPassword(String username, String password, Boolean updateLastLoginActivityDate, Boolean failIfNotApproved, String& salt, Int32& passwordFormat) +189    System.Web.Security.SqlMembershipProvider.ValidateUser(String username, String password) +202    System.Web.UI.WebControls.Login.AuthenticateUsingMembershipProvider(AuthenticateEventArgs e) +225    System.Web.UI.WebControls.Login.AttemptLogin() +166    System.Web.UI.WebControls.Login.OnBubbleEvent(Object source, EventArgs e) +93    System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +52    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3707 



Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1

 

Cause:IIS中的Application pool中相应site的Identity类型错误

Solution: IIS Manager --> Application Pools --> 找到相应的site --> 左键选择Advanced Settings --> 将Process Model中的Identity类型换成LocalSystem

此问题(4)的解决方法可以详 见:http://blogs.microsoft.co.il/blogs/shlomo/archive/2009/11/09/system- data-sqlclient-sqlexception-login-failed-for-user-iis-apppool-defaultapppool.aspx

 

5:

 

Server Error in '/' Application.
--------------------------------------------------------------------------------

 

Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

 

Exception Details: System.TypeLoadException: Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

 

Source Error:

 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

 

Stack Trace:

 


[TypeLoadException: Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.]
System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, Boolean loadTypeFromPartialName, ObjectHandleOnStack type) +0
System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, Boolean loadTypeFromPartialName) +314
System.Type.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +95
System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +124
System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase) +76

 

[ConfigurationErrorsException: Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.]
System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase) +11355388
System.Web.Configuration.Common.ModulesEntry.SecureGetType(String typeName, String propertyName, ConfigurationElement configElement) +69
System.Web.Configuration.Common.ModulesEntry..ctor(String name, String typeName, String propertyName, ConfigurationElement configElement) +62
System.Web.HttpApplication.BuildIntegratedModuleCollection(List`1 moduleList) +301
System.Web.HttpApplication.GetModuleCollection(IntPtr appContext) +1332
Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleReflectionUtil.GetIntegratedModuleCollection(HttpApplication target, IntPtr appContext) +34
Microsoft.Web.Infrastructure.DynamicModuleHelper.CriticalStatics.Init(HttpApplication context) +264
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +546
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +325
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +407
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +375

 

[HttpException (0x80004005): Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11524352
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4782309

 

 

 


--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1

 

 

 

Cause:.Net Framework4先安装,IIS后安装,导致.Net Framework4.0没有注册到IIS中

 

Solution: 在Windows的文件夹里找到一个安装程序,在CMD里执行,具体如下:

      C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -iru
      显示如下:
      Start installing ASP.NET (4.0.30319).
      ..........
      Finished installing ASP.NET (4.0.30319).
      这样就可以了。
 
此问题的更详细的原因请看: http://msdn.microsoft.com/zh-cn/library/k6h9cz8h.aspx
posted @ 2013-07-12 13:22 何杨 阅读(1512) | 评论 (0)编辑 收藏

char* HcC21PrintPres::getStringFromDouble(double d){
    char  sbuf2[256];

    sprintf(sbuf2,"%.3f",d);// 保留位数自己可调

    for(;sbuf2[strlen(sbuf2) - 1] == '0';){
        sbuf2[strlen(sbuf2) - 1] = '\0';
        if(sbuf2[strlen(sbuf2) - 1] == '.'){
            sbuf2[strlen(sbuf2) - 1] = '\0';
            break;
        }
    }

    return sbuf2;
}
这种写法还是挺有意思的.
posted @ 2013-07-11 10:33 何杨 阅读(328) | 评论 (0)编辑 收藏

http://blog.csdn.net/masikkk/article/details/5634886

在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。
  sprintf 是个变参函数,定义如下:
  int sprintf( char *buffer, const char *format [, argument] ... );
  除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数:

  (1)格式化字符串上。

  printf 和sprintf 都使用格式化字符串来指定串的格式,在格式串内部使用一些以“%”开头的格式说明符(format specifications)来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要 的字符串。
  格式化数字字符串
  sprintf 最常见的应用之一莫过于把整数打印到字符串中,所以,spritnf 在大多数场合可以替代itoa。
  如:
  //把整数123 打印成一个字符串保存在s 中。
  sprintf(s, "%d", 123); //产生"123"
  可以指定宽度,不足的左边补空格:
  sprintf(s, "%8d%8d", 123, 4567); //产生:" 123 4567"
  当然也可以左对齐:
  sprintf(s, "%-8d%8d", 123, 4567); //产生:"123 4567"
  也可以按照16 进制打印:
  sprintf(s, "%8x", 4567); //小写16 进制,宽度占8 个位置,右对齐
  sprintf(s, "%-8X", 4568); //大写16 进制,宽度占8 个位置,左对齐
  这样,一个整数的16 进制字符串就很容易得到,但我们在打印16 进制内容时,通常想要一种左边补0 的等宽格式,那该怎么做呢?很简单,在表示宽度的数字前面加个0 就可以了。
  sprintf(s, "%08X", 4567); //产生:"000011D7"
  上面以”%d”进行的10 进制打印同样也可以使用这种左边补0 的方式。
  这里要注意一个符号扩展的问题:比如,假如我们想打印短整数(short)-1 的内存16 进制表示形式,在Win32 平台上,一个short 型占2 个字节,所以我们自然希望用4 个16 进制数字来打印它:
  short si = -1;
  sprintf(s, "%04X", si);
  产生“FFFFFFFF”,怎么回事?因为spritnf 是个变参函数,除了前面两个参数之外,后面的参数都不是类型安全的,函数更没有办法仅仅通过一个“%X”就能得知当初函数调用前参数压栈时被压进来的到底 是个4 字节的整数还是个2 字节的短整数,所以采取了统一4 字节的处理方式,导致参数压栈时做了符号扩展,扩展成了32 位的整数-1,打印时4 个位置不够了,就把32 位整数-1 的8 位16 进制都打印出来了。
  如果你想看si 的本来面目,那么就应该让编译器做0 扩展而不是符号扩展(扩展时二进制左边补0 而不是补符号位):
  sprintf(s, "%04X", (unsigned short)si);
  就可以了。或者:
  unsigned short si = -1;
  sprintf(s, "%04X", si);
  sprintf 和printf 还可以按8 进制打印整数字符串,使用”%o”。注意8 进制和16 进制都不会打
  印出负数,都是无符号的,实际上也就是变量的内部编码的直接的16 进制或8 进制表示。
  控制浮点数打印格式
  浮点数的打印和格式控制是sprintf 的又一大常用功能,浮点数使用格式符”%f”控制,默认保
  留小数点后6 位数字,比如:
  sprintf(s, "%f", 3.1415926); //产生"3.141593"
  但有时我们希望自己控制打印的宽度和小数位数,这时就应该使用:”%m.nf”格式,其中m 表
  示打印的宽度,n 表示小数点后的位数。比如:
  sprintf(s, "%10.3f", 3.1415626); //产生:" 3.142"
  sprintf(s, "%-10.3f", 3.1415626); //产生:"3.142 "
  sprintf(s, "%.3f", 3.1415626); //不指定总宽度,产生:"3.142"
  注意一个问题,你猜
  int i = 100;
  sprintf(s, "%.2f", i);
  会打出什么东东来?“100.00”?对吗?自己试试就知道了,同时也试试下面这个:
  sprintf(s, "%.2f", (double)i);
  第一个打出来的肯定不是正确结果,原因跟前面提到的一样,参数压栈时调用者并不知道跟i相对应的格式控制符是个”%f”。而函数执行时函数本身则并不 知道当年被压入栈里的是个整数,于是可怜的保存整数i 的那4 个字节就被不由分说地强行作为浮点数格式来解释了,整个乱套了。不过,如果有人有兴趣使用手工编码一个浮点数,那么倒可以使用这种方法来检验一下你手工编 排的结果是否正确。
  

    (2)字符/Ascii 码对照

  我们知道,在C/C++语言中,char 也是一种普通的scalable 类型,除了字长之外,它与short,
  int,long 这些类型没有本质区别,只不过被大家习惯用来表示字符和字符串而已。(或许当年该把
  这个类型叫做“byte”,然后现在就可以根据实际情况,使用byte 或short 来把char 通过typedef 定义出来,这样更合适些)于是,使用”%d”或者”%x”打印一个字符,便能得出它的10 进制或16 进制的ASCII 码;反过来,使用”%c”打印一个整数,便可以看到它所对应的ASCII 字符。以下程序段把所有可见字符的ASCII 码对照表打印到屏幕上(这里采用printf,注意”#”与”%X”合用时自动为16 进制数增加”0X”前缀):
  for(int i = 32; i < 127; i++) {
  printf("[ %c ]: %3d 0x%#04X/n", i, i, i);
  }


  (3)连接字符串

  sprintf 的格式控制串中既然可以插入各种东西,并最终把它们“连成一串”,自然也就能够连
  接字符串,从而在许多场合可以替代strcat,但sprintf 能够一次连接多个字符串(自然也可以同时
  在它们中间插入别的内容,总之非常灵活)。比如:
  char* who = "I";
  char* whom = "CSDN";
  sprintf(s, "%s love %s.", who, whom); //产生:"I love CSDN. "
  strcat 只能连接字符串(一段以’’结尾的字符数组或叫做字符缓冲,null-terminated-string),但有时我们有两段字符缓冲区,他们并不是以 ’’结尾。比如许多从第三方库函数中返回的字符数组,从硬件或者网络传输中读进来的字符流,它们未必每一段字符序列后面都有个相应的’’来结尾。如果直接 连接,不管是sprintf 还是strcat 肯定会导致非法内存操作,而strncat 也至少要求第一个参数是个null-terminated-string,那该怎么办呢?我们自然会想起前面介绍打印整数和浮点数时可以指定宽度,字符串 也一样的。比如:
  char a1[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G'};
  char a2[] = {'H', 'I', 'J', 'K', 'L', 'M', 'N'};
  如果:
  sprintf(s, "%s%s", a1, a2); //Don't do that!
  十有八九要出问题了。是否可以改成:
  sprintf(s, "%7s%7s", a1, a2);
  也没好到哪儿去,正确的应该是:
  sprintf(s, "%.7s%.7s", a1, a2);//产生:"ABCDEFGHIJKLMN"
  这可以类比打印浮点数的”%m.nf”,在”%m.ns”中,m 表示占用宽度(字符串长度不足时补空格,超出了则按照实际宽度打印),n 才表示从相应的字符串中最多取用的字符数。通常在打印字符串时m 没什么大用,还是点号后面的n 用的多。自然,也可以前后都只取部分字符:
  sprintf(s, "%.6s%.5s", a1, a2);//产生:"ABCDEFHIJKL"
  在许多时候,我们或许还希望这些格式控制符中用以指定长度信息的数字是动态的,而不是静态指定的,因为许多时候,程序要到运行时才会清楚到底需要取字 符数组中的几个字符,这种动态的宽度/精度设置功能在sprintf 的实现中也被考虑到了,sprintf 采用”*”来占用一个本来需要一个指定宽度或精度的常数数字的位置,同样,而实际的宽度或精度就可以和其它被打印的变量一样被提供出来,于是,上面的例子 可以变成:
  sprintf(s, "%.*s%.*s", 7, a1, 7, a2);
  或者:
  sprintf(s, "%.*s%.*s", sizeof(a1), a1, sizeof(a2), a2);
  实际上,前面介绍的打印字符、整数、浮点数等都可以动态指定那些常量值,比如:
  sprintf(s, "%-*d", 4, 'A'); //产生"65 "
  sprintf(s, "%#0*X", 8, 128); //产生"0X000080","#"产生0X
  sprintf(s, "%*.*f", 10, 2, 3.1415926); //产生" 3.14"


  (4)打印地址信息

  有时调试程序时,我们可能想查看某些变量或者成员的地址,由于地址或者指针也不过是个32 位的数,你完全可以使用打印无符号整数的”%u”把他们打印出来:
  sprintf(s, "%u", &i);
  不过通常人们还是喜欢使用16 进制而不是10 进制来显示一个地址:
  sprintf(s, "%08X", &i);
  然而,这些都是间接的方法,对于地址打印,sprintf 提供了专门的”%p”:
  sprintf(s, "%p", &i);
  我觉得它实际上就相当于:
  sprintf(s, "%0*x", 2 * sizeof(void *), &i);


  (5)利用sprintf 的返回值

  较少有人注意printf/sprintf 函数的返回值,但有时它却是有用的,spritnf 返回了本次函数调用
  最终打印到字符缓冲区中的字符数目。也就是说每当一次sprinf 调用结束以后,你无须再调用一次
  strlen 便已经知道了结果字符串的长度。如:
  int len = sprintf(s, "%d", i);
  对于正整数来说,len 便等于整数i 的10 进制位数。
  下面的是个完整的例子,产生10 个[0, 100)之间的随机数,并将他们打印到一个字符数组s 中,
  以逗号分隔开。
  #include
  #include
  #include
  int main() {
  srand(time(0));
  char s[64];
  int offset = 0;
  for(int i = 0; i < 10; i++) {
  offset += sprintf(s + offset, "%d,", rand() % 100);
  }
  s[offset - 1] = '/n';//将最后一个逗号换成换行符。
  printf(s);
  return 0;
  }
  设想当你从数据库中取出一条记录,然后希望把他们的各个字段按照某种规则连接成一个字
  符串时,就可以使用这种方法,从理论上讲,他应该比不断的strcat 效率高,因为strcat 每次调用
  都需要先找到最后的那个’’的位置,而在上面给出的例子中,我们每次都利用sprintf 返回值把这
  个位置直接记下来了。
  使用sprintf 的常见问题
  sprintf 是个变参函数,使用时经常出问题,而且只要出问题通常就是能导致程序崩溃的内存访
  问错误,但好在由sprintf 误用导致的问题虽然严重,却很容易找出,无非就是那么几种情况,通
  常用眼睛再把出错的代码多看几眼就看出来了。
  ?? 缓冲区溢出
  第一个参数的长度太短了,没的说,给个大点的地方吧。当然也可能是后面的参数的问
  题,建议变参对应一定要细心,而打印字符串时,尽量使用”%.ns”的形式指定最大字符数。
  ?? 忘记了第一个参数
  低级得不能再低级问题,用printf 用得太惯了。//偶就常犯。:。(
  ?? 变参对应出问题
  通常是忘记了提供对应某个格式符的变参,导致以后的参数统统错位,检查检查吧。尤
  其是对应”*”的那些参数,都提供了吗?不要把一个整数对应一个”%s”,编译器会觉得你
  欺她太甚了(编译器是obj 和exe 的妈妈,应该是个女的,:P)。
  strftime
  sprnitf 还有个不错的表妹:strftime,专门用于格式化时间字符串的,用法跟她表哥很像,也
  是一大堆格式控制符,只是毕竟小姑娘家心细,她还要调用者指定缓冲区的最大长度,可能是为
  了在出现问题时可以推卸责任吧。这里举个例子:
  time_t t = time(0);
  //产生"YYYY-MM-DD hh:mm:ss"格式的字符串。
  char s[32];
  strftime(s, sizeof(s), "%Y-%m-%d %H:%M:%S", localtime(&t));
  sprintf 在MFC 中也能找到他的知音:CString::Format,strftime 在MFC 中自然也有她的同道:
  CTime::Format,这一对由于从面向对象哪里得到了赞助,用以写出的代码更觉优雅。

 

 

 

 

sprintf 用法总结(2009-08-25 09:36:24)标签:it   分类:C++
  sprintf,将各种类型的数据够造成字符串。

  sprintf是个变参函数,int sprintf(char *buffer,const char *format[,argument]...);除了前两个参数类型固定外,后面可以接任意多个参数,而它的精华,则在第二个参数:格式化字符串上。

  printf和sprintf都使用格式化字符串来指定串的格式,在格式串内部使 用一些以“%”开头的格式说明符(format specification)来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要的 字符串。

 一、格式化数字字符串

  sprintf最常见的应用之一莫过于把整数打印到字符串中,所以sprintf在大多数场合可以替代itoa.

    %-8d 代表宽度八位,左对齐(没有负号为右对齐),整数的十进制

  %x小写16进制  %X大写16进制

    符号扩展问题:参数压栈默认四字节,即8位16进制。应该让编译器做0扩展而不是符号扩展。

  如  sprintf(s,"%04X",(unsigned short)si);

    %o 8进制格式化字符串。

  控制浮点数打印格式,使用格式符"%f"控制,默认保留小数点后6位数字。

  %m.nf m表示打印的宽度,n表示小数点后的位数

  sprintf(s,"%m.nf",i)其中i 必须为浮点类型的

二、字符/ASCII码对照

  %c打印一个整数,可以看到整数所对应的ASCII值

  for(int i=32 ;i<127;i++)
  {
    printf("[%c]:%3d 0x%#04X/n",i,i,i);
  }

 #与%X合用时自动为16进制数增加“0X”前缀。

三、连接字符串

 可以在许多场合替代strcat,sprintf能够一次连接多个字符串。

 %s可以参照浮点数控制的%m.n m表示宽度,n表示从相应的字符串中最多取用的字符数,通常m没什么用。

  对于动态的,可以采用sprintf(s,"%.*s%.*s",7,a1,7,a2)或sprintf(s,"%.*s%.*s",sizeof(a1),a1,sizeof(a2),a2);  

四、打印地址信息

有时调试程序时,我们可能想查看某些变量或者成员的地址,由于地址或者指针也不过是个32 位的数,你完全可以使用打印无符号整数的”%u”把他们打印出来:
sprintf(s, "%u", &i);
不过通常人们还是喜欢使用16 进制而不是10 进制来显示一个地址:
sprintf(s, "%08X", &i);
然而,这些都是间接的方法,对于地址打印,sprintf 提供了专门的”%p”:
sprintf(s, "%p", &i);
我觉得它实际上就相当于:
sprintf(s, "%0*x", 2 * sizeof(void *), &i);

五、返回值

返回了本次函数调用最终打印到字符缓冲区中的字符数目。
六、strftime

专门用于格式化时间字符串。需调用者指定缓冲区的最大长度。

strftime(s,sizeof(s),"%Y-%m-%d %H:%M:%S",localtime(&t));
posted @ 2013-07-10 15:31 何杨 阅读(282) | 评论 (0)编辑 收藏

http://sddhn.blog.163.com/blog/static/1281877920129191574926/


在DB2中从客户端访问服务器端的数据库时,不能直接用connect命令,而必须先建立通信node,再在node的基础上建立数据库连接。在命令行的具体操作如下:
->db2 catalog tcpip node ${nodeName} remote ${serverName} server ${portNumber} 
->db2 catalog db ${dbName} as ${dbAlias} at node ${nodeName} 
->db2 connect to ${dbAlias} user ${userName} using ${passWord}
->db2 terminate
说明:
${nodeName}:任意起的一个结点名,注意长度限制
${serverName}:远程数据库所在服务器名称或IP地址
${portNumber} :远程数据库端口号
${dbName}:远程数据库的名字
${dbAlias}:编目到本地后的数据库别名
${userName}:连接数据库用户名
${passWord}:连接数据库密码
其他相关一些重要的DB2命令
  1. 查看本地节点目录
  命令窗口中输入:db2 list node directory
  2. 编目一个TCP/IP节点
   命令窗口:db2 catalog tcpip node <node_name> remote <hostname|ip_address> server <svcname|port_number> ostype <OS2|AIX|WIN95|NT|HPUX|SUN|MVS|OS400|VM|VSE|SCO|SGI|LINUX|DYNIX>

Eg: Open a command shell and input the commands below:

db2 catalog tcpip node koubeSvr remote 9.119.100.222 server 50000

db2 catalog db KOUBE23 as KOUBE23 at node koubeSvr

  3. 取消节点编目
  db2 uncatalog node <node_name>
  4. 查看系统数据库目录
  db2 list database directory
  5. 查看本地数据库目录
  db2 list database directory on <盘符>
  在本地数据库目录中有而系统数据库目录中没有的数据库不能访问,可以在控制中心中选中<数据库>右键单击选择添加,然后输入需要添加的数据库名称或者点击刷新按钮选择数据库,加入数据库后即可以访问。
  6. 编目数据库
  db2 catalog database <db_name> as <db_alias> at node <node_name>
  7. 取消数据库编目
  db2 uncatalog database <db_name>
  8. 测试远程数据库的连接
  db2 connect to <db_alias> user <user_id> using <password>
posted @ 2013-07-08 15:23 何杨 阅读(391) | 评论 (0)编辑 收藏

工具:
这个工具用于将ASM文件编译.
http://www.blogjava.net/Files/heyang/nasm-2.07-installer.rar

建议使用Notepad++书写asm,然后用命令行编译:
>nasm a.asm -o a.com

这个工具能将BIN写入软盘扇区:
http://www.blogjava.net/Files/heyang/FloppyWriter.zip

以下是一个例程:
%define _BOOT_DEBUG_
%ifdef _BOOT_DEBUG_
    org 0100h
%else
    org 07c00h
%endif
    mov ax,cs
    mov ds,ax
    mov es,ax
    call DispStr;
    jmp $;
DispStr:
    mov ax,BootMessage
    mov bp,ax
    mov cx,
32
    mov ax,01301h
    mov bx,000ch
    mov dl,
0
    
int 10h
    ret
BootMessage:    db 
"Hello,OS world!XXXXXX is here."
times 
510-($-$$) db 0;
dw 
0xaa55;
posted @ 2013-05-30 20:40 何杨 阅读(182) | 评论 (0)编辑 收藏

/**********************************************
* 获取相对于今天的日期
* 2013年4月29日22:21:23
*********************************************
*/
function GetDateStr(AddDayCount) {
    
var dd = new Date();
    dd.setDate(dd.getDate()
+AddDayCount);//获取AddDayCount天后的日期
    var y = dd.getFullYear();
    
    
var m = dd.getMonth()+1;//获取当前月份的日期
    m=parseInt(m,10);
    
if(m<10){
        m
="0"+m;
    }
    
    
var d = dd.getDate();
    d
=parseInt(d,10);
    
if(d<10){
        d
="0"+d;
    }
    
    
return y+"-"+m+"-"+d;
}

示例:
var today=GetDateStr(0);
var yesterday=GetDateStr(-1);
var thedaybeforeyesterday=GetDateStr(-2);

posted @ 2013-05-06 16:56 何杨 阅读(254) | 评论 (0)编辑 收藏

1.dom初始化
$(document).ready(
    function(){
        ...// 这里写初始化
    }
);

2.给所有class为channel的元素设定点击事件.
$('.channel').click(
     function(){
         ...
    }
);

3.给id=menuDiv下的ul下的li中的设定点击事件.
$("#menuDiv>ul>li>a").click{   
    function(){
         ...
    }
);
posted @ 2013-05-02 21:18 何杨 阅读(286) | 评论 (0)编辑 收藏

代码:
<div class="XXX">
    <img class="X" src="XX">
</div>

方法:
设置div与img等高,其height=line-height,这样Img就被DIV夹在中间了.
再设置div的margin-top=margin-bottom,这样上下外边距相等,img就随着div被夹在中间了.
posted @ 2013-04-30 21:10 何杨 阅读(390) | 评论 (0)编辑 收藏

1.调用new Object,如
var obj=new Object();
obj创建出来后没有任何属性或方法,需要手工进行添加
obj.property=XX;
obj.method=function(){...};

2.用大括弧{}来直接描述属性或方法
var obj={property01:value01,property02:value02,...};

3.自定义一个构建函数,然后用new来创建
function func(value01,value02,...,value0n){
     this.property01=value01;
     this.property02=value02;
     ...
     this.property0n=value0n;
}

var obj=new func(v1,v2,..,vn);
posted @ 2013-04-29 16:10 何杨 阅读(281) | 评论 (0)编辑 收藏

因为在click事件中,使用return false;语句,能让浏览器认为用户没有单击该链接,从而阻止该超链接跳转.
posted @ 2013-04-27 19:57 何杨 阅读(276) | 评论 (0)编辑 收藏

使高度自动,上部控制padding即可.
示例:
#XXX .XX .x{
      padding-top:20px;
      height:auto;
      ...
}

posted @ 2013-04-26 18:14 何杨 阅读(566) | 评论 (0)编辑 收藏

http://developer.51cto.com/art/201008/222367.htm

本文和大家重点讨论一下DIV高度自适应及注意问题,主要包括父div高度随子div的高度改变而改变和子div高度随父亲div高度改变而改变两种情况。

DIV高度自适应及注意问题

积累了一些经验,总结出一些关于div高度自适应的技巧,希望有助于大家,转载请标明出处,谢谢。

一、DIV高度自适应(父div高度随子div的高度改变而改变)

1、如果父div不定义height、子div均为标准流的时候,父div的height随内容的变化而变化,实现父div高度随子div的高度改变而改变。

代码: 

  1. <styletypestyletype="text/css"> 
  2. #aa{border:#000000solid5px}  
  3. #bb{border:#00ffffsolid5px;}  
  4. #cc{border:#0033CCsolid5px}  
  5. style> 
  6. <dividdivid="aa">父div  
  7. <dividdivid="bb">子divdiv> 
  8. <dividdivid="cc">子divdiv> 
  9. div> 

效果:IE、FF下一致

2、如果父div定义height,子div均为标准流的时候,在IE下父div的height随内容变化而变化,ff中则固定大小,如父div设置height:50px

代码: 

  1. <styletypestyletype="text/css"> 
  2. #aa{border:#000000solid5px;height:50px}  
  3. #bb{border:#00ffffsolid5px;}  
  4. #cc{border:#0033CCsolid5px}  
  5. style> 
  6. <dividdivid="aa">父div  
  7. <dividdivid="bb">子divdiv> 
  8. <dividdivid="cc">子divdiv> 
  9. div> 

IE效果

FF下效果

3、如果子div使用了float属性,此时已经脱离标准流,父div不会随内容的高度变化而变化,解决的办法是在浮动的div下面,加一个空div,设置clear属性both

未加空div代码: 

  1. <styletypestyletype="text/css"> 
  2. #aa{border:#000000solid5px;}  
  3. #bb{border:#00ffffsolid5px;float:left}  
  4. #cc{border:#0033CCsolid5px;float:left}  
  5. style> 
  6. <dividdivid="aa">父div  
  7. <dividdivid="bb">子divdiv> 
  8. <dividdivid="cc">子divdiv> 
  9. div> 

IE效果:

FF效果:

修改后代码: 

  1. <styletypestyletype="text/css"> 
  2. #aa{border:#000000solid5px;}  
  3. #bb{border:#00ffffsolid5px;float:left}  
  4. #cc{border:#0033CCsolid5px;float:left}  
  5. style> 
  6. <dividdivid="aa">父div  
  7. <dividdivid="bb">子divdiv> 
  8. <dividdivid="cc">子divdiv> 
  9. <divstyledivstyle="clear:both">div> 
  10. div> 

修改后效果:IEFF一致

4.另类的DIV高度自适应
原理:
padding-bottom将列拉长变的一样高,而负的margin-bottom又使其回到底部开始的位置,同时,溢出部分隐藏掉了。此方法必须加文档信息才能正常显示
代码: 


  1.  
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  4. <styletypestyletype="text/css"> 
  5. #aa{border:#000000solid5px;overflow:hidden;}  
  6. #bb{border:#00ffffsolid5px;float:left;  
  7. padding-bottom:100000px;margin-bottom:-100000px;}  
  8. #cc{border:#0033CCsolid5px;float:left;  
  9. padding-bottom:100000px;margin-bottom:-100000px;}  
  10. #dd{float:left}  
  11. style> 
  12. <dividdivid="aa"> 
  13. <dividdivid="bb">子divdiv> 
  14. <dividdivid="cc">子divdiv> 
  15. <dividdivid="dd">子div<br/><br/><br/><br/><br/>div> 
  16. div> 
  17.  

效果:


二、DIV高度自适应(子div高度随父亲div高度改变而改变)

在有边框的情况下,你会发现同一个div,在IE下的高度和在FF下的高度是不一样的,比如你设置了高度为100px的div,边框是 border:5px;IE的高度是5+5+空白区域=100px,而FF下高度是100px的div是不包括高度的,只是空白区域的高度,如下图黑框的 部分:


黑框的上方是对齐的,但是设置了同样的高度,效果却不一样,代码如下:

  1. <styletypestyletype="text/css"> 
  2.  
  3. #aa{border:#000000solid5px;height:100px;}  
  4.  
  5. #bb{border:#00ffffsolid5px;float:left;height:100%}  
  6.  
  7. #cc{border:#0033CCsolid5px;float:left}  
  8.  
  9. style> 
  10.  
  11. <dividdivid="aa"> 
  12.  
  13. <dividdivid="bb">子divdiv> 
  14.  
  15. <dividdivid="cc">子divdiv> 
  16.  
  17. div> 

如果没有设置边框,完全没有高度不一致的情况,子div适应父div很简单,如上面代码,只是在子div加了height:100%属性即可。如果 设置了边框,可以把子div的高度设置为比父div小上下边框高度的值,比如在此例中,可把#bb中height改为100-5-5=90px,结果在 IE和Mozilla中显示一致。

有一点要注意,如果父div是body的话,也就是说一个body套了一个div,让div适合body的大小的,必须设置body的高度才能实现子div随body改变而改变,body{height:100%}

posted @ 2013-04-25 16:18 何杨 阅读(292) | 评论 (0)编辑 收藏

适用于IE和FF

父Div中设置
    text-align:center;

子Div中设置:
    margin-left:auto:
    margin-right:auto;

    marigin:0 auto;

posted @ 2013-04-22 18:13 何杨 阅读(10273) | 评论 (1)编辑 收藏

select * from SYSCAT.REFERENCES  where constname = 'FK_SRT_ASSIGNMENTS_SMT_RESOURCES_01'
posted @ 2013-04-22 15:23 何杨 阅读(894) | 评论 (0)编辑 收藏

将一个字符串存入数据库并显示出来是一项简单任务,当字符串长度较短(新闻级别)时确实如此.
然而量变引起质变,当字符串长度增加到一定程度(小说级别)时,原有的对简短字符串的处理流程就需要做出一些变化了.下文将讨论这些变化的细节.

一.Web系统的基本情况
以下是某Web系统的基本情况:
前台JS框架:jQuery1.7.2 它确实贴心,比Dojo强,write less do more真不是空话
前后台信息传递方式:全部为Ajax异步处理 拒绝form提交
控制器:Spring3 MVC 很好 SpringMVC终将动摇Struts1/2的低位
Mapping:Hibernate3.2(C),SpringDAO(RUD)
后台DB:MySql5.2 它确实小巧方便,如果Oracle DB2跑在我的T410上那就开不了别的程序了

二.长文本向后台的传递
Web前台向后台传递数据的方式有get和post两种,它们之间有一些差别.就本文涉及的场景来说,差别主要在数据量的大小上,GET方式对传输的数据有大小限制,通常不能大于2KB;而使用POST方式传递的数据量比GET方式大得多,理论上不受限制.因此我采用了POST方式.
传递代码如下:
    var url='wisdom/add.do';

    $.post(
        url, 
        {title:
encodeURIComponent($("#title").val()),concept:
encodeURIComponent(
$(
"#concept").val())},
        function(data,textStatus){    
            
var status=$(data).find("status").text();
            
            
if(status=="ok"){
                ...

            }
            
else{
                
var text=$(data).find("text").text();
                alert(text);
            }
        }
    );
以上代码中,concept就是在textarea中的长文本,理论上长度是无限的,但实际应用中会受到数据库字段的限制.

三.服务器的设置
POST提交有长度限制,当超过时将会出错,可以配置maxPostSize参数来改变大小。
<Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000"  redirectPort="8443" maxPostSize="0"/>
当设置为零时,就没有长度限制了.

四.长文本在DB中的存储
首先需要考虑的数据库的字段,一般的varchar肯定是不够了;clob/blob容量是够,但查询时需要取出来转化一下,而这样速度上就受限了;一向比较贴心的MySql提供了一个LONGTEXT类型,它可以容纳4294967295byte的文字,而在使用上又如同文本一样,这成了我的首选,在后来的实际测试中,我发现它存储80万个汉字是没有问题的,100万也行,这就已经满足我的需求了,因此更大的测试没有再进行.
这个Web系统CRUD处理中,C是通过Hinernate完成的,因此在hbm.xml中进行设置就好了.
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.ibm.heyang.domain">
    
<class name="Wisdom" table="collections_wisdom">
        
<id name="id" column="ID" >
            
<generator class="increment"/>
        
</id>
        
        
<property name="title" column="title" not-null="true"/>
        
<property name="concept" type="text">
            
<column name="concept" not-null="true" length = "16777216" />
        
</property>
    
        
<property name="conceptLength" column="conceptLength" />
        
<property name="addUserId" column="addUserId" />        
        
<property name="modifyTime" column="modifyTime"/>        
    
</class>
</hibernate-mapping>
以上粗体部分就是大文本字段的设置细节.
由于Hibernate是采用PreparedStatement,因此concept不需要进行转义和其它特殊处理.这给检索也带来了不少方便.

五.长文本的检索
由于插入数据库的文本就是原文,所以检索就是常规的检索,无须赘述.

六.长文本向前台的传递前的包装
在这个Web系统中,后台向前台传递的数据是以XML的型式往回传的,前台JS得到后再解析出来.
但长文本有一个特殊的地方就是内容无限制,比如违反XML规则的字符如<>等,这里就需要把它放在CDATA块里包起来后再向前传递.
如下:
        StringBuilder sb=new StringBuilder();
        
        sb.append(
"<title><![CDATA[");
        sb.append(StringUtils.isBlank(title)
?"-":title);
        sb.append(
"]]></title>");
                        
        sb.append(
"<concept><![CDATA[");
        sb.append(concept);
        sb.append(
"]]></concept>");
如果不这样处理一下,前台js就可能解析XML出错.

七.长文本的显示

将长文本显示给用户看可以采用textarea显示和网页显示,如果是前者那就没有特殊处理,直接放进去就行了,文本格式和存储前会一样,只是用户看起来不方便,需要用滚动条拖来拖去;而网页方式就好多了,用户舒适度好很多,但要求我们进行一些特殊的处理.

首先是CSS设置,这是为了保证文本不把DIV撑开,设置如下:
#concept{
    width
:900px;
    max-width
:900px;
    min-width
:900px;
    display
:inline-block;
    padding-top
:10px;
    
    color
:#7a7a7a;
    font-size
:14px; 
    font-weight
:normal;
    
    text-align
:left;
    
    word-wrap
: break-word; 
    word-break
: normal;
    
    -moz-binding
: url('./wordwrap.xml#wordwrap');/*FF only*/
    word-break
:break-all;
    white-space
: moz-pre-wrap;
}

其次,需要对文本处理一下,这样做的目的是把<>转义,另外把\n转化成<br>,空格转化成&nbsp;等,如果不这样做,文字会乱,阅读起来很觉不便.
以下是转化函数:
function makeText2Html(originalText){
    
    originalText
=originalText.replace("<","&lt;");
    originalText
=originalText.replace(">","&gt;");
    originalText
=originalText.replace(/\n/g,"<br/>");
    originalText
=originalText.replace(/\t/g,"&nbsp;&nbsp;&nbsp;&nbsp;");
    originalText
=originalText.replace(" ","&nbsp;");
    
    
return originalText;
}
以下是把XML中的长文本放到页面中:
$("#concept").html(getFormatedText($(data).find("concept").text()));

如果IE ONly的话,也可以把文本用<pre>标签包起来,这样就不用makeText2Html的辅助了.

以上就是对长文本的存储和显示的一些处理,由于作者水平有限,上文只是我的孔见,不当之处还请指出.
posted @ 2013-04-19 16:11 何杨 阅读(660) | 评论 (5)编辑 收藏

转载自:
http://www.cnblogs.com/Mygirl/archive/2012/03/27/2419971.html


     什么是HTTP长连接? HTTP长连接,与一般每次发起http请求或响应都要建立一个tcp连接不同,http长连接利用同一个tcp连接处理多个http请求和响应,也叫 HTTP keep-alive,或者http连接重用。使用http长连接可以提高http请求/响应的性能。

     使用http长连接有很多好处,包括:
更少的建立和关闭tcp连接,可以减少网络流量。 因为已建立的tcp握手,减少后续请求的延时。 长时间的连接让tcp有充足的时间判断网络的拥塞情况,方便做出下步操作。

    这些优点在使用https连接时更显著。可以减少多次建立高消耗的SSL/TLS握手。 在HTTP/1.1中,默认使用的是长连接方式。客户端默认服务端会保持长连接,即便返回错误响应;除非明确指示不使用长连接。同时,协议中也指定了客户 端可以发送关闭信号到服务端来关闭TCP连接。

    怎样是连接可以重用? 因为TCP是基于流的协议,所以HTTP协议需要有一种方式来指示前一个响应的结束和后一个响应的开始来重用已建立的连接。所以,它要求连接中传输的信息 必须有自定义的消息长度。自定义消息长度可以通过设置 Content-Length 消息头,若传输编码的实体内容块,则每个数据块的标明数据块的大小,而且响应体也是以一个特殊的数据块结束。

    若中间存在代理服务器将会如何? 因为长连接仅占用一条传输链路,所以代理服务器能否正确得与客户端和服务器端(或者其他代理服务器)发送长连接或非长连接的信号尤为重要。但是HTTP的 客户端或服务器端来看,代理服务器对他们来说是透明的,即便长连接是需要关注的。

     当前的JDK如何处理Keep-Alive? JDK同时支持HTTP/1.1 和 HTTP/1.0。 当应用程序读取完响应体内容后或者调用 close() 关闭了URLConnection.getInputStream()返回的流,JDK中的HTTP协议句柄将关闭连接,并将连接放到连接缓存中,以便后 面的HTTP请求使用。 对HTTP keep-Alive 的支持是透明的。但是,你也可以通过系统属性http.keepAlive和http.maxConnections以及HTTP/1.1协议中的特定的 请求响应头来控制。控制Keep-Alive表现的系统属性有:
    http.keepAlive=<布尔值> 默认: true 指定长连接是否支持
    http.maxConnections=<整数> 默认: 5 指定对同一个服务器保持的长连接的最大个数。
    影响长连接的HTTP header是: Connection: close 如果请求或响应中的Connection header被指定为close,表示在当前请求或响应完成后将关闭TCP连接。

     JDK中的当前实现不支持缓存响应体,所以应用程序必须读取完响应体内容或者调用close()关闭流并丢弃未读内容来重用连接。此外,当前实现在清理连接时并未使用阻塞读,这就意味这如果响应体不可用,连接将不能被重用。

    JDK1.5中的新特性 当应用接收到400或500的HTTP响应时,它将忽略IOException 而另发一个HTTP 请求。这种情况下,底层的TCP连接将不会再保持,因为响应内容还在等待被读取,socket 连接未清理,不能被重用。应用可以在捕获IOException 以后调用HttpURLConnection.getErrorStream() ,读取响应内容然后关闭流。但是现存的应用没有这么做,不能体现出长连接的优势。为了解决这个问题,介绍下workaround。
当响应体的状态码大于或等于400的时候,workaround 将在一定时间内缓存一定数量的响应内容,释放底层的socket连接来重用。基本原理是当响应状态码大于或等于400时,服务器端会发送一个简短的响应体来指明连接谁以及如何恢复连接。

   

下面介绍一些SUN实现中的特定属性来帮助接收到错误响应体后清理连接: 主要的一个是: sun.net.http.errorstream.enableBuffering=<布尔值> 默认: false

     当上面属性设置为true后,在接收到响应码大于或等于400是,HTTP 句柄将尝试缓存响应内容。释放底层的socket连接来重用。所以,即便应用不调用getErrorStream()来读取响应内容,或者调用 close()关闭流,底层的socket连接也将保持连接状态。
下面的两个系统属性是为了更进一步控制错误流的缓存行为: sun.net.http.errorstream.timeout=<int> in 毫秒 默认: 300 毫秒

     你如何做可以保持连接为连接状态呢? 不要忽略响应体而丢弃连接。这样会是TCP连接闲置,当不再被引用后将会被垃圾回收器回收。 如果getInputStream()返回成功,读取全部响应内容。如果抛出IOException ,捕获异常并调用getErrorStream() 读取响应内容(如果存在响应内容)。
即便你对响应内容不感兴趣,也要读取它,以便清理连接。但是,如果响应内容很长,你读取到开始部分后就不感兴趣了,可以调用close()来关闭流。值得注意的是,其他部分的数据已在读取中,所以连接将不能被清理进而被重用。
下面是一个基于上面建议的代码样例:

try
    URL a = new URL(args[0]); 
    URLConnection urlc = a.openConnection(); 
    is = conn.getInputStream(); 
    int ret = 0; 
    while ((ret = is.read(buf)) > 0) { 
      processBuf(buf); 
    }
    // close the inputstream
    is.close();
} catch (IOException e) {
    try {
        respCode = ((HttpURLConnection)conn).getResponseCode();
        es = ((HttpURLConnection)conn).getErrorStream();
        int ret = 0;
        // read the response body
        while ((ret = es.read(buf)) > 0) {
            processBuf(buf);
        }
        // close the errorstream
        es.close();
    } catch(IOException ex) {
        // deal with the exception
    }
}

  如果你预先就对响应内容不感兴趣,你可以使用HEAD 请求来代替GET 请求。例如,获取web资源的meta信息或者测试它的有效性,可访问性以及最近的修改。下面是代码片段:

URL a = new URL(args[0]);
URLConnection urlc = a.openConnection();
HttpURLConnection httpc = (HttpURLConnection)urlc;
// only interested in the length of the resource
httpc.setRequestMethod("HEAD");
int len = httpc.getContentLength();
posted @ 2013-04-10 21:16 何杨 阅读(315) | 评论 (0)编辑 收藏

看到很多童鞋讨论有关美剧学习英语到底有没有用,以及用哪部美剧练习,我在这里想说这只是一个参考,世界上没有绝 对的事情,究竟有没有用看个人,想必在校内上至少是高中生,大部分是大学生吧,如果你到现在还无法衡量自己的英语水平或者依旧被英语牵着鼻子走,我只能说 我很抱歉,我觉得这不仅是个人的悲哀更是中国教育的悲哀。如果你到现在连自己基本的评判标准的话,即使存在完美无缺的日志,你依旧照搬照抄,不适合自己的 实际情况,那一切皆为徒劳。就算这是学习英语的一条途径,有几个人能真的照着做呢?

  1. 不是所有的美剧都适合学英语

   如果喜欢看如《24小 时》这样的动作片, 那你基本会讲一口流利的”呯”"轰”"啊”之类的开枪爆炸声英语.如果你喜欢看如《豪斯医生》这种专业性很强的片子,那你基本会讲一些如 MRI,CT,Tumor之类的连自己都不明白的江湖郎中英语.如果看的是《越狱》,基本不用举手,别人就知道你是黑手党的了.不是所有剧都合适的,用来 学习的美剧,是要有一定对话量,生活化的,平民化的片子.   2. 开着字幕看是没有前途的

  很 多人喜欢开着字幕看,觉得会有参照更有帮助,其实这是在拖你的后腿.就像很多人结婚,喜欢找个比自己丑的伴娘,以为这样自己就进步了,事实上是被拖下水 了.中文是母语,对我们的眼球来说有无比强大的吸引力,只要在那里,你一定会看,就像放个美女在眼前,男人一定会看,不看的可能是老婆在一边,或是他爱人 也是个男人.一般人永远会不自觉通过中文字幕理解英语,而不是通过听懂-理解-记忆-重复,这样的过程学到英语.

  3.看一遍是不够的

   看 一遍根本不能叫学英语,充其量只能叫娱乐.如果是抱着学习的目的,必须反复看,精听,理解句子词语的意思,为我所用才行.如果看一遍,基本你就被情节彻底 打败了,或哭或笑,反复思考自己该拥有<HEROES>里的哪种超能力,担心下集可以下载前的日子该怎么过,哪还有心思管学英语这码事,哪怕 讲 的是柬埔寨语都无所谓.所以通过看个几遍,基本到了对剧情已经免疫的程度,如看老友记看到已经笑不出来了,那差不多可以洗干净耳朵仔细听了.

  给大家推荐几部我最喜欢用来正常学英语的美剧:

  1. 初级:Friends

  Friends是经典中的经典,对于英语初级水平的朋友来说,是突破发音和对话交流最好的美剧.整个剧都是人物间谈话,而且都很简短,没有长句,词汇非常简单,基本是plain english的典范.我发觉自己的英文有明显的提升,就是在看这部剧多达十遍后.

  2. 中级:Desperate Housewives

  这部剧讲述的是美国中产阶级的故事,所以用词和语言非常标准,相对于Friends有更多的长句和表达,非常适合中级水平的朋友学习.

  3. 高级:The West Wing

  这是关于美国白宫的政治题材美剧,整个剧基本都是对话,而且语速非常快,充斥着辩论和演讲,词汇也非常高级,听起来很有难度.如果能把这部剧都搞透了,真可以谢谢十八辈祖宗了.

通 过看美剧的方法,在2个月的时间内将《欲望都市》看了4至5遍,托福听力由原先的20分的水平升至了满分。她的做法就是,找到一部自己很喜欢的美剧,然后 先看一遍带中文字幕的。了解了大致的剧情,满足了自己休闲娱乐的好奇心,然后第二,三遍的时候开始看带双语字幕的,遇到不认识的生词,就停下来查一查,然 后记录。这样虽然比较费时,但是相比死气沉沉地不停地听抄听写,已经要生动很多。经过一段时间的积累,已经记了满满一本的生词和句型。这个时候,再去看第 四遍和第五遍,完全脱离拐杖,不带中英字幕。经过前面的积累,这时候再看情节已经轻松很多,并且能够深入理解每个人物在说这句对白时候的动机和理由,对语 言本身的理解也更深入了一步。于此同时,进行一下跟读。比如,听到一个人物的口语很好听,发音标准优雅,就刻意地进行一下模仿,体会一下她的语音、语调、 重音、节奏。这样在训练了听力的前提下,口语水平也会有大幅度地提升。要知道美剧当中的对白和旁白是最好的口语学习范本。

在看美剧学习语 言的时候要注意些什么?首先,注意发音。对于任何一门语言,语音是基础,它不仅包括单词的发音,还包括真实交际中词汇、习语的连读、失爆、弱化、浊化、重 音、缩读等一系列的音变形式。至于语调节奏,则是地道流利表达英语的润滑剂,没有接触过地道的外国人,没有和他们有过面对面的交谈,是很难感受到语调节奏 在表达思想中的巨大作用和强大震撼力的。因此要仔细地体会美剧之中,人物的发音和表达之中的语言习惯。其次,了解文化。语言是文化的载体,用词和句式使用 是否准确直接体现了对异国文化了解的程度。可以说,发音好其实只是与美国人的语言形似,如果能够掌握美国人的思维习惯和文化,用美国文化去思维,则可达到 神似的效果。这就是一种立体的学习方式,美剧则是这种学习方法最好的媒介。

一、准备好笔和纸,将笔放在鼠标旁边,将便笺放在屏幕和座椅之间,作好随时停顿和记录的预备动作。

二、只记录能引发自己内心感触和共鸣的语句和一些符合自身个性特色的句型及语法。

三、记录的时候最好不要分析思考和尝试记忆,待整个影片观看完毕之后,将统一回顾和整理。

四、一部章节或一部电影里面的典型句子和精彩对白记录完毕之后,一定要趁热打铁,想办法用上。(如通过写博客或者到英语角去操练。如果有参加培训班的话,一定不要放过任何能锻炼自己演讲口才的机会。)

五、 再告诉大家一个绝活:如果你发现了那种让自己百看不厌的经典英文影片,不妨通过全能音频转换通软件将它的MP3提取出来,然后到网站上下载完整的英文字 幕,再用LRC歌词编辑器将它做成同步显示歌词文本,放到自己的MP3或者电脑里,随时温习,处处操练。不知不觉这部影片的精髓尽入脑海,随时引用。从而 达到通过影视学英语的最终目的。


不少英语学习者都有这样的困惑:学了十几年的英语,通过了考试,能完全听懂标准语速的英语新闻广播,可就是听(看)不懂英语原版影视剧(无中文字幕),这使他们开始怀疑自己的听力能力。
    要解决这个问题,我们先来了解一下新闻英语和影视英语之间的区别。首先,两者在语体上有较大的区别。前者是书面语体的口头形式,用于正式的交际场合,经过 加工和润饰,比较文雅,是合乎标准的书面语言,因而使较多使用长句、复句、结构严谨的完整句。布局层次分明、逻辑关系严谨是它的主要特征。后者为口头语 体,以日常会话为基本形式,一般用于交际双方直接接触的场合,因而多使用短句、单句、省略句。随意性,不完整是它的主要特征。在英语学习过程中,我国的英 语学习者接触的绝大部分是书面语体。而在英语影视剧中,口头体的语言材料是最重要的特征,具体表现为口语中流行的惯用表达方式、俚语以...(未完)
posted @ 2013-04-08 21:48 何杨 阅读(243) | 评论 (0)编辑 收藏


阅读的时间:

1、早上5:30-6:00起床,有将近1小时的整块阅读时间,如果时间充足一点,会做些笔记.

2、包里放上7寸的阅读设备(以前是K3,这段时间换成NT),放上几十本排版不错的电子书,在有时间的时候看看,比如排队、等人、开会之类零散时间。

3、手机里放一些有声书,比如台湾的博客思听、每天八分钟、中医堂、百家讲坛,做车、做家务、身体锻炼时听听

4、睡前把所有事情都安排完,会拿本书在床上看上一会,然后睡觉。
5、所有读完第一遍,觉得不错的书,会开始读第二遍并做些笔记。
6、出差时如果周末有时间会找家环境好点的咖啡厅,看上半天或一天书。不出差如果周末有空闲时会去图书馆,带上笔记看上半天书,做个记录。
7、做飞机或动车时会准备二、三本纸制书,比较厚有些深度的那种,我发现自己在飞机上看书效果最好。看累了就做笔记或简评。
想多看点书的最有用的建议:就是关闭电脑、离开网络,有网络有电脑的地方永远会让你分心的
我看书效果最好的三个地方:飞机、图书馆、咖啡厅

-----------------------------------------------------------------------------------------------------------------------
总能在网上看到有人抱怨没有时间看书,在现在这个时代最影响注意力的东西就是网络,只要有了网络很容易浪费时间,不管是你用电脑、手机都是一样,点来点去,1个小时2个小时很快就没了,就在我在回答中说的,想多看点书最好的办法就是离开网络,下决心每天留出半小时或1小时的阅读时间,关电脑,关手机,开始看书,看完书做随手做些记录。

关于阅读设备:现在7寸的阅读器已经非常便宜了,K4和N2(Nook Simple Touch)也就700-800元左右,可以考虑买一个。放在包里,拷贝些电子书,有空的时间顺手就拿出来读一会。最好是E-Ink屏的,不要平板,平板什么都能做太容易分心了,我换成Nook Tablet之后,阅读的时间和数量要比K3少很多。

给个建议:最好不要在地铁或公交上用手机看书。颠簸中看小说、玩游戏,很容易引起视力功能尚未发育成熟的青少年视疲劳。一般来说,人们使用手机、平板电脑时,眼睛和屏幕的距离在20厘米左右,这样近距离且长时间地盯着屏幕看,容易使睫状肌产生疲劳,变成假性近视.,
在使用手持终端时,最好不要离屏幕太近,保持30厘米以上的距离最为适宜。同时尽量多眨眼,避免眼球过多地暴露在空气中,以减少眼部水分的蒸发。此外,应在休息时间经常站起来,活动活动颈部肌肉,最好找些有声书、Podcast或英语来听。

前二天在微博转的一句话:
每天花一点钟看10页有用的书,每年可看3600多页书,30年读11万页书。诸位,11万页书足可以使你成为一个学者了。可是,每天看三种小报也得费你一点钟的工夫;四圈麻将又得费你一点钟的光阴。看小报呢?还是打麻将呢?还是努力做一个学者呢?——胡适,纪念胡适先生逝世50周年。

就从今天开始培养你的阅读习惯吧,少上网、少玩会游戏,少聊天,少刷些豆瓣、微博,开始阅读。
posted @ 2013-04-06 22:37 何杨 阅读(209) | 评论 (0)编辑 收藏

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<hibernate-mapping package="com.ibm.heyang.XXX">
    
<class name="XXXClas" table="XXX_Table">
        
<id name="id" column="ID" >
            
<generator class="increment"/>
        
</id>
        
        
<property name="name" column="name" not-null="true"/>
        
<property name="content" type="text">
            
<column name="content" length = "16777216" />
        
</property>    
    
    
</class>
</hibernate-mapping>

以上length="16777216"
是关键,它会把字段对应到MySql的LONGTEXT类型.

以上是受到
http://sonyfe25cp.iteye.com/blog/830566
启发的.

posted @ 2013-04-02 23:18 何杨 阅读(5572) | 评论 (0)编辑 收藏

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 
<head>
  
<title> New Document </title>
  
<meta name="Generator" content="EditPlus">
  
<meta name="Author" content="">
  
<meta name="Keywords" content="">
  
<meta name="Description" content="">
 
</head>

 
<body>
  
 
</body>
</html>
<script type="text/javascript">
<!--
window.onload
=function(){
    
var member=new Object;

    member.age
=35;
    member.name
="Heyang";
    member.display
=function(){
        alert(
this.name+" "+this.age);
    };

    alert(getObjAllProperties(member,
"member"));
};

function getObjAllProperties(obj,objName){
    
var retval="";

    
for(var p in obj){
        retval
+=objName+"[\""+p+"\"]="+obj[p]+"\n";
    }

    
return
 retval;
}

//-->
</script>
posted @ 2013-03-20 12:34 何杨 阅读(712) | 评论 (0)编辑 收藏

一切原创性和先发性的事情都蕴涵一个基本原理,那就是当你真心去做的时候,上天的祝福也将随之而来.
posted @ 2013-03-13 14:11 何杨 阅读(226) | 评论 (0)编辑 收藏

关于让网页中的JavaScript函数自动执行,方法就多洛,但是万变不离其宗,下面给大家介绍一下!

  前提条件,网页中必须有JS函数代码,或者,使用文件导入的方法也行:

  在HTML中的Head区域中,有如下函数:

   <SCRIPT   LANGUAGE="JavaScript">  
  functionn MyAutoRun()
  {  
   //以下是您的函数的代码,请自行修改先!
   alert("函数自动执行哦!");   
  }   
  </SCRIPT>

  下面,我们就针对上面的函数,让其在网页载入的时候自动运行!

  ①第一种方法

  将如上代码改为:

   <SCRIPT   LANGUAGE="JavaScript">  
  functionn MyAutoRun()
  {  
   //以下是您的函数的代码,请自行修改先!
   alert("函数自动执行哦!");   
  }   
  window.onload=MyAutoRun; //仅需要加这一句
  </SCRIPT>

  ②第二种方法

  修改网页的Body为:

  <body onLoad="MyAutoRun();">

  或者改为:

  <body onLoad="javascript:MyAutoRun();">  

  ③第三种方法

  使用JS定时器来间断性的执行函数:

  setTimeout("MyAutoRun()",1000);   //隔1000毫秒就执行一次MyAutoRun()函数

  实现方法,将最上面的那JS函数,改为:

   <SCRIPT   LANGUAGE="JavaScript">  
  functionn MyAutoRun()
  {  
   //以下是您的函数的代码,请自行修改先!
   alert("函数自动执行哦!");   
  }   
  setTimeout("MyAutoRun()",1000); //这样就行拉
  </SCRIPT>

本文转载自:
http://blog.163.com/long_alfred/blog/static/188238279201161591355842/
posted @ 2013-03-12 17:50 何杨 阅读(414) | 评论 (0)编辑 收藏

1.我希望当初我有勇气过自己真正想要的生活,而不是别人希望我过的生活。
这是所有后悔的事中最常听到的。心理学上有个理论,较之那些我们做过的事,人们后悔的往往是那些没做的事。所以当人们在生命尽头往回看时,往往会发现有好多梦想应该实现,却没有实现。你的生活方式、你的工作、你的感情、你的伴侣,其实我们多少人过着的是别人希望你过的生活,而不是自己真正想要的生活——又可能,一直以来你把别人希望你过的生活当作是你想要的生活。当你疾病缠身时,才发现其实自己应该而且可以放下很多顾虑追求你要的生活,似乎已经晚了一点。

2.我希望当初我没有花这么多精力在工作上。
Ware说这是她照顾过的每一个男病人会说的话。因为工作,他们错过了关注孩子成长的乐趣,错过了爱人温暖的陪伴,这是他们最深的后悔与愧疚。其实对于现在的职业女性来说,这也将成为一个问题。黑马乐如果把你的生活变简单些,你也许会发现自己在做很多你以为你需要做其实不需要你做的事。腾出那些事占的空间,可能你会过得开心一点。

3.我希望当初我能有勇气表达我的感受。
太多的人压抑自己的感受与想法,只是为了“天下太平”,不与别人产生矛盾。渐渐他们就成了中庸之辈,无法成为他们可以成为的自己。其实,有很多疾病与长期压抑愤怒与消极情绪有关。也许当你直言不讳,你会得罪某些人。但可能从此以后因为你的中肯,你们不打不相识;又或者翻脸,正好让你摆脱这种需要你压抑自己感受才能维持的累人关系。不管哪一种结果,你都是赢家,不是吗?——不过当然,直言不讳还是有底线的。

4.我希望当初我能和朋友保持联系。
老朋友的好,我们总要到自己有事了的时候才会想到。多少人因为自己忙碌的生活忽略了朋友忽略了曾经闪亮的友情。很多人临终前终于放下钱、放下权,却放不下心中的情感与牵挂。朋友也好,爱人也罢,其实生命最后的日子里,他们才是我们最深的惦念。

5.我希望当初我能让自己活过开心点。
也许有点出乎意料,但这一条也在前5之中。很多人直到生命的最后才发现,“快乐是选择”。他们在自己既定习惯和生活方式中太久了,习惯了掩饰,习惯了伪装,习惯了在人前堆起笑脸。就像五月天的那首歌,“你不是真正的快乐,你的笑只是你给的保护色”。他们以为是生活让他们不快乐,其实是他们自己让自己不快乐了。

转载自:
http://qing.weibo.com/tj/a59767ce33002xpo.html
posted @ 2013-03-12 17:43 何杨 阅读(201) | 评论 (0)编辑 收藏

/****************************************************
 * toCurrency: convert a number to currency
 * @param value
 * @returns {String}
 *
 ***************************************************
*/
function toCurrency(money) {  
    
if (/[^0-9\.]/.test(money)){
        
return '0.00';
    }

    money 
= money.replace(/^(\d*)$/"$1.");
    money 
= (money + "00").replace(/(\d*\.\d\d)\d*/"$1");
    money 
= money.replace("."",");
    
var re = /(\d)(\d{3},)/;
    
while (re.test(money)) {
        money 
= money.replace(re, "$1,$2");
    }
    money 
= money.replace(/,(\d\d)$/".$1");

    
return '' + money.replace(/^\./"0.")+" ";
}
posted @ 2013-03-01 22:04 何杨 阅读(370) | 评论 (0)编辑 收藏

修补的代价太大了.
posted @ 2013-03-01 21:29 何杨 阅读(181) | 评论 (0)编辑 收藏

select
     TO_CHAR(A.CREATE_TIMESTAMP,'YYYY-MM-DD HH24:MI:SS') as CREATE_TIMESTAMP
from
      table A

TO_CHAR是转化函数
YYYY-MM-DD HH24:MI:SS 是格式
 
posted @ 2013-03-01 13:22 何杨 阅读(7324) | 评论 (0)编辑 收藏

项目里又搞了个branch需要重新开个workspace下载去,嫌麻烦也得去做.
下载第一次,或许因为是网络问题,文件不全,IDE报错了.
于是删掉已经下载的,再来,一段时间后下好了,这回行,没错.
可是Build到75%就走不下去了.吃饭等,吃完还是75%!!
没招,心想是不是又下出问题了?于是再下一次,问题依旧.
以上时间耗费一下午了.
眼看要耽误进度,于是网络找钥匙,很多地方有说在Eclipse启动参数加上 -vmargs -Xmx512M.
如法炮制,涛声依旧.
都要气翻了.

没办法,换一个workspace,在重新来一边.好了!
估计还是第一遍下的文件搞坏了.
早知如此,何必耽误那么长时间.
posted @ 2013-02-24 18:19 何杨 阅读(1533) | 评论 (0)编辑 收藏

function convertMoney(value) {  
    var digital=Math.floor(value);
    var arr=digital.toString().split("").reverse();
    
    var t = "";  
    for(var i = 0; i < arr.length; i ++ ){  
      t += arr[i] + ((i + 1) % 3 == 0 && (i + 1) != arr.length ? "," : "");  
    }
    return t.split("").reverse().join("");
}
posted @ 2013-02-20 16:16 何杨 阅读(262) | 评论 (0)编辑 收藏

http://www.cnblogs.com/evilyang/archive/2012/02/17/2355218.html

一、使用场景

   服务端获得的DataTable转化为Json格式后传递给客户端dojo,dojo将json数据直接绑定在dojox.grid.DataGrid上

二、基本用法

1.客户端页面DataToJson.aspx返回一个Json数据

复制代码
    private void Json()
    {
        DataTable dt = this.GetData();
        string str = JsonHelper.DateTableToJson(dt);
        Response.Write(str);
        Response.End();
    }
复制代码
 2.利用ajax接受json数据

dojox.grid.DataGrid凭借dojo.data.ItemFileWriteStore可以轻松具有ajax功能

使用dojo.grid.DataGrid首先做如下准备工作

a.引入样式表

<link rel="Stylesheet" href="dojo-re/dojox/grid/resources/soriaGrid.css" />
b.引入所需库
dojo.require("dojo.parser");
dojo.require("dijit.form.Button"); 
dojo.require("dojox.grid.DataGrid");

dojo.require("dojo.data.ItemFileWriteStore");

dojo.require("dojox.layout.FloatingPane");
c.编写代码
复制代码
<script type="text/javascript">
        function Grid1() {
            var data = new dojo.data.ItemFileWriteStore({
                url: "DataToJson.aspx"
            });
            var structure = [
                { name: "用户名", field: "userName", width: "120px" },
                { name: "密码", field: "userPwd", width: "120px" },
                { name: "电子邮件", field: "email", width: "150px;" },
                { name: "博客", field: "blog", width: "150px" },
                { name: "生日", field: "birthday", width: "120px" },
                { name: "年龄", field: "age", width: "80px" },
                { name: "备注", field: "description", width: "120px" }
            ];
            var grid = new dojox.grid.DataGrid({
            store: data,
            structure:structure
            },"grid1");
            grid.startup();
        }
        function ShowFloatingPane() {
            var floatingPane = dijit.byId("dFloatingPane");
            floatingPane.show();
            Grid1();
        }
    </script>
复制代码

 所需HTML

复制代码
   <div >
        <div data-dojo-type="dojox.layout.FloatingPane" id="dFloatingPane"
           title
="A floating pane" data-dojo-props="resizable:true, dockable:true, title:'A floating pane'"
           style
="position:absolute;top:150px;left:400px;width:600px;height:400px; visibility:hidden">
             <div id="grid1" style="width:450px; height:350px"></div>
        </div>
    </div>
<div data-dojo-type="dijit.form.Button" data-dojo-props="label:'Show me', onClick:ShowFloatingPane"></div>
 
复制代码

 d.运行结果如下:

 

 三、继续完善DataGrid功能

1,增加搜索条件

query:{userName:"evilyang",id:"*"},

 2,隐藏一列,不显示

 {name:"密码",field:"userPwd",width:"100px",hidden:"true"}

3,为某一列增加一个样式名

 <style type="text/css">
    .name{ font-style:italic; font-size:14px; color:Red;}
    </style>
{ name: "用户名", field: "userName", width: "120px" ,classes:"name"}
 4,为某一列直接增加一个样式
{ name: "电子邮件", field: "email", width: "150px;",styles:"text-align:center;" },
5,固定前两列

更改structure结构,加入noscroll属性

复制代码
var structure = [{
                noscroll: true,
                cells: [
                { name: "用户名", field: "userName", width: "80px", classes: "name" },
                { name: "密码", field: "userPwd", width: "80px", hidden: "true" },
                { name: "电子邮件", field: "email", width: "150px;", styles: "text-align:center;" }    
                ]
            }, {
                cells: [
                { name: "博客", field: "blog", width: "120px" },
                { name: "生日", field: "birthday", width: "120px" },
                { name: "年龄", field: "age", width: "50px" },
                { name: "备注", field: "description", width: "120px" }
                ]
            }];
复制代码

 6,cell中的样式设置默认模式

defaultCell:{width:"80px",styles:"text-align:center;"},
 这样设置完后,每一列的属性就不必单独设置了

7, 其他属性

selectionMode: "extended", //none,single,multiple
loadingMessage: "请等待,数据正在加载中......",
 errorMessage: "对不起,你的请求发生错误!",
 columnReordering:true//此属性设置为true,可以拖拽标题栏,更换列顺序

new dojox.grid.cells.RowIndex({ name: "编号", width: "20px" })//加入自编号

四、数据显示高级功能

1, RowClick事件

复制代码
grid.on("RowClick", function(evt) {
                var idx = evt.rowIndex,
                    item = this.getItem(idx),
                    store = this.store;
                    content = dojo.byId("content");
                    content.innerHTML="you have clicked on rows " + store.getValue(item, "id");
          }, true);
复制代码

 2,SelectionChanged事件

复制代码
grid.on("SelectionChanged",dojo.hitch(grid, reportSelection), true);
function reportSelection() {
            var items = this.selection.getSelected(),
                        msg = "你选择了以下数据";
            var tmp = dojo.map(items, function(item) {
                return this.store.getValue(item, "id");
            }, this);
            var content = dojo.byId("content");
            content.innerHTML = msg + tmp.join(",");
           
        }
复制代码

五、显示效果如下图:


posted @ 2013-02-18 17:09 何杨 阅读(3933) | 评论 (0)编辑 收藏

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> New Document </title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
 </head>

 <body>
<input id="decimalTxt" />&nbsp;
<button id="showBtn" >Click</button>
 </body>
</html>
<script type="text/javascript">
<!--
window.onload=function(){
    document.getElementById("showBtn" ).onclick=function(){
        var value=document.getElementById("decimalTxt" ).value;
        alert(toCurrency(value));
    };
};

function toCurrency(money) {  
   if (/[^0-9\.]/.test(money)){
        return '0.00';
    }

    money = money.replace(/^(\d*)$/, "$1.");
    money = (money + "00").replace(/(\d*\.\d\d)\d*/, "$1");
    money = money.replace(".", ",");
    var re = /(\d)(\d{3},)/;
    while (re.test(money)) {
        money = money.replace(re, "$1,$2");
    }
    money = money.replace(/,(\d\d)$/, ".$1");

    return '' + money.replace(/^\./, "0.");
}  
//-->
</script>
posted @ 2013-02-18 16:30 何杨 阅读(1182) | 评论 (0)编辑 收藏

<a href="#" style="cursor:default">aaa</a>    
default 默认光标(通常是一个箭头) auto 默认。浏览器设置的光标。
crosshair 光标呈现为十字线。
pointer 光标呈现为指示链接的指针(一只手) move 此光标指示某对象可被移动。
e-resize 此光标指示矩形框的边缘可被向右(东)移动。 ne-resize 此光标指示矩形框的边缘可被向上及向右移动(北/东)。
nw-resize 此光标指示矩形框的边缘可被向上及向左移动(北/西)。
n-resize 此光标指示矩形框的边缘可被向上(北)移动。
se-resize 此光标指示矩形框的边缘可被向下及向右移动(南/东)。
sw-resize 此光标指示矩形框的边缘可被向下及向左移动(南/西)。
s-resize 此光标指示矩形框的边缘可被向下移动(北/西)。
w-resize 此光标指示矩形框的边缘可被向左移动(西)。
text 此光标指示文本。
wait 此光标指示程序正忙(通常是一只表或沙漏)。
help 此光标指示可用的帮助(通常是一个问号或一个气球)。
posted @ 2013-02-01 10:56 何杨 阅读(882) | 评论 (0)编辑 收藏

http://www-01.ibm.com/support/docview.wss?uid=swg27014463
posted @ 2013-01-17 16:20 何杨 阅读(373) | 评论 (0)编辑 收藏

此函数相当于Oracle中的NVL且更方便,它完全可以取代SQL中的CASE.

用法:
COALESCE(A,B,C,D...);

说明:
若A为空;则取B,若B为空,则取C;...;依此类推.

用例:
        sb.append("    select ");
        sb.append("        COALESCE(t03.EMP_USER_NAME,'') as sellerName,");
        sb.append("        COALESCE(t03.EMP_LOTUS_MAIL,'') as sellerNotesMail,");
        sb.append("        COALESCE(t03.EMP_INTERNET_ID,'') as sellerIntranetId,");
        sb.append("        COALESCE(t04.BUSINESS_UNIT_NAME,'') as busiNessUnit,");
        sb.append("        COALESCE(t02.TOPT_JOB_ROLE_NAME,'') as jobRoleName,");
        sb.append("        t01.TERRITORY_NAME as territoryName");
        sb.append("    from");
        sb.append("        topt.territory  t01");
        sb.append("        left join topt.job_role   t02 on t01.ROLE_KEY=t02.ROLE_KEY  ");
        sb.append("           left join FRS.Resource    t03 on t01.EMP_UID=t03.RESOURCE_EMPLOYEE_UID");
        sb.append("        left join TOPT.BUSINESS_UNIT t04 on t01.BUSINESS_UNIT_KEY=t04.BUSINESS_UNIT_KEY        ");
        sb.append("    where ");
        sb.append("        t01.TERRITORY_KEY=? ");
        String sql = sb.toString();
posted @ 2012-12-24 14:34 何杨 阅读(3993) | 评论 (0)编辑 收藏

1.StringUtils.join
使用方法:
String result=StringUtils.join(arr,'','');
如果arr=["1","2","3","A","B","C"];
那么result="1,2,3,A,B,C";
这个用在in查询的场合很好.
如果要颠倒过来,用String[] arr=result.split(",");就好了.
当然,String.split也是一个非常实用的函数.

2.MessageFormat.format
使用方法:
String message = "Territory {0} has been transferred to Team {1}.";
Object[] params={"A1","B2"};
String transferMsg = MessageFormat.format(message,params);//Territory A1 has been transferred to Team B2.
这个函数用于预设空缺待填文本的场合很好.

posted @ 2012-12-24 14:29 何杨 阅读(325) | 评论 (0)编辑 收藏

 Select filed from schema.table where condition  fetch first 1024 rows only

与select top 同等效果.
posted @ 2012-12-20 20:20 何杨 阅读(335) | 评论 (0)编辑 收藏

编码调试过程中,常有Sql语句的调试任务,这种任务比较麻烦的一点在于需要手工将?替换成参数,如果参数有十来个就够让人头疼的.
为了减轻这种无谓的劳动,本人设计了一个类来代替完成这种累而又容易让人出错的活.
下面是代码:
package com.heyang;

import java.text.MessageFormat;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 将SQL语句中的问号替换成参数
 * 此类用于调试SQL时减轻手工加入参数的劳动量
 * 
@author heyang@gmail.com
 *
 
*/
public class SqlCompletion{
    
// 输入的SQL语句
    private String sql;
    
    
// 输入的参数
    private String[] arr;
    
    
// 构造函数
    public SqlCompletion(String sql,Object[] params){
        
this.sql=sql;
        
        arr
=new String[params.length];
        
        
for(int i=0;i<arr.length;i++){
            arr[i]
="'"+params[i].toString()+"'";
        }
    }
    
    
/**
     * 取得将问号替换成参数的补全SQL
     * 
@return
     
*/
    
public String getCompletedSql(){
        Pattern p 
= Pattern.compile("\\?",Pattern.CASE_INSENSITIVE);

        Matcher m 
= p.matcher(sql);
        StringBuffer sb 
= new StringBuffer();

        
boolean result = m.find();
        
int index=0;

        
while (result) {
            m.appendReplacement(sb, 
"{"+index+"}");
            index
++;
            result 
= m.find();
        }
        m.appendTail(sb);
        String repSql
=sb.toString();

        
        
return MessageFormat.format(repSql,arr);
    }
    
    
// 测试
    public static void main(String[] args){
        Object[] params
={"c1","c2","c3","c4"};
        SqlCompletion s
=new SqlCompletion("select * from t where t.f1=? and t.f2=? and t.f3=? and t.f4=? ",params);
        System.out.println(s.getCompletedSql());        
    }
}

输出结果是:
select * from t where t.f1='c1' and t.f2='c2' and t.f3='c3' and t.f4='c4'

你可以把此类拷贝到你的项目中,只要标明我是原作者就行.
posted @ 2012-12-17 22:55 何杨 阅读(551) | 评论 (0)编辑 收藏

POI是Java对Office操作的常用工具包,网上资料有很多,但良莠不齐,临时便找边试容易耽误时间,故收集一些常用操作在这里以便查阅.

1.创建Sheet
Sheet sheet = workbook.createSheet();
workbook.setSheetName(0, "Sheet0");

2.设置列宽
static final int[] COLUMN_WIDTHS = new int[] { 4*3500, 2*3500, 5*3500,
            2*3500, 3*3500, 3*3500, 3500, 3*3500, 2*3800, 2*3500};
for (int colnum = 0; colnum < COLUMN_WIDTHS.length; colnum++) {
    sheet.setColumnWidth(colnum, COLUMN_WIDTHS[colnum]);
}

3.设置缺省行高
sheet.setDefaultRowHeight((short)360);

4.设置某一行行高
Row rowFirst = sheet.createRow(0);
rowFirst.setHeightInPoints(20.0f);

5.给单元格设置字体及下边框
Cell cell00 = rowFirst.createCell(0);
cell00.setCellValue("abc123");            

HSSFFont fontAriel12Bold = workbook.createFont();
fontAriel12Bold.setFontName("Arial");
fontAriel12Bold.setFontHeightInPoints((short)12);
fontAriel12Bold.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
fontAriel12Bold.setColor(HSSFColor.RED.index);

HSSFCellStyle cell00FontStyle = workbook.createCellStyle();
cell00FontStyle.setBorderBottom(HSSFCellStyle.BORDER_THICK);
cell00FontStyle.setFont(fontAriel12Bold);
cell00.setCellStyle(cell00FontStyle);

6.给单元格设置背景色
HSSFCellStyle blueStyle = workbook.createCellStyle();
blueStyle.setBorderTop(HSSFCellStyle.BORDER_THICK);
blueStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
blueStyle.setFillForegroundColor(HSSFColor.SKY_BLUE.index);
blueStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
Cell cell=row9.createCell(0);
cell.setCellStyle(blueStyle);
posted @ 2012-12-14 17:45 何杨 阅读(336) | 评论 (0)编辑 收藏

sqlcode sqlstate 说明
000 00000 SQL语句成功完成

01xxx SQL语句成功完成,但是有警告
+012 01545 未限定的列名被解释为一个有相互关系的引用
+098 01568 动态SQL语句用分号结束
+100 02000 没有找到满足SQL语句的行
+110 01561 用DATA CAPTURE定义的表的更新操作不能发送到原来的子系统
+111 01590 为2型索引设置了SUBPAGES语句
+117 01525 要插入的值的个数不等于被插入表的列数
+162 01514 指定的表空间被置为检查挂起状态
+203 01552 使用非唯一的名字来解决命名的限定列
+204 01532 命名的对象未在DB2中定义
+206 01533 命名的列不在SQL语句中指定的任何表中存在
+218 01537 因为SQL语句引用一个远程对象,不能为该SQL语句执行EXPLAIN
+219 01532 命名的PLAN TABLE不存在
+220 01546 不正确定义PLAN TABLE,检查命名列的定义
+236 01005 SQLDA中的SQLN的值至少应于所描述的列的个数一样大
+237 01594 至少有一个被描述的列应该是单值类型,因此扩展的SQLVAR条目需要另外的空间
+238 01005 至少应有一个被描述的列是一个LOB,因此扩展的SQLVAR条目需要另外的空间
+239 01005 至少应有一个被描述的列应是单值类型,因此扩展的SQLVAR条目需要另外的空间
+304 01515 该值不能被分配给宿主变量,因为该值不再数据类型的范围之内
+331 01520 不能被翻译的字符串,因此被设置为NULL
+339 01569 由于与DB2 2.2版本的子系统连接,所以可能存在字符转换问题
+394 01629 使用优化提示来选择访问路径
+395 01628 设置了无效的优化提示,原因代码指定了为什么,忽略优化提示
+402 01521 未知的位置
+403 01522 本地不存在CREAT ALIAS对象
+434 01608 在DB2未来发布的版本中将不支持指定的特性,IBM建议你停止使用这些特性
+445 01004 值被CAST函数截取
+462 01Hxx 由用户定义的函数或存储过程发出的警告
+464 01609 命名的存储过程超出了它可能返回的查询结果集的个数限制
+466 01610 指定由命名的存储过程返回的查询结果集的个数。成功完成
+494 01614 由存储过程返回的结果集的个数超过了由ASSOCIATE LOCATORS语句指定的结果集定位器的个数
+495 01616 因为倒台SQL的成本估算超出了在ELST中指定的警告阀值,所以发出警告
+535 01591 请求一个主健的定位更新,或请求一个使用自我引出 约束的表的删除操作
+541 01543 命名外健是一个重复的引用约束
+551 01548 命名的授权ID缺少在命名的DB2对象上执行命名操作的权限
+552 01542 命名的授权ID缺少执行命名操作的权限
+558 01516 已经被授权该PUBLIC,因此WITH GRANT OPTION不可用
+561 01523 对ALTER REFERENCES INDEX 和TRIGGER特权,PUBLIC AT ALL LOCATION无效
+562 01560 因为GRANTEE已经拥有这些特权,所以一个或更多的特权被忽略
+585 01625 模式名指定了不止一次
+599 01596 没有为长字符数据类型(BLOB,CLOB和DBCLOB)建立比较函数
+610 01566 由于建立了一个指定为DEFER YES的索引,指定的对象处于PENDING状态,或者因为使用了ALTER INDEX改变关键值的范围,所以指定的对象处于PENDING状态
+625 01518 因为删除了主健索引,所以表定义被标注为不完整
+626 01529 删除了加强UNIQUE约束的索引,唯一性不在被加强
+645 01528 因为建立的索引中没有包含NULL,所以WHERE NOT NULL被忽略
+650 01538 不能更改或者建立已命名的表为从属表
+653 01551 在已指定的分区表空间中尚没有建立指定的分区索引,所以分区索引不可得
+655 01597 为CREATE或ALTER STOGROUP语句指定特定或者非特定的卷ID,在DB2较新发布的版本中(版本6以后)将不再支持他们
+658 01600 当建立目录索引时,不能指定SUBPAGES语句,SUBPAGES将被忽略,并缺省为1
+664 01540 分区索引的限制关键字超出了最大值
+738 01530 已命名的对象的更改可能像只读系统中对象的改变要求一样
+799 0157 SET语句中引用的特定寄存器不存在,将忽略 SET请求
+802 01519 数据溢出或者因除法异常而引起的数据异常错误
+806 01553 ISOLATION(RR)与LOCKSIZE PAGE 冲突
+807 01554 由于十进制乘法导致溢出
+863 01539 连接成功,但是只支持SBCS
+2000 56094 SUBPAGES不等于1的1型索引不能成为数据共享环境中的缓冲池组依赖者
+2002 01624 因为指定的缓冲池不允许超高速缓存,GNPCACHE指定被忽略
+2007 01602 因为DB2子系统的参数禁用“提示(hiats)”所以不能指定优化提示
+30100 01558 分布式协议错误被检测到,提供原来的SQLCODE和SQLSTATE
-007 42601 SQL语句中由非法字符
-010 42603 字符串常量非正常终止;检查到有遗漏的引号标志
-029 42601 需要INTO语句
-060 42815 某特定数据类型的长度或者标量规范无效
-084 42612 不能执行SQL语句,因为该语句对动态SQL无效或者对OS/390的DB2无效
-097 42601 在单位类型、用户自定义的函数以及过程中不能使用带有CAST的LONG VARCHAR或LONGVARGRAPHIC
-101 54001 SQL语句超出了已确定的DB2限制:例如,表的数目太多,语句中的字节太多
-102 54002 字符串常量太长
-103 42604 无效数学文字
-104 42601 SQL语句中遇到非法符号
-105 42604 无效的字符串格式;通常引用一个格式不正确的图形字符串
-107 42622 对象名太长
-108 42601 RENAME语句中指定的名字有错误,不能使用限定词
-109 42601 指定了无效语句;例如CREATE VIEW不能包含ORDER BY 语句
-110 42606 遇到了无效的十六进制的文字
-111 42901 指定的列函数没有给出列名
-112 42607 无效的列函数语法;列函数不能运行与其他的列函数之上
-113 42602 遇到无效字符
-114 42961 该语句的位置名称必须与当前服务器匹配,但是却没有匹配
-115 42601 因为比较运算符没有伴着一个表达式或者列表,遇到了无效谓词
-117 42802 待插入的数值的个数于被插入的行中的列数不相等
-118 42902 数据修改语句(UPDATE或DELETE)和FROM语句中的表和视图命名不合法
-119 42803 HAVING语句中的列的列表与GROUP BY语句中的列列表不匹配
-120 42903 不允许WHERE语句、SET语句、VALUES语句或者SET ASSIGNMENT语句引用列函数
-121 42701 在INSERT或UPDATE语句中,某一列被非法引用了两次
-122 42803 非法使用了列函数。因为没有用于一个列函数的所有列不再GROUP BY语句中
-123 42601 特定位置的参数必须是一个常数或者一个关键词
-125 42805 ORDER BY语句中指定了无效数字,该数字要么小于1要么大于选定的列数
-126 42829 不能为一个UPDATE语句指定ORDER BY语句
-127 42905 在子选择中DISTINCT只能指定一次
-128 42601 SQL谓词中NULL使用不当
-129 54004 SQL语句中包含的表多于15个
-130 22019 ESCAPE语句必须为一个字符

22025 无效的ESCAPE模式
-131 42818 LIKE谓词只能用于字符数据
-132 42824 LIKE语句、ESCAPE语句、LOCATE函数或POSSTR函数中有无效运算对象
-133 42906 无效相关子查询引用
-134 42907 大于255字节的列被不正确使用
-136 54005 排序关键字的长度大于4000字节
-137 54006 被连接的字符串太大;字符的最大值为32767;图形的最大值为16382
-138 22011 SUBSTR列函数的第二个或第三个操作符无效
-142 42612 不支持的SQL语句。该语句可能在另外的RDBMS上有效,也有可能在其他的上下文中有效(例如,VALUES只能在触发器中出现)
-144 58003 指定的段号无效
-147 42809 某一源函数不能更改。要改变源函数,必须删除该源函数并重新建立他
-148 42809 RENAME和ALTER无法执行。RENAME不能对视图或者活动RI.ST表重新命名。ALTER不能用于改变列的长度,因为该列参与了RI、一个用户退出程序、全局的临时表或打开DATACAPTURE CHANGES表的列
-150 42807 触发活动的INSERT,UPDATE或DELETE语句中指定了无效的视图更新或一个无效的转换表
-151 42808 试图更新一个不可更新的视图的列、一个DB2 CATALOG表的列或者一个ROWID列
-152 42809 DROP CHECK试图删除一个参照约束,或者DROP FOREIGN试图删除一个检查约束
-153 42908 无效的视图建立请求,必须为旋转列表中列出的列出的未命名的列或者重复的列提供一个名字
-154 42909 不能用UNION、UNION ALL或者一个远程表建立视图
-156 42809 在视图上建立索引是非法的,或者在ALTER TABLE,CREATE TRIGGER,DROP TABLE或LOCK TABLE语句上指定一个不是表的其他对象这是无效的
-157 42810 必须在FOREIGN KEY语句中指定一个表名
-158 42811 视图的列和选择列表中的列不相匹配
-159 42089 无效DROP或COMMENT ON语句
-160 42813 对该视图的WITH CHECK OPTION无效
-161 44000 正被更新的视图WITH CHECK OPTION语句使得这行不能被插入或更新
-164 42502 用户没有建立这个视图的权限
-170 42605 标量函数指定了无效的参数个数
-171 42815 标量函数指定了无效的数据类型长度或者无效数值
-173 42801 在非只读型的游标上不能指定隔离级别UR
-180 22007 DATE、TIME、TIMESTAMP值的字符串表示法的语法不对
-181 22001 不是有效的DATE、TIME、TIMESTAMP值
-182 42816 在算术表达式中的日期/时间值无效
-183 22008 在算术表达式中返回的日期/时间值的结果不在有效值的范围内
-184 42610 没有正确使用日期/时间值的参数标记
-185 57008 没有定义本定的日期/时间出口
-186 22505 改变本定的日期/时间出口引发这个程序的长度无效
-187 22506 MVS返回无效的当前日期/时间
-188 22503 字符串表示无效
-189 22522 指定的编码字符集的ID无效或没有定义
-190 42837 不能象所设定的那样改变(ALTER)列。只能改变(ALTER)VARCHAR列的长度
-191 22504 字符串中包含了无效的混合数据
-197 42877 当两个或多个表被联合在一起排序时,限定的列名不能在ORDER BY语句中使用
-198 42617 试图对空的字符串发布一个PREPARE或EXECUTE IMMEDIATE语句
-199 42601 SQL语句中使用了非法关键词
-203 42702 模糊列引用
-204 42704 没有定义的对象名
-205 42703 指定的表的列名无效
-206 42703 列名没有在FROM语句所引用的任何表中,或者没有在定义触发器所在的表中
-208 42707 不能ORDER BY指定列,应为该列不在选择列表中
-212 42712 指定的表名在触发器中不允许多次使用,只能使用一次
-214 42822 DISTINCT、ORDER BY 引起的无效表达式
-219 42704 因为PLAN_TABLE不存在,EXPLAIN无法执行
-220 55002 遇到无效的PLAN_TABLE列
-221 55002 如果为PLAN_TABLE定义了可供选择的列,那么,必须定义所有的列
-229 42708 指定的现场找不到
-240 428B4 LOCK TABLE语句的PART子句无效
-250 42718 没有定义本地位置名
-251 42602 记号无效
-300 22024 宿主变量或参数中的字符串不是以NULL为终止
-301 42895 无效的宿主变量数据类型
-302 22001 输入的变量值对指定的列无效

22003 输入的变量值对指定的列而言太大
-303 42806 因为数据类型不兼容,不能分配数值
-304 22003 因为数据超出了范围,不能分配数值
-305 22002 没有NULL指示符变量
-309 22512 因为引用的宿主变量被设置成NULL,所以谓词无效
-310 22501 十进制的宿主变量或参数包含非十进制数据
-311 22501 输入的宿主变量长度无效,或者时负值或者太大
-312 42618 没有定义宿主变量或者宿主变量不可用
-313 07001 宿主变量的个数不等于参数标识的个数
-314 42714 模糊的宿主变量引用
-327 22525 在最后分区的关键字范围内,不能插入行
-330 22021 不能成功的翻译字符串
-331 22021 字符串不能分配到宿主变量,因为其不能成功的被翻译
-332 57017 不能为两个命名的编码字符集的ID定义翻译规则
-333 56010 子类型无效导致翻译失败
-338 42972 ON语句无效,必须引用连接的列
-339 56082 访问DB2 2.2版本的子系统被拒绝,原因时ASCII到EBCDIC翻译不能进行
-350 42962 无效的大对象规范
-351 56084 SELECT列表中有不支持的数据类型
-352 56084 输入列表中有不支持的数据类型
-355 42993 LOB列太大,以至不能被记录在日志中
-372 428C1 每个表只允许有一个ROWID列
-390 42887 在上下文中指定的函数无效
-392 42855 自从前一次FETCH以来,指定游标的SQLDA已被不恰当的改变
-396 38505 在最后的访问过程中,视图执行SQL语句
-397 428D3 在某一列上不恰当的指定了GENERATED因为该列不是ROWID数据类型
-398 428D2 为某一个宿主变量请求LOCATOR,但是该宿主变量不是一个LOB
-399 22511 在INSERT语句中为ROWID列指定的值无效
-400 54027 在DB2编目中定义的用户自定义索引不能超过100个
-401 42818 算术操作符或比较操作符的操作对象不是兼容的
-402 42819 算术函数不能用于字符或日期时间数据
-404 22001 SQL语句指定的字符串太长
-405 42820 数值文字超出了范围
-406 22003 计算出的或者倒出的数值超出了范围
-407 23502 不能把NULL值插到定义为NOT NULL的列中
-408 42821 数值不能被更新或插入,因为他与列的数据类型不兼容
-409 42607 COUNT函数指定的运算对象无效
-410 42820 浮点文字笔30个字符的最大允许长度长
-411 56040 CURRENT SQLID使用无效
-412 42823 在子查询的选择列表中遇到了多个列
-413 22003 当转换为一个数字型数据类型时,数据溢出
-414 42824 LIKE谓词不能运行于用数字或日期时间类型定义的列
-415 42825 为UNION操作指定的选择列表不是联合兼容的
-416 42907 包含UNION操作符的SQL语句不允许有长的字符串列
-417 42609 两参数标识符作为运算对象被指定在同一谓词的两边
-418 42610 参数标识符使用无效
-419 42911 十进制除法无效
-420 22018 字符串自变量值不符合函数的要求
-421 42826 UNION操作的选择列表中没有提供相同数目的列
-423 0F001 为LOB或结果集定位器指定的值无效
-426 2D528 在不允许更新的应用服务器不允许执行COMMIT语句
-427 2D529 在不允许更新的应用服务器不允许执行ROLLBACK语句
-430 38503 在用户自定义的函数或存储过程中遇到了错误
-433 22001 指定的值太长
-435 428B3 无效的应用定义的SQLSTATE
-438 xxxxx 使用了RAISE_ERROR函数的应用发出了一个错误
-440 42884 存储过程或用户自定义函数的参数列表参数个数于预期的个数不匹配
-441 42601 与标量函数一起使用DISTINCT或ALL是不正确的用法
-443 42601 指定的外部函数返回错误的SQLSTATE
-444 42724 与被称为存储过程或用户自定义函数有关的程序不能找到
-449 42878 对存储过程或用户自定义的 函数,CREATE或ALTER语句不正确(缺失EXTERNAL NAME 子句)
-450 39501 存储过程或用户自定义函数写入存储器的值超过了参数声明的长度
-451 42815 CREATE FUNCTION中指定了不正确的数据类型
-453 42880 用户自定义函数中的RETURNS语句无效
-454 42723 指定的函数识别标记与已存在的另一函数的识别标记冲突
-455 42882 模式名不比配
-456 42710 为用户自定义函数指定的函数名已经存在
-457 42939 用户自定义函数或用户自定义类型正试图使用系统中定义的函数或者类型所用的名称
-458 42883 没有找到函数
-463 39001 特定的外部例程返回无效的SQLSTATE
-469 42886 参数定义为OUT或INOUT的CALL语句必须提供宿主变量
-470 39002 指定了NULL参数,但是该例程却不支持NULL
-471 55023 存储过程或用户自定义函数失败:提供原因代码
-472 24517 外部的函数程序使游标处于打开状态
-473 42918 用户自定义数据类型命名不能和系统定义的数据类型一样
-475 42866 结果类型不能被转换成RETURNS类型
-476 42725 在其模式中该函数不是独一无二的
-478 42893 不能DROP或REVOKE特定的对象,因为其他对象依赖于该对象
-480 51030 直到存储过程已经被CALL后,DESCRIBE PROCEDURE和ASSOCIATE LOCATORS才能被发布
-482 51030 存储过程不返回到任何一个定位器
-483 42885 CREATE FUNCTION语句中的参数个数与源函数中的参数个数不匹配
-487 38001 选择了NO SQL选项建立指定的存储过程或用户自定义函数,但却视图发布SQL语句
-491 42601 CREATE FUNCTION语句无效,因为该语句没有RETURNS语句或者因为该语句没有指定有效的SOURCE或者EXTERNAL语句
-492 42879 指定函数的指定参数的个数有错误
-495 57051 语句的估计处理器成本超出了资源限制
-496 51033 语句无法执行,因为当前服务器与调用存储过程的服务器不同
-497 54041 指定的数据库超过了32767 OBID的上限,或者CREATE DATABASE语句使之达到了32511DBID的上限
-499 24516 指定的游标已被分配到结果集,该结果集来自已经指定的存储过程
-500 24501 因为连接被破坏,WITH HOLD游标被关闭
-501 24501 在试图获取数据或关闭一个游标前必须打开一个游标
-502 24502 在没有关闭游标前不能再次打开游标
-503 42912 因为列在游标的FOR UPDATE OF语句中没有被指定,该游标用于获取该列,所以不能更新该列
-504 34000 不能引用一个游标,因为他不是定义到程序里的
-507 24501 在试图更新或者删除WHERE CURRENT OF前,必须打开游标
-508 24504 因为被引用的游标当前不是处于数据行上,所以不能被更新或删除
-509 42827 除了在游标上指定的那个表(该表由WHERE CURRENT OF语句引用的)以外,再也不能从别的表上更新数据
-510 42828 表或视图不能被修改
-511 42829 对不可修改的表或视图,FOR UPDATE OF语句无效
-512 56023 对远程对象的无效引用
-513 42924 一个别名不能再被定义成另外的别名
-514 26501 游标尚没有被准备
-516 26501 试图描述未准备好的SQL语句
-517 07005 因为SQL语句尚没有准备好,游标无效
-518 07003 试图执行尚没有准备好的SQL语句
-519 24506 当为游标的SQL语句发布一个准备语句是,游标不能是打开的
-525 51015 不能在已指定的程序包中执行SQL语句,因为在绑定时间内该程序包无效
-526 42995 在给定的上下文中,不能使用全局的临时表
-530 23503 对特定的约束名指定了无效的外健值
-531 23504 从版本5开始,父关键字的多行更新将试图删除一个外关键字依赖的父关键字值,在版本5以前,当引用主关键值外健值当前存在时,试图更新该主健值
-532 23504 删除操作违反了已指定的参照约束
-533 21501 多行插入无效,试图将多行插到自我引用的表中
-534 21502 可改变主健列值的更新语句不能在同一时刻用于更新多行
-535 21502 当从自我引用表中删除数据或者更新主健列时,不能指定WHERE CURRENT OF。不是版本5的子系统才调用该代码
-536 42914 因为某一特定表的参照约束存在,所以删除语句无效
-537 42709 在外健语句或主健语句的规范中,每个列的出现不能多于一次
-538 42830 无效的外健;不符合引用的表没有主健
-539 42888 不能定义外健,因为被引用的表没有主健
-540 57001 表定义不完整,直到为主健建立了唯一索引或UNIQUE语句、或者包含GENERATED BYDEFAULT属性的ROWID列
-542 42831 可以为空的列不允许作为主健的一部分包含在内
-543 23511 因为该表是指定了SET NULL删除规则的参照约束的父表而且检查约束不允许NULL,所以DELETE不能发生
-544 23512 不能用ALTER添加检查约束,因为已存在的某行与该检查约束冲突
-545 23513 INSERT或者UPDATE导致检查约束冲突
-546 42621 在CREATE或ALTER TABLE中指定的检查约束无效
-548 42621 因为指定的列而引起的检查约束无效
-549 42509 DYNAMICRULES(BIND)计划或程序包的无效SQL语句
-551 42501 用户试图对不拥有权限的特定的对象进行操作,或者表不存在
-552 42502 用户试图执行未被授权的操作
-553 42503 不能指定CURRENT SQLID,因为用户尚没有被允许改变那个ID
-554 42502 不能对你本身赋予一个权限
-555 42502 不能对你本身撤销一个权限
-556 42504 不能撤销用户没有拥有的权限
-557 42852 指定了不一致的授予或撤销关键词
-558 56025 为授予或撤销语句指定了无效的语句(一个或一组)
-559 57002 DB2权限机制已经禁用,授予或者撤销不能被发布
-567 42501 指定的权限ID缺少对指定的程序包的绑定权限
-571 25000 不允许多点更新
-573 42890 不能定义参照约束,因为已指定的父表中在指定的列上没有唯一健
-574 42864 指定的缺省与列定义冲突
-577 38002 试图修改用户自定义函数中的数据或者存储过程中的数据,但这些对象的建立没有选择MODIFIES SQL DATA选项
-579 38004 试图修改用户自定义函数中的数据或者存储过程中的数据,但这些对象的建立没有选择READ SQL DATA选项,也没有选择MODIFIES SQL DATA选项
-580 42625 CASE表达式中的结果表达式不能都是空的
-581 42804 CASE表达式中的结果表达式为不兼容的数据类型
-582 42625 SEARCHED-WHEN-CLAUSE中的查找条件指定了一个限定的、IN或EXISTS谓词
-583 42845 指定的函数失败,因为他不是决定性的,或者可能有外部动作
-585 42732 在当前路径中模式名不止一次出现
-586 42907 CURRENT PATH专用寄存器在长度上不能超过254字符
-587 428C6 项目引用的列表必须是同一个家族
-590 42734 在命名的存储过程或用户自定义的函数中的参数必须是独一无二的
-592 42510 没有授权权限,让你在WLM环境中建立的存储过程或者用户自定义函数
-601 42710 试图创建(或重命名)已经存在的对象
-602 54008 CREATE INDEX语句中指定的列太多
-603 23515 因为发现有重复值,所以不能建立唯一的索引
-604 42611 在CREATE或ALTER TABLE语句中的为数据类型指定的长度、精度以及标度无效
-607 42832 指定的INSERT、UPDATE或DELETE语句不能被发布,应为这些语句对DB2 CATLOG表执行写操作
-611 53088 当LOCKSIZE是TABLE或者TABLESPACE时,LOCKMAX必须为0
-612 42711 在同一个表、索引或试图中不允许有重复列名
-613 54008 主健或UNIQUE约束太长或者包含了太多的列
-614 54008 已经超过了索引的内部健长度的最大长度(255)限制
-615 55006 不能删除这个程序包,因为该程序包目前正在执行
-616 42893 指定的对象不能被删除,因为其他对象依赖于该对象
-617 56089 对于DB2版本6,1型索引无效。对于以前的版本,1型索引不能用LOCKSIZE ROW或LARGE表空间定义
-618 42832 对DB2 CATALOG表的请求操作时不允许的
-619 55011 DSNDB07不能修改,除非他先被停止了
-620 53001 对在DSNDB07中的表空间不允许指定该关键词
-621 58001 遇到了重复的DBID,遇到了系统问题
-622 56031 不能指定FOR MIXED DATA因为没有安装混合数据选项
-623 55012 不能为单一的表定义多个族索引
-624 42889 不能为单一的表定义多个主健
-625 55014 用主健定义的表要求唯一索引
-626 55015 不能发布ALTER语句来改变PRIQTY SECQTY或ERASE,除非先停止了表空间
-627 55016 不能发布ALTER语句来改变PRIQTY SECQTY或ERASE,除非先把表空间定义为使用存储器组的表空间
-628 42613 指定语句时相互排斥的(例如,不能分区一个分段的表空间)
-629 42834 因为该外健不能包含空值,所以SET NULL无效
-630 56089 不能为1型索引指定WHERE NOT NULL
-631 54008 无效的外健;要么是比254个字节长,要么包含的列数多于40
-632 42915 指定的删除规则禁止把这个表定义为已制定表的从属表
-633 42915 无效删除规则;必须使用特定的强制删除规则
-634 42915 在这种情况下,DELETE CASCADE不允许
-635 42915 删除规则不能有差异或者不能为SET NULL
-636 56016 在分区索引健的升序或降序规范中,分区所以必须与该规范一致
-637 42614 遇到重复的关键词
-638 42601 在CREATE TABLE语句中缺少列定义
-639 56027 带有SET NULL的删除规则的外健的可空列不能是分区索引的列
-640 56089 不能为这个表空间指定LOCKSIZE ROW,因为在该表空间中的表上定义了1型索引
-642 54021 唯一约束包含太多的列
-643 54024 检查约束超出了3800个字符的最大长度
-644 42615 在SQL语句中为关键词指定的值无效
-646 55017 在指定的分区表空间或者缺省表空间中不能创建表,因为指定的表空间已经包含了一个表
-647 57003 指定的缓冲池无效,因为他没有被激活
-650 56090 ALTER INDEX不能被执行;提供了原因代码
-651 54025 如果CREARE或ALTER TABLE被允许,表对象的描述词(object descriptor,OBD)将超过最大值(32KB)
-652 23506 遇到了EDITRPROC或VALIDPROC冲突
-653 57004 在分区表空间中的表不可用,因为分区索引尚未被创建
-655 56036 在卷的列表中,STOGROUP不能指定为特定的或不特定(“*”)的卷
-658 42917 当试图删除指定的对象时,无法删除该对象,该对象的删除必须通过删除与之相关联的对象完成
-660 53035 不正确的分区索引规范,必须为族索引定义有限制的关键字
-661 53036 分区索引没有指定恰当的分区数目
-662 53037 试图在未分区的表空间(分段的或简单的)上建立分区索引
-663 53038 为分区索引指定的关键字限制值是一个无效数字
-665 53039 为ALTER TABLESOACE语句指定了无效的PART语句
-666 57005 SQL语句不能被处理,因为指定的函数当前正处于进行过程中
-667 42917 不能明确的删除分区表空间的族索引,必须除去分区表空间来去掉分区索引
-668 56018 不能向用EDITPROC定义的表中添加列
-669 42917 不能显式的删除分区表空间中的表,必须删除分区表空间来删除表
-670 54010 表的记录长度超过了页面的大小
-671 53040 不能更改指定的表空间的缓冲池,因为这将改变表空间的页面大小
-672 55035 在命名的表上不允许DROP
-676 53041 只有4KB的缓冲池可被用于一个索引
-677 57011 缓冲池扩展失败,由于可用的虚拟内存的大小不足
-678 53045 为才分区索引中指定的限制健提供的值与数据类型不符
-679 57006 不能创建某一个特定对象,因为该对象的一个drop目前正在挂起
-680 54011 对DB2表不能超过750列
-681 23507 列违反了指定的FIELDPROC
-682 57010 不能载入FIELDPROC
-683 42842 列、单值类型、函数或者过程无效,因为不兼容语句。例如,指定的INTEGER具有FORBITDATA选项
-684 54012 指定的文字列表不能超过254个字节
-685 58002 FIELDPROC返回一个无效的域描述
-686 53043 用FIELDPROC定义的一个列不能与一个使用不同的FIELDPROC定义的列作比较
-687 53044 列不能与一个非兼容字段类型的列比较
-688 58002 返回不正确的数据
-689 54011 从属表定义了太多的列
-690 23508 数据定义的控制支持拒绝这个语句
-691 57018 命名的注册表不存在
-692 57018 命名的索引不存在,但命名的注册表需要该索引
-693 55003 命名的注册表/索引的命名列无效
-694 57023 DROP正在命名的注册表上挂起
-696 42898 由于相关的名字或者转换表的名字使用不正确,指定的触发器无效
-697 42899 FOR EACH语句被指定,因此与OLD合NEW相关的名字是不允许的,或者不能为一个BEFORE触发器指定OLD_TABLE和NEW_TABLE
-713 42815 指定的专用寄存器是无效的
-715 56064 命名的程序不能被运行,因为他依赖与你所安装的DB2版本的部件,但是你的数据中心没有安装这个部件
-716 56065 命名的程序使用这个版本的不正确的发行版本做了预编译
-717 56066 BIND失败,因为他依赖与你所安装的DB2版本的部件,但是你的数据中心没有安装这个部件
-718 56067 REBIND失败,因为IBMREQD列无效
-719 42710 不能BIND ADD一个已经存在的程序包
-720 42710 不能BIND REPLACE一个已经存在的程序包版本
-721 42710 程序包的一致性记号必须是独一无二的
-722 42704 绑定错误,因为指定的程序包不存在
-723 09000 一个触发的SQL语句接受到一个错误
-724 54038 达到了(16)级联间接的SQL语句的最大项目
-725 42721 对专门指定的寄存器提供了一个无效值
-726 55030 因为SYSPKSYSTEM条目,不能绑定这个程序包
-728 56080 指定的数据类型不能与私有协议发布一起使用
-729 429B1 用COMMIT ON RETURN定义的存储过程不能用作嵌套的CALL过程的目标
-730 56053 在只读的共享数据库中为表定义的参照完整性无效
-731 56054 VSAM数据集必须用SHAREOPTION(1.3)定义
-732 56055 被定义为只读型数据库却拥有没有定义空间或者索引空间的DB2子系统
-733 56056 只读共享数据库的定义不一致
-734 56057 一旦一个数据库被定义为ROSHARE READ,他将不能被更改为其他不同的ROSHARE状态
-735 55004 用DBID名称标识的数据库不再是一个只读共享数据库
-736 53014 命名的DBID无效
-737 53056 在这种状况下,不能建立一个隐含的表空间
-739 56088 因为同时指定了ALLOW PARALLEL和MODIELES SQL DATA这两个语句,因此已设定的函数将不能再被更改
-740 51034 在这种方式下不能用MODIELES SQL DATA定义指定的函数
-741 55030 已经为命名的共享组成员的数据定义了工作文件数据库
-742 53004 DSNDB07是隐含的工作文件数据库
-746 57053 在特定的触发器、存储过程或函数中的SQL语句违反嵌套SQL限制
-747 57054 指定的表是不可用的除非为LOB数据列建立起必须的辅助表
-748 54042 在指定的辅助表上已经有一个索引
-750 42986 不能对已指定的表重新命名,因为他至少在一个现存的视图或触发器中被引用
-751 42987 存储过程或用户自定义的函数试图执行一个不允许执行的SQL语句。DB2的线程被置于MUST_ROLLBACK状态
-752 0A001 无效CONNECT语句
-763 560A1 无效的表空间名
-764 560A2 LOB表空间必须与其相关的基表空间同在一个数据库中
-765 560A3 表和数据库不兼容
-766 560A4 不能对辅助表进行请求的操作
-767 42626 CREATE INDEX失败,因为在辅助表中为索引指定了列,或者因为没有为非辅助表的索引指定列
-768 560A50 不能为指定的列或者指定的分区建立辅助表,因为其辅助表已经存在
-769 53096 CREATE AUX TABLE的规格与基表不匹配
-770 530A6 指定的表必须有一个ROWID列,那么该表才可以包含一个LOB列
-771 428C7 无效的ROWID列规范
-797 42987 CREATE TRIGGER包含不被支持的语法
-798 428C9 不能把一个值插入到用GENERATED ALWAYS定义的ROWID列
-802 22012 某一特定操作发生了异常错误。被零除

22003 某一特定操作发生了异常错误。但不是被零除
-803 23505 不能插入行,因为这将违反唯一索引的约束
-804 07002 SQLDA的调用参数列表有误
-805 51002 在计划中没有发现DBRM或程序包名
-807 23509 对已指定的环境和连接,该程序包不可用
-808 08001 CONECT语句与程序中的第一个CONNECT语句不一致
-811 21000 当多行作为一内嵌的选择语句的返回结果是,必须使用游标
-812 22508 在CURRENT PACKAGESET中的ID集合是空白的,语句不能被执行
-815 42920 在一个内置选择语句或者一个基本谓词的子查询中,显式的或隐含的指定了GROUP BY或HAVING语句
-817 25000 执行SQL语句将可能导致禁止更新用户数据或DB2编目
-818 5103 计划<->载入组件的时间戳不匹配,在执行计划中没有从同一个预编译中建立DBRM,该预编译是作为组件载入的
-819 58004 视图不能重建,因为在DB2编目中存储的分析树长度为0
-820 58004 在这个DB2版本的DB2编目中遇到了无效值
-822 51004 在SQLDA中遇到了无效地址
-840 54004 在选择列表或插入列表中返回的项目太多
-842 08002 到指定位置的连接已经存在
-843 08003 SET CONNECTION或RELEASE语句无法执行,因为连接不存在
-870 58026 宿主变量描述符的个数不等于语句中宿主变量的个数
-872 51302 这个子系统已指定了有效的CCSID
-873 53090 同一SQL语句中,不能同时引用EBCDIC表中的定义的列和ASCII表中定义的列
-874 53901 指定对象的编码方案与其表空间的编码方案不匹配
-875 42988 指定的操作符不能用于ASCII数据
-876 53092 不能为指定的原因创建对象:提供了原因代码
-877 53093 数据库或表空间不允许用ASCII,必须使用EBCDIC
-878 53094 该PLAN——TABLE不能是ASCII,必须使用EBCDIC
-879 53095 指定对象的CREATE或ALTER语句不能将列、单值类型,某个存储过程或用户自定义函数的参数定义为以下类型:MAXED DATA,GRAPHIC,VARGRAPHIC,LONGVARGRAPHIC,因为系统没有为指定的编码方案定义相应的CCSID
-900 08003 应用处理没有连接到应用服务器,语句不能被执行
-901 58004 遇到时断时续的系统错误,该错误不能抑制后继的SQL语句的执行
-902 58005 内部控制块的指针错误,要求重新绑定
-904 57011 指定的资源不可用
-905 57014 超出了资源上限
-906 51005 因为重大错误,SQL语句无法执行
-908 23510 当前资源限制设施的规范或者自动重绑定的系统参数不允许BIND,REBIND,AUTOREBIND
-909 57007 对象已被删除
-910 57007 因为在该对象上挂起DROP,所以不能访问该对象
-911 40001 当前工作单元已被回滚
-913 57033 因为死锁或超时导致不成功执行
-917 42969 绑定程序包已经失败
-918 51021 SQL语句不能被执行,因为连接丢失
-919 56045 需要一个ROLLBACK
-922 42505 连接权限失败。试图从TSO、CICS或IMS访问DB2,同时相应的连接设施处于非活动的状态
-923 57015 因为DB2不可用,所以不能建立连接
-924 58006 遇到了DB2内部的连接错误:提供了原因代码
-925 2D521 SQL的COMMIT语句不能从CICS或IMS/TM发布
-926 2D521 SQL的ROLLBACK语句不能从CICS或IMS/TM发布
-927 51006 当正在连接的环境没有建立时,语言接口被调用。利用DSN命令激发该程序
-929 58002 数据获取退出已经失败(DPROP)
-939 51021 由于远程服务器的未请求的回滚,要求一个回滚
-947 56038 SQL语句失败,因为更新不能被传播(DPROP)
-948 56062 DDF没有启动,分布式操作无效
-950 42705 在SQL语句中指定的位置在SYSIBM.LOCATIONS中没有定义
-965 51021 存储过程非正常终止(在DB2 6之前的版本)
-981 57015 当前不是处于允许SQL的状态时,试图在RRSAF中执行SQL
-991 57015 调用连接不能建立一个到DB2的隐含或开放连接
-2001 53089 为储存过程指定的宿主变量参数的个数不等于预期的参数个数
-20003 560A7 不能为GRECP中的表空间或索引指定GBPCACHE NONE
-20004 560A8 对于WORKFILE对象。8KB或16Kb的缓冲池页面大小无效
-20005 54035 指定的对象类型超出了内部的ID极限
-20006 53097 当没有指定WLM环境时,LOB不能被指定为参数
-20070 53098 不能非LOB列建立一个辅助表
-20071 53099 必须指定WLM环境名
-20072 56052 指定的权限ID不拥有在触发器程序包上执行BIND所需的权限
-20073 42927 不能按照指定的要求更改命名的函数,因为在现存的视图定义中引用了该函数
-20074 42939 不能建立指定的对象,因为“SYS”是一个保留的前缀
-20100 56059 在被触发的SQL语句中有BIND错误,指定了错误的SQLCODE和SQLSTATE
-20101 56059 由于指定的原因代码,该函数失败
-20102 42849 在CREATE或ALTER FUNCTION语句中不能使用指定的选项
-20104 42856 更改一个CCSID失败
-20106 42945 不能改变表空间或数据库的CCSID,因为现存的试图引用
-30000 58008 DRDA分布协议错误;处理可以继续
-30002 57057 使用DRDA的分布式客户把OPEN语句连接到PREPARE,但PREPARE接受到一个SQLCODE为+495的警告
-30020 58009 DRDA分布协议错误;对话被解除
-30021 58010 DRDA分布协议错误;处理不能继续
-30030 58013 违反分布协议:COMMIT不成功,对话被解除(AS)
-30040 57012 因为不能得到资源,执行失败,处理可以继续(AS)
-30041 57013 因为不能得到资源,执行失败,处理不能成功的继续(AS)
-30050 58011 执行不成功,在BIND过程中不能执行语句
-30051 58012 特定的BIND过程不是处于活动状态(远程BIND),从而导致失败
-30052 42932 程序准备的假设错误
-30053 42506 程序包的拥有者遭遇授权失败
-30060 08004 RBD遭遇授权失败
-30061 08004 指定了无效或者没有存在的RDB
-30070 58014 目标子系统不支持这个命令
-30071 58015 目标子系统不支持这个对象
-30072 58016 目标子系统不支持这个参数
-30073 58017 目标子系统不支持这个参数值
-30074 58018 应答信息不被支持
-30080 08001 SNA通信错误
-30081 58019 TCP/IP通信错误
-30082 08001 由于安全冲突、通信失败:提供了原因代码
-30090 25000 指定的操作对远程执行失败
-30104 56095 在绑定选项与绑定值中有错误
-30105 56096 指定的绑定选项不兼容
posted @ 2012-12-14 10:04 何杨 阅读(467) | 评论 (0)编辑 收藏

OI导出Excel文档时,可以设置很多格式效果,比如:边框,字体,颜色等等。
本文仅仅列出颜色的列表展示,方便大家查阅。  
颜色Class名称short

BLACK8

BROWN60

OLIVE_GREEN59

DARK_GREEN58

DARK_TEAL56

DARK_BLUE18

INDIGO62

GREY_80_PERCENT63

DARK_RED16

ORANGE53

DARK_YELLOW19

GREEN17

TEAL21

BLUE12

BLUE_GREY54

GREY_50_PERCENT23

RED10

LIGHT_ORANGE52

LIME50

SEA_GREEN57

AQUA49

LIGHT_BLUE48

VIOLET20

GREY_40_PERCENT55

PINK14

GOLD51

YELLOW13

BRIGHT_GREEN11

TURQUOISE15

SKY_BLUE40

PLUM61

GREY_25_PERCENT22

ROSE45

TAN47

LIGHT_YELLOW43

LIGHT_GREEN42

LIGHT_TURQUOISE41

PALE_BLUE44

LAVENDER46

WHITE9

CORNFLOWER_BLUE24

LEMON_CHIFFON26

MAROON25

ORCHID28

CORAL29

ROYAL_BLUE30

LIGHT_CORNFLOWER_BLUE31

AUTOMATIC64
posted @ 2012-12-13 23:36 何杨 阅读(639) | 评论 (0)编辑 收藏

如果RSA/Eclipse总是处于Building中,可能是错误的工程在Wrokspace中导致的,此问题严重起来可能导致无法使用RSA/Eclipse.
我的处置办法如下:
1.将“Build Automatically”取消。
2.关闭RSA/Eclipse,如果Building还在处理中,在任务管理器中找到Eclipse进程,Kill掉。
3.再次打开RSA/Eclipse,删除掉可能导致Building出错的工程。如果实在不清楚,全部删除之。
4.再启用“Build Automatically”选项,此时Build会开始,然后就正常结束了。

有的网文说在Eclipse启动时加入参数:   -vmargs -Xmx512M能解决问题,我试了无效,可能和他遇到的问题不是一个。
posted @ 2012-11-09 08:39 何杨 阅读(355) | 评论 (1)编辑 收藏

在Servers窗口中,右键点击服务器,弹出菜单中选“Administration”,再选“Run Administrative Console”,如下图:
posted @ 2012-11-09 08:05 何杨 阅读(439) | 评论 (0)编辑 收藏

在Servers窗口中,找到目标服务器,右键点击,在弹出菜单中选属性。第三项就包括了Was服务器的常规信息。
posted @ 2012-11-08 15:18 何杨 阅读(364) | 评论 (0)编辑 收藏

右键点击工程,选属性一项,找到“Web Project Setting”选项,在Context Root中输入新的context,图示如下:
posted @ 2012-10-18 14:30 何杨 阅读(254) | 评论 (0)编辑 收藏

点击菜单windows->Preferences->server->websphere
将Allow applications containing errors to be published on a server一项勾选。

如果不进行这项设置,在部署时会出现以下错误。

Publish failed with errors, warnings or both. Please see server logs for more details.

 The application contains validation errors. Correct the errors in the Problems view before publishing the application on the server. If you want to allow applications containing errors to be published on the server, enable the Allow applications containing errors to be published on a server check box (Windows > Preferences >Servers > WebSphere).

No start tag (<p>).

但愿你不是出错了再回来找的。J

posted @ 2012-10-17 13:58 何杨 阅读(363) | 评论 (0)编辑 收藏

下是使用RSA(Rational Software Architect)时的一个Tip,在这里写下来,希望能对那些遇到和我同样困扰问题的人有些帮助。

使用RSA开发web程序时,会需要把应用发布到容器中,但有时RSA是没有显示Servers窗口的,使用“Show View”菜单也见不到。
此时无需慌乱,切换到Web视图,再使用“Show View”菜单,servers窗口就显示出来了。
以下是切换到Web视图的图示:


以下是使用“Show View”菜单,显示servers窗口的图示

以下是Servers窗口显示出来的图示



就这么简单,可有时寸劲遇到了也能让人烦一阵的。

posted @ 2012-10-16 13:32 何杨 阅读(228) | 评论 (0)编辑 收藏

下载地址:
http://www.blogjava.net/Files/heyang/Utf8Test20120927.rar

转化效果:
%E4%BD%95%E6%9D%A8%E5%88%B0%E6%AD%A4%E4%B8%80%E6%B8%B8%EF%BC%81
何杨到此一游!

有时候也挺好玩的。
posted @ 2012-09-27 23:48 何杨 阅读(367) | 评论 (2)编辑 收藏

2012年6月21日15:21:59

程序代码下载:
http://www.blogjava.net/Files/heyang/ViewDsSample.zip
注意这个程序是RSA中的Dynamic Web Project


如果需要建立数据源,请参考:
http://www.blogjava.net/heyang/archive/2012/06/21/381257.html

如果需要建立JDBC Provider,请参考:
http://www.blogjava.net/heyang/archive/2012/06/21/381254.html

由于是示例代码,所以比较简单,功能就是访问数据库中一张表,然后把数据在表格中显示出来。index.jsp中的代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page language="java" autoFlush="true" isThreadSafe="true" buffer="10kb" %>
<%@ page import="javax.servlet.http.*"%>
<%@ page import="java.util.*,java.lang.*,java.math.*"%>


<%@ page import="java.sql.Connection"%>
<%@ page import="java.sql.DriverManager"%>
<%@ page import="java.sql.Statement"%>
<%@ page import="javax.naming.Context"%>
<%@ page import="javax.naming.InitialContext"%>
<%@ page import="javax.sql.DataSource"%>
<%@ page import="java.sql.ResultSet"%>


<html>
    
<head>
        
<title>View DataSource In Was</title>
    
</head>
    
    
<body>
        
<table width="100px" border="1">
        
<caption>Visit the data in DataSource</caption>    
        
<thead>
        
<tr>
            
<td width="50px">Id</td>
            
<td width="50px">Name</td>
        
</tr>    
        
</thead>
        
<tbody>
        
<%
            Context ctx
= new InitialContext();
            DataSource ds 
= (DataSource) ctx.lookup("jdbc/localdb2");// 注意这里需要和数据源配置中的jndi名对应上。
            
            Connection con 
= ds.getConnection();
            
String sql = "select * from SYSTEM.TESTTB0619";
            
            Statement stmt 
= con.createStatement();
            ResultSet rs
=stmt.executeQuery(sql);
            
            
while (rs.next()) {
                
String id = rs.getString("id");
                
String name = rs.getString("name");
                
                out.println(
"<tr>");
                out.println(
"<td>"+id+"</td>");
                out.println(
"<td>"+name+"</td>");
                out.println(
"</tr>");
            }
            
            
            rs.close();
            stmt.close();
            con.close();
        
%>
        
</tbody>
        
</table>
    
</body>
</html>

首页显示效果如下:
posted @ 2012-06-21 15:25 何杨 阅读(356) | 评论 (0)编辑 收藏

2012年6月21日14:54:37

在进行以下步骤前需要先增加一个JDBC Provider,如果没有,请参考http://www.blogjava.net/heyang/archive/2012/06/21/381254.html

01.左边点"Resources"->"JDBC"->"Data Sources",右边点"New"。


02.DataSource名自己定,jndi名是要给程序用的,两方面要协调一致,下一个框是选访问数据库的用户名密码,没有可以新建一个。


03.这一步是选JDBC Provider,http://www.blogjava.net/heyang/archive/2012/06/21/381254.html一文中所有工作就是为了这一步。


04.这一步的参数除了Dirver type不用动之外,其它的按照你的实际情况输入。


05.这一步就是选Finish。


06.这一步就是要点Save。


07.测试一下,连接成功了。




好了,下一步可以在程序中测试这个数据源DataSource是否好用了。
posted @ 2012-06-21 14:53 何杨 阅读(335) | 评论 (0)编辑 收藏

2012年6月21日14:29:40

1.左边点"Resource">"JDBC">"JDBC Provider",右边点"New".


2.按图示的选项进行选择,Provider名字自己定。


3.这一步是找两个关键的jar所在的目录,一个是db2jcc.jar,一个是db2jcc_license_cisuz.jar,如果安装了Db2的话,这两个jar会出来。在我机器上,
它们位于C:\Program Files\IBM\SQLLIB\java和C:\Program Files\IBM\SQLLIB_01\java中。


4.这一步点Finish就行了。


5.最后完成了。


Provider是给DataSource用的,在下一节就会看到。

2012年6月21日14:36:36
posted @ 2012-06-21 14:28 何杨 阅读(453) | 评论 (0)编辑 收藏