db2 为表创建多个分区的方法

1、创建分区,sample

CREATE TABLE “SCH”.”TABLE1″  (
          “SERVICE_SN” VARCHAR(19) NOT NULL ,
          “SERVICE_DATE” VARCHAR(14) NOT NULL ,
          “TELLER_ID” VARCHAR(12) NOT NULL ,
          “APP_SYS_ID” VARCHAR(8) NOT NULL )  
         INDEX IN “ESB8K_IDX”PARTITION BY RANGE(“TELLER_ID”)
      (       PART “901” STARTING(‘901’) ENDING(‘902’) EXCLUSIVE IN “ESBTS901”,
       PART “902” STARTING(‘902’) ENDING(‘903’) EXCLUSIVE IN “ESBTS902”,
    );

2、修改分区

ALTER TABLE TABLE1 ADD PARTITION 801 STARTING ‘801’ ENDING ‘802’ EXCLUSIVE IN ESBTS801;

3、删除分区,注意会创建一个临时表,确认相关数据失效后可以删除

ALTER TABLE TABLE1 detach PARTITION 801 into temp;
发表在 DB2 | 留下评论

QM to QM消息通讯CCSID转换方法

在进行QM to QM的消息通信时,双方CCSID不同时的解决方法有两种:

一、在发送方进行转换。

a) 在发送方通道的“扩展”,“数据转换”设置为“转换”。

clip_image002

b) 发送程序中应该对MQMessage的format属性设置为MQC.MQFMT_STRING

这样在消息进行发送时MQ会自动进行消息的转换,但需要系统支持相应的编码格式。若系统不支持,MQ会抛出AMQ6047的错误,并将消息路由到DLQ

二、在接收方进行转换

a) 发送程序中应该对MQMessage的format属性设置为MQC.MQFMT_STRING

b) 在进行MQGET时,将GMO的option属性设置为MQGMO_CONVERT

发表在 MQ | 留下评论

数据库数据批量导出工具 V1.01

好久没有完整的编码了,没有了code带来的乐趣,每天忙碌与bug的修复,参数的修改,无聊之极。

周末闲暇忙起了gui程序,完成了批量数据库导出工具,支持sql、csv格式文件,支持db2,mysql数据库,可以根据指定的数据库、shcema自动获得表列表,支持多选进行导出。

欢迎下载使用

http://download.csdn.net/source/3416870

exportDb.rar

 

2011-7-7

更新版本V1.01 增加对Microsoft SQL Server 2005的支持

批量数据SQL导出工具v1.01

exportDbV1.01.rar

发表在 DB2 | 留下评论

数据库数据批量导出工具

好久没有完整的编码了,没有了code带来的乐趣,每天忙碌与bug的修复,参数的修改,无聊之极。

周末闲暇忙起了gui程序,完成了批量数据库导出工具,支持sql、csv格式文件,支持db2,mysql数据库,可以根据指定的数据库、shcema自动获得表列表,支持多选进行导出。

欢迎下载使用

http://download.csdn.net/source/3416870

exportDb.rar

发表在 未分类 | 留下评论

[转]【博文】面向对象编程已死 – CSDN.NET – CSDN软件研发频道

 

【博文】面向对象编程已死

2011-04-02 09:43 | 6953次阅读 | 来源:外刊IT评论 【已有25条评论】发表评论

关键词:编程 | 作者:夏梦竹 | 收藏这篇资讯

导读:原文来自blogs.msdn.com作者Alfred Thompson发表的《Object Oriented Programming is Dead》。译文来自外刊IT评论《面向对象编程已死》。内容如下:

那好吧,也许是没死,但卡内基.梅隆大学的Robert Harper教授却说(Teaching FP to freshmen)面向对象编程和设计“不适合做为现代计算机科学教学课程”,详细的内容引用如下:

“面向对象编程应该完全的从基础课程中删除掉,因为它既是反模块化,又是反并行的,这是它的非常固有的特征,所以它不适合作为一种现代的计算机科学课程。”

