ÆëÆë¹þ¶û´óѧ±ÏÒµÉè¼Æ£¨ÂÛÎÄ£©
1.2 ϵͳǰ̨¿ª·¢¹¤¾ß¼ò½é
1.2.1 PowerBuilder¼ò½é
PowerBuilderÊÇÃÀ¹úÖøÃûµÄÊý¾Ý¿âÓ¦Óÿª·¢¹¤¾ßÉú²ú³§ÉÌPowerSoftÍÆ³öµÄ³É¹¦²úÆ·£¬ÆäµÚÒ»°æÓÚ1991Äê6ÔÂÕýʽͶÈëÊг¡¡£ËüÊÇÍêÈ«°´ÕÕ¿Í»§/·þÎñÆ÷Ìåϵ½á¹¹ÑÐÖÆÉè¼ÆµÄ£¬²ÉÓÃÃæÏò¶ÔÏó¼¼Êõ£¬Í¼Ðλ¯µÄÓ¦Óÿª·¢»·¾³£¬ÊÇÊý¾Ý¿âµÄǰ¶Ë¿ª·¢¹¤¾ß¡£ËüÖ§³ÖÓ¦ÓÃϵͳͬʱ·ÃÎʶàÖÖÊý¾Ý¿â£¬ÆäÖмȰüÀ¨Oracle£¬SybaseÖ®ÀàµÄ´óÐÍÊý¾Ý¿â£¬ÓÖ°üÀ¨FOXPROÖ®ÀàÖ§³ÖODBC½Ó¿ÚµÄСÐÍÊý¾Ý¿â£¬PowerBuilderÊÇÍêÈ«¿ÉÊÓ»¯µÄÊý¾Ý¿â¿ª·¢¹¤¾ß£¬ËüÌṩÁË´óÁ¿µÄ¿Ø¼þ£¬´ó´ó¼Ó¿ìÁËÏîÄ¿µÄ¿ª·¢ËÙ¶È£¬Ò²Ê¹¿ª·¢Õ߸üÈÝÒ×ÕÆÎÕÊý¾Ý¿âµÄ¿ª·¢¡£ËüʹÓõıà³ÌÓïÑÔ½Ð×ö¹¤PowerScript£¬ËüÒ²ÊÇÒ»Öָ߼¶µÄ£¬½á¹¹»¯µÄ±à³ÌÓïÑÔ¡£PowerScriptÌṩÁËÒ»Ì×ÍêÕûµÄǶÈëʽSQLÓï¾ä£¬¿ª·¢ÈËÔ±¿ÉÒÔÏñʹÓÃÆäËüÓï¾äÒ»Ñù×ÔÓɵØÊ¹ÓÃSQLÓïÑÔ£¬ÕâÑù¾Í´ó´óÔöÇ¿Á˳ÌÐò²Ù×ݺͷÃÎÊÊý¾Ý¿âµÄÄÜÁ¦¡£¿ÉÒÔ˵PowerBuilder¼ÈÊʺϳõѧÕß¿ìËÙѧϰÊý¾Ý¿âµÄ¿ª·¢£¬ÓÖ¿ÉÒÔÈÃÓоÑéµÄ¿ª·¢ÈËÔ±¿ª·¢³ö¹¦ÄÜÇ¿´óµÄÊý¾Ý¿â£¬ÊÇÒ»ÖÖÊÊÓÃÃæ·Ç³£¹ãµÄ¿ª·¢¹¤¾ß¡£
PowerBuilderÊÇÒ»¸öÓÃÀ´½øÐпͻ§/·þÎñÆ÷¿ª·¢µÄÍêÈ«µÄ¿ÉÊÓ»¯¿ª·¢»·¾³¡£Ê¹ÓÃPowerBuilder£¬Äã¿ÉÒÔÓÃÒ»ÖÖ¿ÉÊÓµÄÖ±¹ÛµÄ·½Ê½À´´´½¨Ó¦ÓóÌÐòµÄÓû§½çÃæºÍÊý¾Ý¿â½Ó¿Ú¡£ÕâÊÇÒ»¸ö×ܵĸÅÄʵ¼ÊÉÏÊÇ¿ª·¢ÈËԱʹÓÃPowerBuilderÈ¥¿ª·¢Ó¦ÓóÌÐò£¬ÓÉÓÚËù¿ª·¢µÄ¸÷ÖÖÓ¦ÓóÌÐò³ä·ÖÀûÓÃÁËͼÐÎÓû§½Ó¿Ú(GUI)µÄÓŵ㣬ËùÒÔPowerBuilder±»ÈÏΪÊÇÒ»¸öͼÐι¤¾ß[3]¡£
ÔÚ¿Í»§£¯·þÎñÆ÷½á¹¹µÄÓ¦ÓÃÖУ¬PowerBuilder¾ßÓÐÃèÊö¶à¸öÊý¾Ý¿âÁ¬½ÓÓë¼ìË÷µÄÄÜÁ¦¡£ÌرðÊÇPowerBuilderÄÜ´Ó´ó¶àÊýÁ÷ÐеÄRDBMSÖдæÈ¡Êý¾Ý£¬ÇÒ²»¹ÜÊý¾Ý´æ·ÅÔÚʲôµØ·½£»ÁíÍ⣬¸÷ÖÖÓ¦ÓóÌÐòÓÖ¿ÉÒÔ¶ÀÁ¢ÓÚRDBMS£¬ÒòΪPowerBuilder¿ÉÒÔʹÓÃÊý¾Ý¿âµÄ±ê×¼²Ù×÷ÓïÑÔSQL(½á¹¹»¯²éѯÓïÑÔ£©½øÐС£
ʹÓÃPowerBuilder£¬¿ÉÒÔºÜÈÝÒ׵ؿª·¢³ö¹¦ÄÜÇ¿´óµÄͼÐνçÃæµÄ·ÃÎÊ·þÎñÆ÷Êý¾Ý¿âµÄÓ¦ÓóÌÐò£¬PowerBuilderÌṩÁ˽¨Á¢·ûºÏ¹¤Òµ±ê×¼µÄÓ¦ÓóÌÐò£¨ÀýÈç¶©µ¥µÇ¼Ç¡¢»á¼Æ¼°ÖÆÔìϵͳ£©ËùÐèµÄËùÓй¤¾ß¡£
PowerBuilderÓ¦ÓóÌÐòÓÉ´°¿Ú×é³É£¬ÕâЩ´°¿Ú°üº¬Óû§ÓëÖ®½»»¥µÄ¿Ø¼þ¡£¿ª·¢ÈËÔ±¿ÉÒÔʹÓÃËùÓбê×¼¿Õ¼ä£¨Èç°´Å¥¡¢¸´Ñ¡¿ò¡¢ÏÂÀʽÁбí¿ò»ò±à¼¿ò£©ÒÔ¼°PowerBuilderÌṩµÄÌØÊâµÄʹӦÓóÌÐò¸üÒ×ÓÚ¿ª·¢ºÍʹÓõĿؼþ¡£
ͨ³£ÈËÃǰÑPowerBuilder¿´³ÉÊÇÒ»ÖÖ¿ª·¢¹¤¾ß£¬Êµ¼ÊÉÏËü±ÈÆäËû¹¤¾ßÇ¿µÃ¶à£¬ÊÇÒ»ÖÖÇ¿ÓÐÁ¦µÄ¿ª·¢»·¾³¡£¿ª·¢ÈËÔ±²»½öÄÜÓÃËüÀ´¿ª·¢Óû§ÈÝÒ×ʹÓõĸ÷ÖÖÓ¦ÓóÌÐò»¹¿ÉÒÔͨ¹ýPowerBuilderÐÞ¸ÄÊý¾Ý¿â£¬ÀûÓÃ400¶à¸öÄÚ²¿¶¨Ò庯Êý£¬¿ÉÒÔ¿ª·¢ÄÜºÍÆäËûÓ¦ÓóÌ
2
ÆëÆë¹þ¶û´óѧ±ÏÒµÉè¼Æ£¨ÂÛÎÄ£©
Ðò½øÐеĸ÷ÖÖÓ¦ÓóÌÐò¡£PowerBuilderÕýÔÚ³ÉΪ¿Í»§£¯·þÎñÆ÷Ó¦Óÿª·¢µÄ±ê×¼¡£Ïà¶ÔÓÚÆäËûÈκοͻ§£¯·þÎñÆ÷¿ª·¢»·¾³£¬PowerBuilderʹ¿ª·¢ÈËÔ±µÄ¹¤×÷¸ü¿ì¡¢³É±¾¸üµÍ¡¢ÖÊÁ¿¸ü¸ß¡¢¹¦ÄܸüÇ¿¡£
PowerBuilderΪӦÓÿª·¢ÌṩÁËÈ«Ãæ×ÛºÏÐÔµÄÖ§³Ö£¬¿ÉÒÔ·Ö±ð¸ÅÀ¨ÎªÈçϼ¸µã£ºÊ¼þÇý¶¯µÄÓ¦ÓóÌÐò£»¹¦ÄÜÇ¿´óµÄ±à³ÌÓïÑÔÓ뺯Êý£»ÃæÏò¶ÔÏóµÄ±à³Ì£»¿çƽ̨¿ª·¢£»¿ª·ÅµÄÊý¾Ý¿âÁ¬½áϵͳ[4]¡£
1.2.2 PowerBuilderµÄ¶ÔÏó
PowerBuilder¶ÔÏóÓÐÈý¸ö²¿·ÖÔªËØ:ÊôÐÔ¡¢º¯ÊýºÍʼþ¡£
(1)ÊôÐÔ:Ò²¾ÍÊÇÊý¾Ý¡£°üÀ¨ÏµÍ³ÊôÐÔºÍÓû§¶¨ÒåÊôÐÔÁ½À࣬ÃèÊö¸Ã¶ÔÏóµÄ¸÷ÖÖÌØÐÔ¡£ÈçÔÚ´°¿Ú¶ÔÏóÖеÄϵͳÊôÐÔ°üÀ¨±êÌâ¡¢¸ß¶È¡¢¿í¶ÈµÈ£¬Óû§¶¨ÒåµÄÊôÐÔ¿ÉÒÔÊÇʵÀý±äÁ¿»ò¹²Ïí±äÁ¿£¬¶ÔÕâÖÖÊôÐԵķÃÎÊͬϵͳÊôÐÔÏàͬ£¬Ö»ÊÇÔÚ·â×°ÐÔÉÏÓÐËù²»Í¬¡£
(2)ʼþ:PowerBuilderÖеÄʼþÓëWindowsµÄʼþ´æÔÚ×ÅÓ³Éä¹ØÏµ¡£µ±Óû§µÄ²Ù×÷»òϵͳ±¾Éí²úÉúWindowsµÄ±ê׼ʼþ£¬¾Íת»¯³ÉPowerBuilderÖеÄʼþ¡£ÀýÈçÃüÁî°´Å¥ÓÐÒ»¸ö½ÐClickedʼþ£¬µ±Óû§°´°´Å¥Ê±´¥·¢£¬²Ù×÷ϵͳÊ×Ïȼì²âµ½Êó±ê±»µã»÷£¬²¢°ÑClickedÕâÒ»ÏûϢת¸ø¸Ã°´Å¥£¬PowerBuilderÔËÐÐʱµÄ¹¤×÷ÒýÇæ·ÒëÁËÕâһʼþ£¬²¢Ö´ÐÐÊʵ±PowerScriptÓï¾ä¡£PowerBuilderÖд󲿷ֵÄʼþ¶¼ÊÇ¿ÉÒÔÓ³Éä³ÉÓÉÓû§¼¤·¢µÄWindowsʼþ¡£ÁíÒ»ÀàʼþÊÇÓû§¶¨Òåʼþ£¬ÕâÖÖʼþÊÇÓû§ÉùÃ÷²¢¿ÉÒÔÔÚÈκÎʱ¿ÌÓÉÓû§´¥·¢µÄ£¬PowerBuilderÖб£ÁôÁË75¸öÓû§Ê¼þ¿ÉÓɳÌÐòԱʹÓá£
(3)º¯Êý:Óû§Í¨¹ýº¯ÊýÀ´Ê¹¶ÔÏóÍê³ÉijЩ²Ù×÷¡£PowerSoft¹«Ë¾½¨ÒéÓû§Í¨¹ýµ÷ÓöÔÏóʼþºÍº¯ÊýÀ´Ð޸ĶÔÏó¶ø²»ÒªÖ±½ÓÐ޸ĶÔÏóÊôÐÔ£¬ÒÔÂú×ã¶ÔÏó·â×°µÄÒªÇó£¬ÀýÈç²ÉÓÃWindow. hide()¶ø²»ÒªÓÃWindow. visible=falseÀ´Ê¹´°¿Ú²»¿É¼û[5]¡£
PowerBuilderÃæÏò¶ÔÏóµÄÌØÐÔ£º
Ìáµ½Ò»ÃÅÓïÑÔµÄÃæÏò¶ÔÏóÌØÐÔ£¬ËüÓ¦µ±¾ßÓм̳ÐÐÔ¡¢¶à̬ÐԺͷâ×°ÐÔ£¬ÈçȱÉÙÆäÖеÄÒ»¸öÔòÖ»ÄÜ³ÆÆäΪ»ùÓÚ¶ÔÏóµÄϵͳ£¬¶ø²»ÊÇÃæÏò¶ÔÏóµÄϵͳ£¬¶øPowerBuilderÔòºÜºÃµØ¾ß±¸ÁËÈ«²¿Èý¸öÌØÐÔ¡£
PowerBuilderÖУ¬´°¿Ú¡¢²Ëµ¥ºÍÓû§¶ÔÏóÊÇ¿ÉÒԼ̳е쬶øÆäËû¶ÔÏóÔò¶¼²»ÄÜ¡£µ±¼Ì³ÐÁËÒ»¸ö¶ÔÏó£¬Äǵõ½µÄ×ÓÀཫ¾ßÓи¸ÀàµÄÊôÐÔ¡¢ÊµÀý±äÁ¿¡¢¹²Ïí±äÁ¿¡¢¿Ø¼þ¡¢Óû§×Ô¶¨Òåʼþ¡¢¶ÔÏ󼶺¯Êý¡¢Ê¼þºÍ´úÂë(script)¡£Ò²¾ÍÊÇ˵µ±¼Ì³ÐÁËÒ»¸öÀ࣬¼¸ºõµÃµ½ÁËÕâ¸öÀàµÄÈ«²¿£¬²»¹ýÓÐÒ»µãÖµµÃ×¢Ò⣬²»ÄÜÔÚ×ÓÀàÖÐɾ³ýÈκÎÒ»¸ö¼Ì³Ðµ½µÄÌØÐÔ¡£Ôڼ̳ÐÁË׿ÏÈÀàºó£¬¿ÉÒÔÔÚ×ÓÀàÖÐÀ©Õ¹»ò¸²¸Ç׿ÏȵÄÔªËØ¡£ÀýÈç´úÂ룬ÔÚ PowerBuilderÖÐȱʡµÄÊDzÉÓÃÀ©Õ¹·½Ê½£¬ÏÈÖ´Ðм̳е½µÄ׿ÏÈ´úÂ룬ºóÖ´ÐÐ×ÓÀàµÄÀ©Õ¹´úÂë¡£Ò²¿ÉÒÔÑ¡Ôñ²Ëµ¥Compiler|OverrideAncestorScriptÑ¡ÏִֻÐÐ×ÓÀàµÄ´úÂ룬²¢¿ÉÔÚ´úÂëÖеÄÈÎÒâ
3
ÆëÆë¹þ¶û´óѧ±ÏÒµÉè¼Æ£¨ÂÛÎÄ£©
λÖõ÷¶¯×æÏÈ´úÂëÈçCALL(w_open)¡£ÖØÔغ¯ÊýÊÇÃæÏò¶ÔÏó³ÌÐòÉè¼ÆµÄÖØÒªÌØÐÔ£¬¼´Í¬Ò»º¯ÊýÃûÈ´ÓÐ×Ų»Í¬µÄ²ÎÊýºÍ·µ»ØÖµ¡£ÔÚÔËÐÐʱ£¬ÏµÍ³×Ô¶¯Ñ°ÕÒÖ´ÐвÎÊýÏàÆ¥ÅäµÄÄǸöº¯Êý£¬ÀýÈçÎÒÃdz£ÓõÄMessageBox() Õâ¸öº¯Êý¾ÍÓÐ12¸ö²»Í¬²ÎÊýµÄÖØÔØº¯Êý¡£Òź¶µÄÊÇ£¬¶ÔPowerBuilderÎÒÃDz»ÄÜÔÚͬһ¸ö¼Ì³Ð¶ÔÏóÖж¨Òå2¸ö²»Í¬²ÎÊýµÄÖØÔØº¯Êý£¬Ö»ÄÜÔÚºó¼ÌµÄÀàÖж¨ÒåÖØÔØº¯Êý£¬ÕâʹÎÒÃǶÔÖØÔØº¯ÊýµÄ¶¨Òå´øÀ´Á˺ܴóµÄ²»±ã£¬Õâ²»Äܲ»ËµÊÇPowerBuilderµÄȱÏÝ¡£¶ÔÓÚ¶ÔÏóµÄ¼Ì³Ð£¬PowerBuilderÖÐËùÓжÔÏó¶¼ÓÐÆä¹²Í¬µÄ»ùÀàPowerObject£¬´ÓÕâÒ»¸ö»ùÀàÏÂÃæ·Ö³É¼Ì³ÐÀàGraph-icObjectºÍNonVisualObjectµÈ¡£
ÔÚPowerBuilderÖÐÓдóÁ¿µÄ¶à̬º¯ÊýÈçprint()¡¢TriggerEvent()µÈ£¬ÔÚÔËÐйý³ÌÖУ¬ Ö»ÐèÒªÖ¸³ö¶ÔÏóºÍº¯ÊýÃû¼´¿É¡£ÔÚÓÐЩº¯ÊýÖУ¬¼´Ê¹²»ÖªµÀ¶ÔÏóÀ࣬Ҳ¿ÉÒÔÓÃClassName() º¯ÊýµÃµ½¶ÔÏóÀ࣬»òµÃµ½ÊµÀýÃû£¬½«¶ÔÏóÃû×÷Ϊº¯Êý²ÎÊýµ÷Óøú¯Êý¡£
·â×°µÄÄ¿µÄÊÇΪÁËʵÏÖÊý¾ÝÒþ²ØºÍÊý¾Ý±£»¤£¬·â×°µÄÄ¿±êÊÇΪ¶ÔÏóÌṩһ¸ö¶ÔÍâ²Ù×÷µÄ½Ó¿Ú£¬Ê¹ÆäËû¶ÔÏóͨ¹ýº¯ÊýÀ´·ÃÎÊ£¬¶ø²»ÔÊÐíÖ±½Ó²Ù×ݶÔÏóµÄÊôÐÔ¡£ÔÚPowerBuilderÖÐÓÐÈýÖÖ·ÃÎÊÀàÐÍPublic¡¢Protect¡¢Private£¬ÕâÈýÖÖ·ÃÎÊ¿ØÖÆÀàÐÍ¿ÉÒÔÓÃÔÚ¶ÔÏóµÄ±äÁ¿ºÍº¯ÊýÉÏ£¬È±Ê¡µÄʵÀý±äÁ¿ºÍ¶ÔÏóº¯Êý¶¼ÊÇpublicÀàÐ͵ġ£ÎªÁ˱£»¤Êý¾Ý£¬Ó¦¾¡¿ÉÄÜ¶àµØÊ¹ÓÃprivateºÍprotectÀàÐÍ£¬Ç°ÕßÖ»ÔÊÐí¶ÔÏóÄÚ²¿µÄÔªËØÀ´·ÃÎÊ£¬ºóÕß¿ÉÒÔ½ÓÊܶÔÏóÄÚ²¿ºÍ¼Ì³ÐÀàµÄÔªËØ·ÃÎÊ[6]¡£
Êý¾Ý¿âµÄÊÂÎñ¹ÜÀí£º
PowerBuilderÊÇÃÀ¹úPowerSoft¹«Ë¾ÓÚ90Äê´ú³õÍÆ³öµÄ»ùÓÚ¿Í»§/·þÎñÆ÷Ìåϵ½á¹¹µÄÃæÏò¶ÔÏóµÄÊý¾Ý¿â¿ª·¢¹¤¾ß¡£¸Ã²úÆ·Ò»ÉÏÊм´ÉîÊܹã´óÓ¦Óÿª·¢ÈËÔ±µÄϲ°®£¬Òò´ËѸËÙÕ¼ÁìÊг¡ £¬Ä¿Ç°¼¸ºõÒÑ·¢Õ¹³ÉΪǰ¶Ë¹¤¾ßµÄÊÂʵÉϵıê×¼¡£
ÖøÃûÊý¾Ý¿âÈí¼þ¹«Ë¾SybaseÊÕ¹ºPowerSoft¹«Ë¾ÒÔºó£¬PowerBuilderͨ¹ýSybase½ÏÔçµØ½éÉܸøÁËÖйúÓû§¡£1994ÄêPowerSoft¹«Ë¾ÓÖÔÚ±±¾©½¨Á¢°ìÊ´¦£¬PowerBuilder±ã¹ã·ºÎªÖйúµÄÓû§½ÓÊܺÍʹÓá£Ëù¿ª·¢µÄÓ¦ÓÃÒѹ㷺µØÓ¦ÓÃÓÚ½ðÈÚ¡¢Ö¤È¯¡¢Óʵ硢ÉÌÒµµÈ¸÷¸ö²¿Ãź͸÷¸öÁìÓò£¬²¢·¢»Óמ޴óµÄ×÷Ó᣾ÝÓйط½ÃæÍ³¼Æ£¬PowerBuilderÔÚÖйúµÄÊг¡Õ¼ÓÐÂÊĿǰÒÑ´ï 40%×óÓÒ¡£
Sybase¹«Ë¾¼°Æä´úÀíÉÌÔÚ´ÓÊÂPowerBuilderµÄÏúÊÛ¡¢ÅàѵºÍ¼¼ÊõÖ§³ÖµÈ·þÎñʱ£¬¾³£·¢ÏÖÓÉÓÚÓû§À´×Ô¸÷¸öÐÐÒµ£¬×¨Òµ±³¾°²»Í¬£¬¿ª·¢¾Ñ鲻ͬ£¬ÔÙ¼æÖ®¹úÄÚµÄÓйØÊé¼®ºÍ×ÊÁϽÏÉÙ£¬Òò´ËÔì³ÉÓû§¶ÔPower-BuilderµÄºÜ¶àÌØÐÔ²»ÉõÁ˽⣬ÔÚ½øÐÐÉîÈ뿪·¢Ê±Óöµ½Á˺ܶàÀ§ÄÑ¡£
ÔÚÊý¾Ý¿âÖУ¬ËùνÊÂÎñÊÇÖ¸Ò»×éÂß¼²Ù×÷µ¥Ôª£¬Ê¹Êý¾Ý´ÓÒ»ÖÖ״̬±ä»»µ½ÁíÒ»ÖÖ״̬¡£ÎªÈ·±£Êý¾Ý¿âÖÐÊý¾ÝµÄÒ»ÖÂÐÔ£¬Êý¾ÝµÄ²Ù×ÝÓ¦µ±ÊÇÀëÉ¢µÄ³É×éµÄÂß¼µ¥Ôª:µ±ËüÈ«²¿Íê³Éʱ£¬Êý¾ÝµÄÒ»ÖÂÐÔ¿ÉÒÔ±£³Ö£¬¶øµ±Õâ¸öµ¥ÔªÖеÄÒ»²¿·Ö²Ù×÷ʧ°Ü£¬Õû¸öÊÂÎñӦȫ²¿ÊÓΪ´íÎó£¬ËùÓÐ´ÓÆðʼµãÒÔºóµÄ²Ù×÷Ӧȫ²¿»ØÍ˵½¿ªÊ¼×´Ì¬¡£
4
ÆëÆë¹þ¶û´óѧ±ÏÒµÉè¼Æ£¨ÂÛÎÄ£©
¶ÔÊÂÎñµÄ²Ù×÷ÊÇÕâÑù½øÐеÄ:Ïȶ¨Ò忪ʼһ¸öÊÂÎñ£¬È»ºó¶ÔÊý¾Ý×÷Ð޸IJÙ×÷£¬ÕâʱÈç¹ûÌá½»(COMMIT)£¬ÕâЩÐ޸ľÍÓÀ¾ÃµØ±£´æÏÂÀ´£¬Èç¹û»ØÍË(ROLLBACK)£¬Êý¾Ý¿â¹ÜÀíϵͳ½«·ÅÆúËù×÷µÄËùÓÐÐ޸Ķø»Øµ½¿ªÊ¼ÊÂÎñʱµÄ״̬¡£´ËÍâÓÐЩÊý¾Ý¿âÖ§³ÖÊÂÎñµÄ\´æ´¢µã(save point)ÕâÒ»¸ÅÄî:¼´ÔÚÒ»¸öÊÂÎñ½ø³ÌÖÐÈÎÒâÒ»µã¶¼¿ÉÒÔ½øÐе±Ç°×´Ì¬µÄ´æ´¢£¬»ØÍËʱֻÊǻص½ÄãËùÉ趨µÄ´æ´¢µã£¬¶ø²»±ØÍË»ØÈ«²¿µÄÊÂÎñ¡£Èç¹ûÊÂÎñ¿ÉÒԷֳɼ¸×é¶ÔÊý¾Ý¿âµÄÐ޸ģ¬ÄǾͿÉÒÔÉèÖöà¸ö´æ´¢µã£¬¸ù¾ÝÐèÒª¿ÉÒÔ»ØÍ˵½ÈÎÒâÒ»¸ö´æ´¢µã£¬¶ø²»Ê¹ËùÓÐÊÂÎñµÄÐÞ¸ÄÊý¾ÝÈ«²¿¶ªÊ§[7]¡£
ÕýÈ·µØ¹ÜÀíÊÂÎñ¿ÉÒÔ±£Ö¤Êý¾ÝµÄÍêÕûÐÔ£¬µ±Ëù×öµÄ¹¤×÷È«²¿Íê³ÉºÍµÃµ½È·ÈÏ֮ǰ£¬Ã»ÓÐÈκÎÊý¾ÝÎïÀíµØÐ´½øÊý¾Ý¿â¡£ÈÃÎÒÃÇÀ´¿´ÕâÑùÒ»¸öʵÀý£¬ÎÒÃÇÓÐÕâÑùÒ»¸öÒøÐÐÓ¦ÓÃϵͳ£¬Ç°Ì¨Ê¹ÓÃÕß×ö³ö½«´¢»§¼×µÄÒ»°ÙÔª´æ¿î»®¹é´¢»§ÒÒÕÊϵIJÙ×÷;ÔÚºǫ́µÄÊý¾Ý¿âÖУ¬ÕâÁ½¸ö¿Í»§µÄ¼Ç¼·Ö´¢ÔÚÁ½ÕűíÖУ¬µ±Ê¹ÓÃÕßÔÚÆÁÄ»ÉÏ×ö³öÈçÉϲÙ×÷ʱ£¬ÔÚºǫ́ÐèÒª¶ÔÁ½ÕÅ±í½øÐÐÐ޸ġ£Èç¹ûÔÚÊý¾Ý¿âÖжԼ×Óû§´æ¿îÓà¿î×÷¼õÈ¥Ò»°ÙÔªÐ޸ĺ󣬶ÔÒÒÓû§¼ÓÒ»°ÙÔªµÄ²Ù×÷ÐÞ¸Äȴʧ°Üʱ£¬Ç°Ò»ÕűíÒ²±ØÐë»Øµ½ÐÞ¸ÄǰµÄ״̬£¬·ñÔòÊý¾Ý¿âµÄÄÚÈݲ»Í³Ò»£¬¼×´¢»§°×°×Ëðʧһ°ÙÔª£¬ÐÅÏ¢±ØÈ»ÊDz»ÕýÈ·µÄ¡£Òò´Ë½øÐÐÊÂÎñ¹ÜÀíÊDZØÐëµÄ¡£
´«Í³µØ£¬ÎÒÃÇÈÏΪһ¸öÊÂÎñ°üÀ¨Á˶ÔÒ»¸ö»ò¶à¸ö±íµÄÐ޸쬶øËæ×Å·Ö²¼Ê½Êý¾Ý¿âºÍÊý¾Ý²Ö¿âµÄ·¢Õ¹£¬ÊÂÎñ¿ÉÄܰüÀ¨Á˶ÔÒ»¸ö»ò¶à¸öÊý¾Ý¿âµÄÐ޸ġ£ÔÚÉÏÀýÖм×ÒÒÁ½Óû§¾Í¿ÉÄÜÊÇÒìµØÓû§£¬ÐÅÏ¢·Ö´¢ÔÚ²»Í¬µØÓòµÄ²»Í¬Êý¾Ý¿âÖУ¬ÉÏÊöµÄÒ»¸öÊÂÎñ¾ÍÉæ¼°µ½Á˶Բ»Í¬Êý¾Ý¿âµÄ²Ù×÷¡£
PowerBuilderÖеÄÊÂÎñ¹ÜÀí£º
×÷ΪÊý¾Ý¿âµÄǰ̨¿ª·¢¹¤¾ßPowerBuilderÖ§³ÖÊÂÎñ¹ÜÀíµÄ²Ù×÷¡£ÔÚPowerBuilderÖÐÓÐÒ»ÖÖ³Æ×÷ÊÂÎñ(transaction)µÄ¶ÔÏó£¬Õâ¸ö¶ÔÏóÊÇPowerBuilderÓ¦ÓÃÓëÊý¾Ý¿âµÄÍ¨Ñ¶ÇøÓò¡£PowerBuilderÔÚÓ¦ÓÿªÊ¼Ê±½¨Á¢Ò»¸öÈ«¾ÖµÄÊÂÎñ¶ÔÏóSQLCA¡£ÓÉÓÚ´ó¶àÊýµÄÓ¦ÓÃÖ»Óõ½Ò»¸öÊý¾Ý¿â£¬ËùÒÔÒ»°ã¿ª·¢ÕßÖ÷ÒªÒ²Ö»ÓÃSQLCA×÷ΪÓëΨһÊý¾Ý¿âÁ¬½ÓµÄÊÂÎñ¶ÔÏó¡£PowerScriptÖг£ÓõÄÊÂÎñ¹ÜÀíµÄÓï¾äÓÐËĸö£ºCOMMIT£¬ROLLBACK£¬CONNECT£¬DISCONNECT¡£
µ±ÐèÒªÓ¦ÓÃÓëÊý¾Ý¿â½¨Á¢Á¬½ÓʱʹÓÃCONNECTÕâÒ»²Ù×÷ÃüÁȡÏûÁ¬½ÓʱִÐÐDISCONNECT£¬ÕâÁ½¸öÃüÁîÒ»°ã·Ö±ðÓÃÔÚÓ¦ÓõĿªÊ¼ºÍ½áÊø£¬Ò²¾ÍÊÇApplicationµÄOpenºÍCloseʼþÖС£
µ±Ò»¸öÊÂÎñµÄÊý¾Ý¿âÐ޸ͼ³É¹¦µØÍê³Éºó£¬ÐÞ¸ÄÐëÌá½»¸øÊý¾Ý¿â£¬COMMITÓï¾äÊÇÒ»¸ö¾ÉÊÂÎñ½áÊøºÍÒ»¸öÐÂÊÂÎñ¿ªÊ¼µÄ½çÏß¡£ÔÚÐ޸ı»Ìύǰ£¬Êý¾Ý¿âµÄÊý¾Ý²¢Ã»Óб»ÕæÕýµØÐ޸ģ¬ÕâЩÐ޸ı»±£ÁôÔÚij¸ö¹¤×÷Çø£¬Ö»ÓÐ×÷Ð޸ĵÄÓû§²ÅÄÜ¿´µ½ÕâЩ±»Ð޸ĺóµÄÖµ£¬Ìá½»Ö®ºó£¬ÔòËùÓеÄÓû§¾Í¶¼¿ÉÒÔ¿´µ½ÐÂÖµÁË¡£
ÔÚÊÂÎñµÄ½ø³ÌÖз¢ÉúijЩ´íÎ󣬻òÕßÔÚ²Ù×÷ÖгöÓÚÖÖÖÖÔÒò´òËãÖÐÖ¹ÊÂÎñ£¬ÐëÓÃ
5
ÆëÆë¹þ¶û´óѧ±ÏÒµÉè¼Æ£¨ÂÛÎÄ£©
ROLLBACKÃüÁî»ØÍËÊÂÎñ£¬Èç¹ûÒÑ×÷µÄ²Ù×÷²»ÓÃROLLBACKÃüÁîÈ¡Ïû£¬ÕâЩ²Ù×÷±Ø½«´íÎóµØ×÷ΪÏÂÒ»¸öÊÂÎñµÄÒ»²¿·Ö¶øµ¼ÖÂÊý¾Ý¿âµÄ»ìÂÒ¡£
Èç¹ûʹÓõÄÊǶര¿ÚµÄÓ¦Óã¬È´Ö»ÓÃÒ»¸öÊÂÎñ¶ÔÏ󣬾ÍÓ¦¸ñÍâ×¢ÒâROLL-BACKºÍCOMMIT »áÓ°ÏìÊÂÎñµÄÂß¼Ò»ÖÂÐÔ¡£ÔÚij¸ö´°¿ÚÖ´ÐеÄÕâÁ½¸öÖ¸Áî»áʹÆäËû´°¿ÚÓ¦ÓÃÖÐËù½øÐе½Ò»°ëµÄ¹¤×÷Ìá½»»ò»ØÍË¡£
ÔÚ¶àÓû§ÏµÍ³ÖУ¬Ð޸ĺÍÌá½»µÄʱ¼äÔ½½Ó½ü£¬Ìá½»³É¹¦µÄ¿ÉÄÜÐÔ¾ÍÔ½¸ß¡£ÒòΪһ¸öÊÂÎñÖÐËùÓеÄSQLÓï¾äÈ«²¿Ö´Ðгɹ¦¶øÌύȴʧ°ÜÊÇÍêÈ«¿ÉÄÜ·¢ÉúµÄ£¬ÀýÈçÔÚÊÂÎñ¹ý³ÌÖУ¬ÁíÒ»¸öÓû§ÐÞ¸ÄÁËÊý¾Ý²¢Ìá½»£¬ÕâºÜ¿ÉÄÜʹ×ö³öµÄÐÞ¸ÄÎÞЧ£¬ÕâʱCOMMIT½«Ê§°Ü£¬±ØÐë»ØÍËÕâÒ»ÊÂÎñµÄÈ«²¿¡£ ÊÂÎñ¶ÔÏóµÄAutoCommitÊôÐÔ£º
ÊÂÎñ¶ÔÏóÓÐÒ»¸öAutoCommitµÄÊôÐÔ¿ÉÒÔʹ¿ª·¢Õß¼ò»¯¶ÔÊÂÎñ¹ÜÀíµÄ²Ù×÷£¬ÕâÒ»²¼¶ûÐ͵ÄÊôÐÔ¿ÉÒÔÓÃTRUE»òFALSEÀ´¶ÔÆä¸³Öµ¡£µ±ÆäÎªÕæÊ±£¬PowerBuilder²»Í¨¹ýÆäËû¶îÍâµÄ½»»¥¾Í½«µÄSQLÓï¾ä´«Ê䏸ºǫ́Êý¾Ý¿â£¬¶øÇÒÖ´ÐÐÍê±Ï×Ô¶¯Ìá½»¡£
µ±È»£¬¿ÉÒÔÉèÖÃAutoCommitÊôÐÔΪ¼Ù(ȱʡֵ)£¬Ê¹ÓÃCOMMIT»òROLLBACKÕâÑùµÄ¹Ø¼ü´ÊÌá½»»ò»ØÍËÊÂÎñ¡£ÔÚ´ó¶àÊýÓ¦ÓÃÖУ¬Ò»²¿·ÖµÄÊý¾Ý¿â²Ù×÷ÊÇÒª³É×éÌá½»µÄ£¬¶øÁíһЩÔò²»Óá£Òò´ËÎÒÃÇ¿ÉÒÔÀûÓÃAutoCommitµÄÌØÐÔÀ´È·¶¨ÊÂÎñµÄÆðµã£¬µ±ÎÒÃǰÑAutoCommitµÄÊôÐÔÉèΪFalseʱ£¬ÏµÍ³É趨´ËʱΪÊÂÎñµÄÆðµã¡£µ±AutoCommitÉèÎªÕæÊ±£¬ÏµÍ³×Ô¶¯ÏûÈ¡ÕâÒ»ÊÂÎñ¡£Òò´ËÄã¿ÉÒÔÏȰÑAutoCommitÉèÎªÕæ£¬µ±ÐèÒª¿ªÊ¼Ò»¸öÊÂÎñʱ£¬½«ÆäÖÃΪfalse£¬´Ë¿Ì¼´ÎªÊÂÎñÆðʼµã¡£
PowerBuilderÄÚ²¿ÕâÖÖÊÂÎñ¹ÜÀíµÄ×î´óÓŵãÊÇ·½±ã¡£²»È¥¿¼ÂÇÕû¸öÊÂÎñ£¬¶øÖ»Ðè°ÑËù×÷µÄÐÞ¸ÄÌá½»»ò¹ö»Ø¼´¿É¡£µ«ÊÇ·½±ãÓë¿É¿ØÐÔ×ÜÊÇì¶ÜµÄ£¬ÔÚPower-BuilderÖÐûÓд洢µãºÍǶÌ×ÊÂÎñ¹ÜÀíµÄ»úÖÆ£¬¼´Ê¹ËùʹÓõÄÊý¾Ý¿âÖ§³ÖÕâÐ©ÌØÐÔ£¬ÔÚPowerBuilderÖÐÈ´ÎÞ·¨µÃÒÔÌåÏÖ¡£²»¹ýÔÚÆÕͨµÄÓ¦ÓÃÖУ¬´æ´¢µãºÍǶÌ×ÊÂÎñ¹ÜÀí²¢²»ÊDZØÐëµÄ£¬Ò»°ãµÄÊÂÎñ¹ÜÀí×ãÒÔ¹»ÓÃ[8]¡£
1.2.3 ÓÃÊý¾Ý¿âµÄÊÂÎñ¹ÜÀíÖ¸ÁîʵÏÖÍêÈ«¿ØÖÆ
ÉÏÊöµÄÊÂÎñ¹ÜÀí·½Ê½¾¡¹Ü¼òµ¥·½±ã£¬µ«ÊÇÔÚijЩӦÓÃÖУ¬ÎÒÃÇÒ²µÄÈ·ÐèÒªÀûÓÃËùÓõÄÊý¾Ý¿âϵͳµÄǶÌ×ÊÂÎñºÍ´æ´¢µãµÄÌØÐÔ£¬¶øPowerBuilderÄÚ²¿µÄÊÂÎñ¹ÜÀíûÓÐÌṩÕâÑùµÄ¹¦ÄÜ£¬±ØÐë×Ô¼ºÉè¼Æ¡£
×Ô¼º½øÐÐÊÂÎñ¹ÜÀíµÄ·½Ê½ÊÇÖ±½ÓʹÓÃÊý¾Ý¿â±¾ÉíµÄÊÂÎñÖ¸Áî¡£µ±Ê¹ÓÃ×Ô¼ºµÄ¹ÜÀí·½Ê½Ê±£¬¾ÍӦʹPower-BuilderÍ£Ö¹¹ÜÀíÊÂÎñ£¬¼´ÉèÖÃAuto-CommitΪTRUE£¬ÏµÍ³ÄÚ²¿¾Í²»»á×Ô¶¯½¨¹¹ÊÂÎñ´¦ÀíµÄÃüÁîÁË¡£ÊµÏÖÈ˹¤ÊÂÎñ¹ÜÀíµÄ·½Ê½ÊDzÉÓÃEXECUTE IMMEDIATEÕâÌõPowerBuilderÖ¸ÁîÀ´Ö´ÐÐÈÎÒâµÄÊý¾Ý¿â²Ù×÷¡£ÄãËùÐè×öµÄÊǽ«Êý¾Ý¿â
6