¡¾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±àдעÒâÊÂÏî
¾¡Á¿ÉÙÓÃIN²Ù×÷·û£¬»ù±¾ÉÏËùÓеÄIN²Ù×÷·û¶¼¿ÉÒÔÓÃEXISTS´úÌæ¡£
²»ÓÃNOT IN²Ù×÷·û£¬¿ÉÒÔÓÃNOT EXISTS»òÕßÍâÁ¬½Ó+Ìæ´ú¡£
OracleÔÚÖ´ÐÐIN×Ó²éѯʱ£¬Ê×ÏÈÖ´ÐÐ×Ó²éѯ£¬½«²éѯ½á¹û·ÅÈëÁÙʱ±íÔÙÖ´ÐÐÖ÷²éѯ¡£¶øEXISTÔòÊÇÊ×Ïȼì²éÖ÷²éѯ£¬È»ºóÔËÐÐ×Ó²éѯֱµ½ÕÒµ½
µÚÒ»¸öÆ¥ÅäÏî¡£NOT EXISTS±ÈNOT INЧÂÊÉ ......
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import xml.dao.admin.AdminArea;
public class NativeSQLQuery extends HibernateDaoSupport {
......
declare @a int
set @a = 1
while @a<1000000
begin
insert into Test(name) values(@a)
set @a = @a + 1
end ......
ÈçºÎ·ÀÖ¹³ÌÐòÖÐSQL½Å±¾±»SQL SERVERµÄʼþ̽²éÆ÷¸ú×Ù£¬±£ÕÏ×Ô¼ºµÄÈí¼þ²»±»ËûÈË·ÖÎö£¿
ÏÂÃæÊÇÒ»¸öÍ£Ö¹ËùÓÐSQLSERVERµÄ¸ú×ÙÆ÷µÄ½Å±¾(Á½ÖÖ·½·¨µÄÔÀíÏàͬ)£º
µÚÒ»ÖÖ·½·¨£º
procedure SQLCloseAllTrack;
const
sql = 'declare @TID integer ' +
'declare Trac Cursor For ' +
'SELECT Distinct Traceid from ......
¿Í»§Ãû³Æ
´óÁ¬Ä³ÍøÂçÓÎÏ··þÎñÆ÷ £¨SQL SERVER 2008£© ÐÞ¸´³É¹¦
Êý¾Ý¿â°æ±¾
SQL SERVER 2008
Îļþ´óС
5G
¹ÊÕÏÃèÊö
¿Í»§µÄÓÎÏ··þ ......