估计你们也意料到了,评论里出现了一些反对意见。当我把这篇文章地址贴到Facebook上后,在很短的时间里出现了16条评论,几乎都是反对的。有一个做招聘工作的人回复道“我已经疲倦了面试那些只知道Haskell语言却不会使用C里的strlen()函数的实习生。”但是,就像RobertHarper教授在对一条评论的回复中说的,“在卡耐基,我们的目标是教育学生,而不是培训学生”。这究竟是在说什么呢?难道是学院派和行业派的冲突吗?学院派通常认为“对于学生来说,他们有很多的机会去学习那些陈旧的编程方法,他们可以在日后的工作实践中按需学习那些知识”,与此同时,招聘经理们却痛恨这种现状,就像一位副总裁告诉我的,要想把一个从不错的大学里的应届毕业生培养成一个完全能工作的软件开发人员,平均所需时间是一年半。这就不奇怪为什么许多公司不喜欢要刚毕业的学生了。

我曾经历过各种编程模式的兴衰。我最初做行业编程(以及学术编程)时采用的是结构化编程模式。这种编程模式当时被认为是一个巨大的进步,但需要人们在思考和设计程序时做一些改变。后来我又经过了很长的、缓慢的、诸多痛苦的过程转变到了面向对象编程模式。我们曾经经过函数式编程的年代吗?也许吧。也许它跟其它的编程模式共存不冲突。

我们如今有了新的需求。正像当初的结构化模式和后来的面向对象模式是来满足大型程序和巨型团队的要求,如今的因为要求处理更多的数据的趋势而出现的关键问题就是并行性(parallelism)。基于这个背景出现的微软的F#语言的目标就是并行性——为了更好的在多处理器的电脑上并行工作。很显然,我们不停的向前发展是为了更好的利用最新的硬件。但是,这就可以说面向对象成为选修、我们的学生就可以等到毕业后再学习这些知识吗?我还没有被说服。

即使是在面向对象热潮达到顶峰的时候,我就坚称,并不是任何东西都可以成为对象,各种模式的混合使用在过去,在将来,都是正确之道。即使现在函数式编程正趋于流行、使用量增加的情况下仍然会是这种情况。那些古老的编程模式会完全的消失吗?我不这么认为。以后大家都不用对象了吗?不可能的。我想,那些大学,特别是声称“提供教育而培训”的大学其实是对学生的一种伤害,他们没有看到当今这个领域的真实情况。不祥之兆不断显现,函数式编程日显重要。但忽略面向对象编程不会给任何人带来好处。只是我的个人意见。

【博文】面向对象编程已死 – CSDN.NET – CSDN软件研发频道

发表在 Java学习 | 留下评论

【转】谈谈CICS ENQ,DEQ的使用_REDEMPTION_百度空间

 

在CICS中对于需要序列化访问的资源, 比如流水号分配等, 都可以使用ENQ, DEQ来保证顺序化访问, 对于ENQ, DEQ之间的代码, 只有一个TASK能够占有, 当这个TASK通过ENQ 资源, 其他TASK ENQ时都会返回ENQBUSY, 一直等待直到HOLD资源的TASK DEQ资源(除非程序handle ENQBUSY或者指定NOSUSPEND). ENQ, DEQ..

.

     在CICS中对于需要序列化访问的资源, 比如流水号分配等, 都可以使用ENQ, DEQ来保证顺序化访问, 对于ENQ, DEQ之间的代码, 只有一个TASK能够占有, 当这个TASK通过ENQ 资源, 其他TASK ENQ时都会返回ENQBUSY, 一直等待直到HOLD资源的TASK DEQ资源(除非程序handle ENQBUSY或者指定NOSUSPEND).

ENQ, DEQ是enqueue, dequeue的缩写. 语法如下:

