ÈçºÎ¿ªÆôSQL CLR
ÈçºÎ¿ªÆôSQL CLR
¿ªÆôSQL CLRÓÐÁ½²½²Ù×÷£¬ÈçÏÂËùʾ£º
1. ¿ªÆôSQLCLR£¬ÔÚsql server2005ÖÐÖ´ÐÐÈçϽű¾£¬¿ªÆôSQL CLR¹¦ÄÜ
EXEC sp_configure 'show advanced options' , '1';
go
reconfigure;
go
EXEC sp_configure 'clr enabled' , '1'
go
reconfigure;
-- Turn advanced options back off
EXEC sp_configure 'show advanced options' , '0';
go
ALTER DATABASE test SET TRUSTWORTHY ON
reconfigure
go
2. ¡¡×¢²á³ÌÐò¼¯£¬ÒòΪʹÓÃC#ʵÏÖSQL¹¦ÄÜ£¬ÓÐЩDLLÎļþûÓб»SQL SERVER°²×°£¬ËùÒÔÒªÊÖ¶¯×¢²á£¬ÔÚÔÚsql server2005ÖÐÖ´ÐÐÈçϽű¾£º
CREATE ASSEMBLY
SMDiagnostics from
'C:WindowsMicrosoft.NETFrameworkv3.0Windows communication FoundationSMDiagnostics.dll'
with permission_set = UNSAFE
GO
CREATE ASSEMBLY
[System.Web] from
'C:WindowsMicrosoft.NETFrameworkv2.0.50727System.Web.dll'
with permission_set = UNSAFE
GO
CREATE ASSEMBLY
[System.Messaging] from
'C:WindowsMicrosoft.NETFrameworkv2.0.50727System.Messaging.dll'
with permission_set = UNSAFE
GO
CREATE ASSEMBLY
[System.IdentityModel] from
'C:Program FilesReference AssembliesMicrosoftFrameworkv3.0System.IdentityModel.dll'
with permission_set = UNSAFE
GO
CREATE ASSEMBLY
[System.IdentityModel.Selectors] from
'C:Program FilesReference AssembliesMicrosoftFrameworkv3.0System.IdentityModel.Selectors.dll'
with permission_set = UNSAFE
GO
CREATE ASSEMBLY -- this will add service modal
[Microsoft.Transactions.Bridge] from
'C:WindowsMicrosoft.NETFrameworkv3.0Windows Communication FoundationMicrosoft.Transactions.Bridge.dll'
with permission_set = UNSAFE
GO
Ïà¹ØÎĵµ£º
ϵͳ»·¾³£ºWindows 7
Èí¼þ»·¾³£ºVisual C++ 2008 SP1 +SQL Server 2005
±¾´ÎÄ¿µÄ£º±àдһ¸öº½¿Õ¹ÜÀíϵͳ
ÕâÊÇÊý¾Ý¿â¿Î³ÌÉè¼ÆµÄ³É¹û£¬ËäÈ»³É¼¨²»¼Ñ£¬µ«ÊÇ×÷ΪÎÒÓÃVC++ ÒÔÀ´±àдµÄ×î´ó³ÌÐò»¹ÊÇ´«µ½ÍøÉÏ£¬ÒÔ¹©²Î¿¼¡£ÓÃVC++ ×öÊý¾Ý¿âÉè¼Æ²¢²»ÈÝÒ×£¬µ«Ò²²»ÊDz»¿ÉÄÜ¡£ÒÔÏÂÊÇÎҵijÌÐò½çÃæ£¬ºóÃæ ......
×î½üÔÚºÍÒ»¸ö¹«Ë¾ºÏ×÷ÏîÄ¿£¬Óв¿·ÖÁ´½ÓÊÇÓÉËûÃǹ«Ë¾ÌṩµÄ£¬ÓÉÓÚµ±Ê±»¹Ã»ÓÐÉêÇëÓòÃû£¬Ö±½ÓÌṩ¸øÎÒÃǵÄÊÇipµØÖ·£¬ÏÖÔÚÕýʽÉÏÏߺó£¬ÐèÒªÎÒÃǽ«ÔÀ´µÄipµØÖ·Ì滻ΪÓòÃû£¬Èç¹ûÒ»¸ö¸öÌæ»»ÆðÀ´ÌرðÂé·³£¬¶øÇÒ¿ÉÄܳöÏÖÎÊÌ⣬Òò´ËÕÒÁËÏÂoracleÖÐsqlÅúÁ¿Ìæ»»µÄ¹¦ÄÜ£¬Ê¹ÓÃÆðÀ´Ì«·½±ãÁË£¬ÔÚÕâÀï¼Ç¼Ï£¬±ãÓÚÒÔºó²éÕÒ¡£¾ßÌåʹÓÃ˵Ã÷ÈçÏ ......
µ±Ë÷ÒýËùÔÚÒ³ÃæµÄ»ùÓÚÖ÷¹Ø¼ü×ÖµÄÂ߼˳Ðò£¬ºÍÊý¾ÝÎļþÖеÄÎïÀí˳Ðò²»Æ¥Åäʱ£¬Ë鯬¾Í²úÉúÁË¡£ËùÓеÄÒ¶¼¶Ò³°üº¬ÁËÖ¸Ïòǰһ¸öºÍºóÒ»¸öÒ³µÄÖ¸Õë¡£ÕâÑù¾Í
ÐγÉÒ»¸öË«Á´±í¡£ÀíÏëÇé¿öÏ£¬Êý¾ÝÎļþÖÐÒ³µÄÎïÀí˳Ðò»áºÍÂ߼˳ÐòÆ¥Åä¡£Õû¸ö´ÅÅ̵Ť×÷ÐÔÄÜÔÚÎïÀí˳ÐòÆ¥ÅäÂ߼˳Ðòʱ½«ÏÔÖøÌáÉý¡£¶ÔÄ³Ð©ÌØ¶¨µÄ²éѯ¶øÑÔ£¬
Õ⽫´øÀ´¼«¼ÑµÄ ......
using System;
using System.Threading;
namespace ConsoleApplication1
{
/// <summary>
/// Class1 µÄժҪ˵Ã÷¡£
/// </summary>
class Class1
{
/// <summary>
/// Ó¦ÓóÌÐòµÄÖ÷Èë¿Úµã¡£
/// </summary>
[STAThread]
& ......
×Ó±í²éѯ£¬¸¸±íÒ»¶¨Òª¼Ó±ðÃû£¬·ñÔòÊý¾Ý»áÓÐÎÊÌ⣬²»±¨±àÒë´í
select * from table1 a where exist(select 1 from table2 where a.id=b.id)
´æ´¢¹ý³Ì½á¹û¼¯²åÈëµ½ÏÖÓбí
insert into table1 exec procname args
ÁªºÏÒÑÓÐ±í£¬½ô¸úÔÚºóÃæ£¬¶Ô»ã×ܺÜÓÐÓÃ
select a from table1 union all select 'ºÏ¼Æ'
½á¹û¼¯ÀïµÄij ......