¡¾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");
Ïà¹ØÎĵµ£º
¼¸¸ö¼òµ¥µÄ»ù±¾µÄsqlÓï¾ä
Ñ¡Ôñ£ºselect * from table1 where ·¶Î§
²åÈ룺insert into table1(field1,field2) values(value1,value2)
ɾ³ý£ºdelete from table1 where ·¶Î§
¸üУºupdate table1 set field1=value1 where ·¶Î§
²éÕÒ£ºselect * from table1 where field1 like ’%value1%’
ÅÅÐò£ ......
ÏÖÔÚÓöµ½Á˸öÊý¾Ý¿â²éÕÒµÄÎÊÌ⣬Á¬½Ó²éÕÒ£¬ÏÖÔÚÓÐÈý¸ö±íusers ±í£¬sex±í£¬languages±í£¬sex±íÖеÄlang_id ºÍmotherlang_idÊÇÖ÷¼üÍâ¼ü¹ØÏµ
ͼƬ£º
ÁªºÏ²éÕÒÐÅϢʱ
Èç¹ûÐÅÏ¢ÍêÕûµÄ»°ÊÇ¿ÉÒÔ²éÕÒ³öÀ´µÄ£¬µ«ÊÇÐÅÏ¢²»ÍêÕûµÄ»°¾Í²îÕÒ²»³öÀ´¡££¨Èç Óû§tanaka¾ÍÎÞ·¨²é³öÐÅÏ¢£©²éÕÒÓï¾äÈçÏ£º
select users.id,username,sex_name ......
ÉÏÒ»½Ú½²ÊöµÄÊÇɾ³ý²Ù×÷£¬±¾½Ú½«½²ÊöÈçºÎÖ±½ÓÖ´ÐÐsqlÓï¾ä¡£ Ö±½ÓÖ´ÐÐsqlÓï¾äÊÇʹÓÃfromSql·½·¨¡£ DbSession.Default.fromSql("select * from products").ToDataTable();
ÕâÑù¿´ÆðÀ´Ç×ÇжàÁ˰ɣ¬Ö±½Ósql¾Í¿ÉÒÔÖ´ÐС£
µ±È»Ò²¿ÉÌí¼Ó²ÎÊýµÄ°¡¡£
DbSession.Default.fromSql("select * ......
Ò»¡¢
SQL SERVER
ºÍ
ACCESS
µÄÊý¾Ýµ¼Èëµ¼³ö
³£¹æµÄÊý¾Ýµ¼Èëµ¼³ö£º
ʹÓÃDTSÏòµ¼Ç¨ÒÆÄãµÄAccessÊý¾Ýµ½SQL Server£¬Äã¿ÉÒÔʹÓÃÕâЩ²½Öè:
¡¡¡¡
1
ÔÚSQL SERVERÆóÒµ¹ÜÀíÆ÷ÖеÄTools£¨¹¤¾ß£©²Ëµ¥ÉÏ£¬Ñ¡ÔñData Transformation
¡¡¡¡
2
Services£¨Êý¾Ý ......
declare @a int
set @a = 1
while @a<1000000
begin
insert into Test(name) values(@a)
set @a = @a + 1
end ......