________________________________________________________________________ |                                                                         |
|                                                                         |
| >>__ENQ__RESOURCE(data-area)__ ____________________ _________________> |
|                               |_LENGTH(data-value)_|                   |
|                                                                         |
|     _UOW_______________                                                 |
| >__|___________________|___ ___________ ___><                           |
|     |_MAXLIFETIME(cvda)_|   |_NOSUSPEND_|                               |
|     |_TASK______________|                                               |
| Conditions: ENQBUSY, INVREQ, LENGERR                                   |
|                                                                         |
|________________________________________________________________________|

________________________________________________________________________
|                                                                         |
|                                                                         |
| >>__DEQ__RESOURCE(data-area)__ ____________________ _________________> |
|                               |_LENGTH(data-value)_|                   |
|                                                                         |
|     _UOW_______________                                                 |
| >__|___________________|__><                                           |
|     |_MAXLIFETIME(cvda)_|                                               |
|     |_TASK______________|                                               |
| Conditions: INVREQ, LENGERR                                             |
|                                                                         |
| This command is threadsafe.                                             |
|                                                                         |
|________________________________________________________________________|

ENQ,DEQ的使用方法,

对于资源, 我们可以区分成两种, 使用ENQ,DEQ的语法也不同:

1,说明数据区的地址代表资源, 资源是在内存中的地址, 而不是内容, 比如CWA中的变量.

2,说明数据区的内容代表资源, 资源是他的内容, 而不是地址. 比如在WORKING-STORAGE的变量. 这种的使用,必须指定LENGTH option, 告诉CICS需要ENQ,DEQ是数据变量的内容.

eg, 比如你define jnl-seq在CWA中,则流水号分配的伪代码如下:

EXEC CICS ENQ RESOURCE(JNL-SEQ) END-EXEC

ADD 1 TO JNL-SEQ

EXEC CICS DEQ RESOURCE(JNL-SEQ) END-EXEC

   如果你只是deinfe jnl-seq在working-storage, 则流水号分配的伪代码如下:

EXEC CICS ENQ RESOURCE(JNL-SEQ) LENGTH(LENGTH OF JNL-SEQ) END-EXEC

ADD 1 TO JNL-SEQ

EXEC CICS DEQ RESOURCE(JNL-SEQ) LENGTH(LENGTH OF JNL-SEQ) END-EXEC.  

【转】谈谈CICS ENQ,DEQ的使用_REDEMPTION_百度空间

发表在 CICS | 留下评论

【转】 不要从老鼠身上挤奶

一直非常喜欢褪墨的文章,推荐

知道何时不该工作,和知道何时应该工作是同样重要。

—— 哈维·麦凯

在该做事情时不做,去做其他的事,就是“从老鼠身上挤奶”。想想去从老鼠身上挤奶,即便你花费最大的努力也只能得到很少的成果,即使是从只母老鼠身上挤奶也一样。逃避去做正确的事情,而去做其他的事情,即便是忙得不可开交,看起来也是拚命地工作,但还是等于浪费时间。就心理学来说,这种现象被称为“逃避反应”,就算是一件最平凡、最乏味的事,当它可以阻挠我们去倣自己不想做的事时,也会看起来有趣。

“不要从老鼠上挤奶”,首先要求我们只做“正确的事情”。在探讨这个问题之前,让我们先来区别一下效率和效果,免得把效率和效果这两者混为一谈。有效率,指的是正确地去完成一个任务或做一件事情以及完成某件事情的过程。而另一方面,有效果所涵盖的范围就要广泛得多,也重要得多。《有成效的管理者》一书的作者彼德,杜克对效率和效果两者的区别是这样解释的:效率是指正确地做事,效果是指做正确的事。如果我们做的是不正确的事情,那么不管花多少时间去“正确地”做它,都不会有什么好的效果的。那么,怎样知道我们所做的事情是否是有效果的事情昵? 一句话,一切有利于目标达成的事情都是有效果的事情。

