SQL ServerÖÐʹÓÃCLRµ÷ÓÃ.NET·½·¨
½éÉÜ
ÎÒÃÇÒ»ÆðÀ´×ö¸öʾÀý£¬ÔÚ.NETÖÐн¨Ò»¸öÀ࣬²¢ÔÚÕâ¸öÀàÀïн¨Ò»¸ö·½·¨£¬È»ºóÔÚSQL ServerÖе÷ÓÃÕâ¸ö·½·¨¡£°´ÕÕ΢ÈíËùÊö£¬Í¨¹ýËÞÖ÷ Microsoft .NET Framework 2.0 ¹«¹²ÓïÑÔÔËÐпâ (CLR)£¬SQL Server 2005ÏÔÖøµØÔöÇ¿ÁËÊý¾Ý¿â±à³ÌÄ£ÐÍ¡£ ÕâʹµÃ¿ª·¢ÈËÔ±¿ÉÒÔÓÃÈκÎCLRÓïÑÔ£¨ÈçC#¡¢VB.NET»òC++µÈ£©À´Ð´´æ´¢¹ý³Ì¡¢´¥·¢Æ÷ºÍÓû§×Ô¶¨Ò庯Êý¡£
ÎÒÃÇÈçºÎʵÏÖÕâЩ¹¦ÄÜÄØ£¿
ΪÁËʹÓÃCLR£¬ÎÒÃÇÐèÒª×öÈçϼ¸²½£º
1¡¢ÔÚ.NETÖÐн¨Ò»¸öÀ࣬²¢ÔÚÕâ¸öÀàÀïн¨Ò»¸öpublic·½·¨¡£
2¡¢±àÒëÕâ¸öÀàΪһ¸öDLL¡£
3¡¢ÔÚSQL ServerÖÐ×¢²áÕâ¸öDLL¡£
4¡¢Ð½¨Ò»¸öSQL Serverº¯ÊýÀ´·ÃÎÊÖ¸¶¨µÄ.NET·½·¨¡£
½ÓÏÂÀ´£¬ÎÒÃÇÒ»ÆðÀ´Íê³ÉÒ»¸öʾÀý
Ê×ÏÈ£¬ÔÚVisual StudioÖÐн¨Ò»¸öÃûΪ“SQLServerCLRTest”µÄÀà¿âÏîÄ¿¡£ È»ºó£¬Ð½¨Ò»¸öÃûΪ“CLRFunctions”µÄÀ࣬²¢ÔÚÆäÄÚÌí¼ÓÒ»¸öÃûΪ“HelloWold”µÄ·½·¨£¬´úÂëÈçÏ£º
public class CLRFunctions
{
public static string HelloWorld(string Name)
{
return ("Hello " + Name);
}
}
ÕâÊÇÒ»¸ö·Ç³£¼òµ¥µÄ·½·¨£¨ÎªÁËÈÃSQL Server¿ÉÒÔµ÷ÓÃËü£¬Ëü±ØÐëÒªÊÇpublicºÍstaticµÄ£©£¬Õâ¸ö·½·¨ÓÐÒ»¸östringÀàÐ͵IJÎÊý£¬·µ»ØÐÅϢΪ“Hello”¼ÓÉÏÄã´«ÈëµÄ²ÎÊý¡£
ÏÖÔÚ£¬ÎÒÃÇÐèÒª±àÒëÕâ¸öÏîĿΪһ¸öDLL£¬²¢ÔÚSQL ServerÖÐ×¢²áËü¡£ ÕâÒ²ÊDZȽϼòµ¥µÄ£¬ÔÚVSÖÐÓÒ¼üµ¥»÷ÏîÄ¿£¬Ñ¡Ôñ“Éú³É”ºó³ÌÐò¾Í»áÉú³ÉÒ»¸öDLL¡£ Èç¹ûÄãµÄÏîÄ¿Êǵ÷ÊÔģʽµÄ»°£¬ÄÇô¾Í¿ÉÒÔÔÚÈçÏÂËùʾÄÇÑùµÄ·¾¶ÀïÕÒµ½±àÒëºÃµÄDLL¡£
C:\Documents and Settings\mark.smith\My Documents\Visual Studio 2005\Projects\SQLServerCLRTest\SQLServerCLRTest\bin\Debug\SQLServerCLRTest.dll
ÕÒµ½Õâ¸öDLLºó£¬ÎÒÃǾͿÉÒÔ°ÑËü¿½±´µ½ÎÒÃǵÄSQL Server»úÆ÷ÉÏÁË£¬Èç¹ûÊÇÏàͬ»úÆ÷µÄ»°ÎÒÃÇÖ»Òª¼ÇסÕâ¸ö·¾¶¼´¿É¡£
ÆôÓÃCLR¹¦ÄÜ
ĬÈÏÇé¿öÏ£¬SQL ServerÖеÄCLRÊǹرյģ¬ËùÒÔÎÒÃÇÐèÒªÖ´ÐÐÈçÏÂÃüÁî´ò¿ªCLR£º
exec sp_configure 'clr enabled',1
reconfigure
go
×¢²áDLL
ΪÁ˵÷ÓÃÎÒÃÇдµÄÄǸö·½·¨£¬ÐèÒªÔÚSQL ServerÖÐ×¢²áÎÒÃǸոձàÒëºÃµÄÄǸöDLL¡£ ÎÒÃÇ¿ÉÒÔÔÚÊý¾Ý¿âÖÐʹÓÃÈçÏÂÃüÁîÀ´×¢²áDLL£¨Â·¾¶ÎªÄãµÄDLLÎļþµÄ·¾¶£©
CREATE ASSEMBLY asmHelloWorld from 'C:\SQLServerCLRTest.dll'
ÔÚSQL ServerÖе÷ÓÃÎÒÃǵÄ.NET·½·¨
ΪÁ˵÷ÓÃ.NET·½·¨£¬ÎÒÃÇ¿ÉÒÔдһ¸öSQL Server×Ô¶¨Ò庯Êý£¬²¢ÔÚÆäÄÚʹÓÃ&ld
Ïà¹ØÎĵµ£º
SQLÈßÓà×ֶεIJßÂԺ͹ÜÀí
http://www.examda.com/ncre/three/db/fudao/20091203/093528816.html
ÈßÓà×ֶεÄʹÓÃÔÚ¶à±íÁªºÏ²éѯ¶¼ÊÇ´óÊý¾ÝÁ¿µÄ±íµÄÇé¿öÏ£¬È·ÊµÊǸö²»´íµÄÑ¡Ôñ£¬ÓÐЧµÄ¼õÉÙÁËIO²Ù×÷¡£µ«½áºÏÒÑÓеÄÏîÄ¿²úÆ·À´¿´£¬ÈßÓà×Ö¶ÎȷʵÊÇË«Èн£¡£ÓÈÆäÊÇ´óÏîÄ¿µÄ¿ª·¢£¬Èç¹ûºöÂÔij¸ö±íµÄÈßÓà×ֶεĸüУ¬ÄÇôºó¹ûÊÇÔÖÄÑ ......
v$sqltext
´æ´¢µÄÊÇÍêÕûµÄSQL
v$sqlarea
´æ´¢µÄSQL ºÍһЩÏà¹ØµÄÐÅÏ¢£¬±ÈÈçÀۼƵÄÖ´ÐдÎÊý£¬Âß¼¶Á£¬ÎïÀí¶ÁµÈͳ¼ÆÐÅÏ¢
v$sql
´æ´¢µÄÊǾßÌåµÄSQL ºÍÖ´Ðмƻ®Ïà¹ØÐÅÏ¢£¬Êµ¼ÊÉÏ£¬v$sqlarea ¿ÉÒÔ¿´×ö v$sql ¸ù¾Ý sqltext µÈ ×öÁË group by Ö®ºóµÄÐÅÏ¢ ......
Ò»¡¢SQL´æ´¢¹ý³ÌµÄ¸ÅÄÓŵ㼰Óï·¨
¡¡¡¡ÕûÀíÔÚѧϰ³ÌÐò¹ý³Ì֮ǰ£¬ÏÈÁ˽âÏÂʲôÊÇ´æ´¢¹ý³Ì?ΪʲôҪÓô洢¹ý³Ì£¬ËûÓÐÄÇЩÓŵã
¡¡¡¡¶¨Ò壺½«³£ÓõĻòºÜ¸´ÔӵŤ×÷£¬Ô¤ÏÈÓÃSQLÓï¾äдºÃ²¢ÓÃÒ»¸öÖ¸¶¨µÄÃû³Æ´æ´¢ÆðÀ´, ÄÇôÒÔºóÒª½ÐÊý¾Ý¿âÌṩÓëÒѶ¨ÒåºÃµÄ´æ´¢¹ý³ÌµÄ¹¦ÄÜÏàͬµÄ·þÎñʱ,Ö»Ðèµ÷ÓÃexecute,¼´¿É×Ô¶¯Íê³ÉÃüÁî ......
ͨ³££¬ÄãÐèÒª»ñµÃµ±Ç°ÈÕÆÚºÍ¼ÆËãһЩÆäËûµÄÈÕÆÚ£¬ÀýÈ磬ÄãµÄ³ÌÐò¿ÉÄÜÐèÒªÅжÏÒ»¸öÔµĵÚÒ»Ìì»òÕß×îºóÒ»Ìì¡£´ó²¿·ÖÈË´ó¸Å¶¼ÖªµÀÔõÑù°ÑÈÕÆÚ½øÐзָÄê¡¢Ô¡¢Èյȣ©£¬È»ºó½ö½öÓ÷ָî³öÀ´µÄÄê¡¢Ô¡¢ÈյȷÅÔÚ¼¸¸öº¯ÊýÖмÆËã³ö×Ô¼ºËùÐèÒªµÄÈÕÆÚ£¡ÔÚÕâÆªÎÄÕÂÀÎÒ½«½ÌÄãÈçºÎʹÓÃDATEADDºÍDATEDIFFº¯ÊýÀ´¼ÆËã³öÔÚÄãµÄ³ÌÐòÖпÉÄÜÄ ......
MS SQLÈëÃÅ»ù´¡:Ë÷ÒýÊÓͼ
ÊÕ²Ø
¡¡
¡¡ÔÚÇ°ÃæÎÒÃÇÒѾÌáµ½¹ýÓйØÊÓͼµÄÏÂÊö¹Ûµã£ºÓÉÓÚÊÓͼ·µ»ØµÄ½á¹û¼¯Óë¾ßÓÐÐÐÁнṹµÄ±íÓÐ×ÅÏàͬµÄ±í¸ñÐÎʽ£¬²¢ÇÒÎÒÃÇ¿ÉÒÔÔÚSQL
Óï¾äÖÐÏñÒýÓñíÄÇÑùÒýÓÃÊÓͼ£¬ËùÒÔÎÒÃdz£°ÑÊÓͼ³ÆÎªÐé±í¡£±ê×¼ÊÓͼµÄ½á¹û¼¯²¢²»ÒÔ ......