zoukankan      html  css  js  c++  java
  • 如何通过代码远程控制Microsoft Sql Server

    微软的Microsoft Sql Server有个SDK库,里面有相当于Manager功能各种命令,只要引用相应的Dll,就可以执行相应的命令,现在就以远程执行文件(.sql)为例。

    一、引用相应的DLL (version: sql 2008)

    引用以下DLL,文件所在位置是安装Mssql目录+Microsoft SQL Server\100\SDK\Assemblies

    Microsoft.SqlServer.ConnectionInfo.dll
    Microsoft.SqlServer.Dmf.dll
    Microsoft.SqlServer.Management.Sdk.Sfc.dll
    Microsoft.SqlServer.ServiceBrokerEnum.dll
    Microsoft.SqlServer.Smo.dll
    Microsoft.SqlServer.SqlClrProvider.dll
    Microsoft.SqlServer.SqlEnum.dll

    二、方法

    #region Execute file of sql
            public bool ExecuteSqlFile(string userId, string password, string server, string file)
            {
                bool result = true;
                try
                {
                    string sqlConnectionString = string.Format("server={2};database=master;uid={0};pwd={1}", userId, password, server);

                    FileInfo fileInfo = new FileInfo(file);

                    StringBuilder script = new StringBuilder(fileInfo.OpenText().ReadToEnd());
                    SqlConnection conn = new SqlConnection(sqlConnectionString);

                    Microsoft.SqlServer.Management.Smo.Server sqlServer = new Microsoft.SqlServer.Management.Smo.Server(new Microsoft.SqlServer.Management.Common.ServerConnection(conn));

                    sqlServer.ConnectionContext.ExecuteNonQuery(script.ToString());
                }
                catch
                {
                    result = false;
                }
                return result;
            }
            #endregion

    可要引用此方法就可以执行向远程数据库执行文件了,引用的方法如下:

    result = ExecuteSqlFile(dbUsername, dbPassword, dbServer, fileName);

  • 相关阅读:
    2018年6月2号(线段树(2))
    [朋友(dalao)们的友链](¦3[▓▓]让我安详的躺一会儿...
    Hello,World
    算法笔记:数论基础
    [单源最短路]逃离僵尸岛
    算法笔记:最小生成树
    算法笔记:单调队列
    算法笔记:高斯消元
    [博客..配置?]博客园美化
    [大模拟]LuoGu P2033 Chessboard Dance
  • 原文地址:https://www.cnblogs.com/lovewife/p/1430196.html
Copyright © 2011-2022 走看看