仔细看看我们的“待办事项清单”,上面是否有很多不必要的事在上面,去删掉它或者把它们交给更适当的人选处理。除此以外,“不要从老鼠上挤奶”还要求我们在工作时要小心以下陷阱:

  • 做一些能带给我们立即满足感的事情

当一直做一些能带给我们立即满足感的事情时,我们很快就会觉得厌倦。生命不是百米冲刺,而是马拉松,所以眼光一定要远,看三年、五年、十年甚至一辈子。有些事情,也许现在对我们来说很痛苦(譬如财务规划、撰写企划书),但是它们终究会带来工作上的成就、乐趣和金钱

  • 做一些容易的一定能完成的事情

总是做一些容易的一定能完成的事情,这看起来似乎是个好主意。我们喜欢看到事情完成,这是获得成就感最快的方式。通过前面我们了解到如果在精力充沛时做无关紧要的工作,那么就是在浪费宝贵而且有限的时间。正确的做法是在一天结束之前,或感到有些疲倦时,再去做那些简单的事情,简单的工作就不会像大型计划般令人畏惧。

  • 做一些琐碎的事情

经验告诉我们,一件琐事通常会招致另一件琐事。经常做一些琐碎的事情的人,总是忙着处理小事,而导致从未接受重要或长期的工作。

  • 把小事做得太完美

把小事不重要的事做得太好是另一个陷阱,将完美主义运用在小事上会使我们忽略重要的事。博恩,崔西曾经说过:“最糟糕的时间管理,就是把根本不重要的事情做得非常好”。

  • 创意人还肩负其他琐碎的工作

在现实生活中,大部分的创意人还要从事过多的其他工作。创意需要专门的时间和专注的态度,而一些琐碎的事情最容易打断好不容易想好的创意。

  • 低估工作所需时间

在作计划时,要把花在一些简单事情上的时间如:打电话、清理办公室、处理邮件等计算在内。

我们经常被一些并不是真的很紧急的突发事件所耽搁,为不是我们的工作范围内的事情花很长的时间。避免这种情况的方法是设定并遵守明确优先顺序

  • 无法专注

感到无聊,所以停下脚步信手涂鸦,无法专注做一件事情。为避免发生这种情况,我们可以站起身逛逛,和同事来个脑力激荡,花点时间看看别的案子,再回到原先的企划案上。

拓展阅读:如何保持注意力

  • 被动追赶

我们总是被别人的进度苦苦追赶。马克·艾伦(Mark Allen)是世界级的长跑选手,以前他总是输给达福·史考特(Dave Scott),最后他学会走自己的路,保持自己的韵律节奏,不再受到史考特节奏的影响。这样做之后,艾伦打败了史考特,也一再获得胜利。

  • 缺少计划

缺乏对未来的规划会影响我们现在的发展。当确定我们的长期目标,就容易安排眼前的优先顺序。每件事情都有关联性。缺乏计划会导致决策错误,事倍功半。

拓展阅读:制定计划的好处

  • 缺少行动力

过多的计划但行动力不足和没有计划是一样的糟。我认识一个人,他准备绿化后院已经很多年了,执行计划也非常详细。可是他不断地拖延,直到后院上杂草丛生,才真正执行。

拓展阅读:如何利用期限来完成任务

切记时间管理的目的是指在正确的时间内,用最少的时间,把对的事情(有助于我们达成目标的事情)做对。切记是正确的事情!有哪些不对的事情,坚决停止做它。

或许你也想阅读:


简化时间管理:如何不再为效率而忧虑


同强动力的任务改善你的工作效率


5个步骤让你变得更有效率


放置大石头的艺术:让你的效率翻倍


保持高效能六法

无觅

褪墨

发表在 IT LIFE | 留下评论

MQ 队列管理器间消息通讯的方法

使用MQ时,有多种方法实现消息的传递,若需要队列管理器间通讯的话,可参考如下步骤:

发送方配置

