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);

    Kyle

  • 相关阅读:
    python--tkinter桌面编程开发--记事本
    Python--面向对象编程
    Python--面向对象编程--时钟实例开发
    Python学习笔记--2--面向对象编程
    Python学习笔记--1
    epoll聊天室的实现
    操作系统--虚拟存储器
    操作系统--存储器管理
    操作系统--分页存储管理中逻辑地址转换为物理地址
    操作系统--处理机调度与死锁
  • 原文地址:https://www.cnblogs.com/lovewife/p/1428757.html
Copyright © 2011-2022 走看看