【SQL Server中SMO的簡單使用】

來源:互聯網
上載者:User

 

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;<br />using System.Collections.Generic;<br />using System.Linq;<br />using System.Text;<br />using Microsoft.SqlServer.Management.Common;<br />using Microsoft.SqlServer.Management.Smo;<br />using Microsoft.SqlServer.Management;</p><p>namespace ConsoleApplication1<br />{<br /> class Program<br /> {</p><p> static void Main(string[] args)<br /> {<br /> //建立資料庫執行個體串連<br /> Server s = new Server("POOFLY-PC");<br /> ServerConnection sc = s.ConnectionContext;<br /> sc.LoginSecure = false;<br /> sc.Login = "sa";<br /> sc.Password = "123456";<br /> sc.Connect();<br /> //輸出資料庫數目和第一個資料庫名<br /> Console.WriteLine("DatabaseCount:" + s.Databases.Count);<br /> Console.WriteLine(s.Databases[0].Name);<br /> //建立資料庫<br /> Database db = new Database(s, "newdb");<br /> db.Create();<br /> //建表Tb<br /> Table tb = new Table(db, "NewTableName");<br /> Column c = new Column(tb, "CustomerID");<br /> c.Identity = true;<br /> c.IdentitySeed = 1;<br /> c.DataType = DataType.Int;<br /> c.Nullable = false;<br /> tb.Columns.Add(c);<br /> c = new Column(tb, "CustomerName");<br /> c.DataType = DataType.VarChar(20);<br /> c.Nullable = true;<br /> tb.Columns.Add(c);<br /> tb.Create();<br /> //建立預存程序<br /> StoredProcedure sp = new StoredProcedure(db, "sptest");<br /> StoredProcedureParameter pa1 = new StoredProcedureParameter(sp, "@pa1", DataType.Int);<br /> sp.TextMode = false;<br /> sp.Parameters.Add(pa1);<br /> sp.TextBody = "select * from NewTableName where CustomerID=@pa1";<br /> sp.Create();<br /> //執行預存程序<br /> db.ExecuteNonQuery("sptest 1");</p><p> }</p><p> }<br />}<br />

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.