¡¾SQL ServerÖÐSMOµÄ¼òµ¥Ê¹Óá¿
SMOÊÇSQL Mangagement ObjectsµÄ¼ò³Æ.ÓëÖ®Ïà¶ÔÓ¦µÄÊÇADO.Net¡£
²»¹ý²»Í¬µÄµØ·½ÊÇADO.NetÊÇÓÃÓÚÊý¾Ý·ÃÎʵÄ,¶øSMOÊÇÓÃÓÚÉè¼ÆµÄ,ËäÈ»SMOÄܹ»ÔÙ·þÎñÆ÷ÉÏÖ´ÐÐÈÎÒâµÄSQLÓï¾ä.
ÁíÍâÒ»¸ö²»Í¬µÄµØ·½ÊÇADO.Net¿ÉÒÔ·ÃÎʼÆËã»úÖÐÈÎÒâÊý¾ÝÔ´,¶øSMO¶ÔÏóÊÇרÃÅÕë¶ÔSQL Server¶øÉè¼ÆµÄ.
ÔÚSMOÖÐ×îÖØÒªµÄÒ»¸öÀà¾ÍÊÇServer.ÆäËû´ó¶àÊý¶ÔÏó¶¼ÊÇServer¶ÔÏóµÄºó´ú.±ÈÈçDatabase,Table,ViewµÈµÈ¶ÔÏó¶¼ÊÇͨ¹ýServerÊôÐÔ²»¶ÏÏòϼìË÷µ½µÄ.
ÒªÔÚVS2005/vs2008ÖÐʹÓñØÐëÒýÓÃSMOµÄ³ÌÐò¼¯.ÎÒÃǽ¨Á¢ºÃÒ»¸ö¿ØÖÆÌ¨Ó¦ÓóÌÐò,Ìí¼ÓÒýÓÃ:Microsoft.SqlServer.ConnectionInfoºÍMicrosoft.SqlServer.Smo.
¸ü¶àÄÚÈÝ Çë²Î¿´ http://social.msdn.microsoft.com/Search/zh-cn?query=smo
ÕâÀïÓиö²åÇú£ºÎÒÔÚµÚÒ»´Î×öµÄʱºò³öÏÖ´íÎó£ºhttp://topic.csdn.net/u/20100515/19/c1298085-5d2e-41b4-8b91-7003b039aac0.html ½â¾ö·½·¨¼ûÄÚ
ÏÂÃæÊÇSMOµÄ»ù±¾²Ù×÷
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//½¨Á¢Êý¾Ý¿âʵÀýÁ¬½Ó
Server s = new Server("POOFLY-PC");
ServerConnection sc = s.ConnectionContext;
sc.LoginSecure = false;
sc.Login = "sa";
sc.Password = "123456";
sc.Connect();
//Êä³öÊý¾Ý¿âÊýÄ¿ºÍµÚÒ»¸öÊý¾Ý¿âÃû
Console.WriteLine("DatabaseCount:" + s.Databases.Count);
Console.WriteLine(s.Databases[0].Name);
//´´½¨Êý¾Ý¿â
Database db = new Database(s, "newdb");
db.Create();
//½¨±íTb
Table tb = new Table(db, "NewTableName");
Column c = new Column(tb, "CustomerID");
c.Identity = true;
c.IdentitySeed = 1;
c.DataType = DataType.Int;
c.Nullable = false;
tb.Columns.Add(c);
c = new Column(tb, "CustomerName");
Ïà¹ØÎĵµ£º
н¨Êý¾Ý±íÒÔºó£¬ÈôÔÙ¶Ô¸Ã±í½øÐиü¸Ä£¬Ôò»á³öÏÖ¾¯¸æÐÅÏ¢“²»ÔÊÐí±£´æ¸ü¸Ä ×èÖ¹±£´æÒªÇóÖØÐ´´½¨±íµÄ¸ü¸Ä”£¬µÈµÈ£¬ÐèÒª½øÐÐÒ»ÏÂÉèÖ㺹¤¾ß--->Ñ¡Ïî--->Designers--->±íÉè¼ÆÆ÷ºÍÊý¾Ý¿âÉè¼ÆÆ÷--->×éÖ¯±£´æÒªÇóÖØÐ´´½¨±íµÄ¸ü¸Ä£¬È¥µô¸´Ñ¡¿ò¡£
À´Ô´ÍøÂ磺“²»ÊǺÜÀí½âΪʲôÔÚ2008Öлá¼ÓÈë"×èÖ¹ ......
ÎÊÌ⣺
ÎÒÏÖÔÚÄÚÈݶ¼µ÷ÓóöÀ´ÁË ¾ÍÊÇΨһµÄÒ»¸öÎÊÌâ¡¡¡¡ÎÒÒªµ÷µ±Ç°Óû§ID¡¡ÎÒÓõÄPHPCMS {$r[userid]}Õâ¸ö±äÁ¿ ÔÚSqlServerÉϵ÷Óò»µ½
$sql="SELECT CustomerID, Carid, TotolPoints, TakePoints, LeavingPoints, CarType,Activation,Consumption
fro ......
ÔÚSQL¿ç±í×éºÏ²éѯ´æÔÚЧÂÊÎÊÌ⣬¾ÙÀý±ÈÈç
delete from media_source where movie_id in ( select media_id from media where type=2 ) and origin = 3;
ºÍ
delete from media_source where origin = 3 and movie_id in ( select media_id from media where type=2 );
µÄЧÂÊÊDz»Ò»ÑùµÄ¡£
Èôorigin=3µÄÇé¿öÏÂmedia_so ......
declare @a int
set @a = 1
while @a<1000000
begin
insert into Test(name) values(@a)
set @a = @a + 1
end ......
ÔÚSQLÓï¾äÓÅ»¯¹ý³ÌÖУ¬ÎÒÃǾ³£»áÓõ½hint,ÏÖ×ܽáÒ»ÏÂÔÚSQLÓÅ»¯¹ý³ÌÖг£¼ûOracle HINTµÄÓ÷¨£º
1. /*+ALL_ROWS*/
±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑÍÌÍÂÁ¿,ʹ×ÊÔ´ÏûºÄ×îС»¯.
ÀýÈç:
SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='SCOTT';
2. /*+FIRST_ROWS*/
±íÃ÷¶ÔÓï¾ä¿éÑ ......