1、定义A队列管理器,QMA作为发送方队列管理器
2、定义传输队列,名字随便取
3、定义远程队列LQA,指定远程队列管理器,远程队列LQB和第2步定义的传输队列
4、定义发送方通道,传输协议为TCP;连接名称为“localhost(2414)”,将其中的localhost换成接收方队列管理器的IP,“2414”换成接收方队列管理器的端口;传输队列为第2步定义的传输队列

接收方配置

5、定义B队列管理器,QMB,作为接收方队列管理器
6、定义本地队列LQB,作为第3步中的远程队列
7、创建接收方通道,注意,该通道名称必须和第4步中定义的发送方通道名称相同

这样就实现了,在QMA队列管理器中向LQA队列写入消息时,消息会自动发到QMB的队列LQB中。

发表在 MQ | 留下评论

【转】DB2 v9控制中心菜单中文乱码问题 | 爱AIX,爱生活!

最近为了做 XML 数据的查询与存储,使用DB2进行开发,版本为v9.5.0.808,安装好后,竟然出现如下问题:DB2 控制中心菜单出现乱码(其实是显示方框),当时很崩溃,后来终于知道问题所在:是字体设置的问题。

解决方法:

打开控制中心,选择菜单第5项(工具);

选最底下一项(工具设置);

打开后选第3个标签(字体);

把下面两个选项都选第二项(无衬线);

关掉控制中心重新打开,方框变中文,问题解决。

#注解,在客户端,要设置db2codepage变量与数据库一致,这样才能正确的显示汉字,客户端设置方法db2set db2codepage=1208,在windows 上,db2codepage默认为1386(GBK),linux上默认为1208(UTF-8),aix上默认为819(ISO8859-1),要注意这个问题,我在客户端查询t1表时就发现是乱码,后来设置了客户端变量db2codepage才搞定。

另外一种可行的办法是,在服务器上创建生产库时,指定数据库字符集为GBK,这样windows客户端就不用改db2codepage变量了,这个方法我以前用过,当时在服务器上创建生产数据库的脚本为:

su – db2inst1

db2set db2codepage=1386

DB2 控制中心菜单中文乱码问题最近为了做 XML 数据的查询与存储,使用DB2进行开发,版本为v9.5.0.808,安装好后,竟然出现如下问题:DB2 控制中心菜单出现乱码(其实是显示方框),当时很崩溃,后来终于知道问题所在:是字体设置的问题。解决方法:        打开控制中心,选择菜单第5项(工具);        选最底下一项(工具设置);        打开后选第3个标签(字体);        把下面两个选项都选第二项(无衬线);        关掉控制中心重新打开,方框变中文,问题解决。

#注解,在客户端,要设置db2codepage变量与数据库一致,这样才能正确的显示汉字,客户端设置方法db2set db2codepage=1208,在windows 上,db2codepage默认为1386(GBK),linux上默认为1208(UTF-8),aix上默认为819(ISO8859-1),要注意这个问题,我在客户端查询t1表时就发现是乱码,后来设置了客户端变量db2codepage才搞定。

另外一种可行的办法是,在服务器上创建生产库时,指定数据库字符集为GBK,这样windows客户端就不用改db2codepage变量了,这个方法我以前用过,当时在服务器上创建生产数据库的脚本为:  su – db2inst1

db2set db2codepage=1386

DB2 v9控制中心菜单中文乱码问题 | 爱AIX,爱生活!

发表在 DB2 | 留下评论

java socket 使用指南 中文版 下载

终于完成了Socket使用指南的中文版本翻译,欢迎下载

Section 1. 指南说明… 2

Section 2. 套接字基础… 2

Section 3. 一个秘密的套接字… 6

一个简单的例子… 8

多线程的例子… 14

缓冲池示例… 17

现实中的Socket. 22

总结… 25

 

Java sockets开发指南(中文版).pdf Java sockets开发指南(中文版).pdf

发表在 未分类 | 留下评论