首页 > 数据库 > mysql教程 > 如何使用 C# 执行 .SQL 脚本文件?

如何使用 C# 执行 .SQL 脚本文件?

Linda Hamilton
发布: 2025-01-17 09:56:10
原创
370 人浏览过

How Can I Execute an .SQL Script File Using C#?

使用C#执行.SQL脚本文件

本文介绍几种在C#中执行.SQL文件的方法,推荐使用Microsoft的SQL Server Management Objects (SMO)。

使用SMO的实现:

  1. 导入以下命名空间:

    <code class="language-csharp">using Microsoft.SqlServer.Management.Smo;
    using Microsoft.SqlServer.Management.Common;</code>
    登录后复制
  2. 建立与SQL Server数据库的连接:

    <code class="language-csharp">string sqlConnectionString = @"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=YourDatabaseName;Data Source=YourSQLServerName";
    SqlConnection conn = new SqlConnection(sqlConnectionString);</code>
    登录后复制
  3. 创建一个Server对象来表示SQL Server:

    <code class="language-csharp">Server server = new Server(new ServerConnection(conn));</code>
    登录后复制
  4. 执行.SQL脚本:

    <code class="language-csharp">string script = File.ReadAllText(@"Path\To\Your.sql");
    server.ConnectionContext.ExecuteNonQuery(script);</code>
    登录后复制

代码示例:

<code class="language-csharp">using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;
using System.IO;

public partial class ExcuteScript : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string sqlConnectionString = @"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=YourDatabaseName;Data Source=YourSQLServerName";
        string script = File.ReadAllText(@"Path\To\Your.sql");

        SqlConnection conn = new SqlConnection(sqlConnectionString);
        Server server = new Server(new ServerConnection(conn));
        server.ConnectionContext.ExecuteNonQuery(script);
    }
}</code>
登录后复制

注意:

  • 确保.SQL文件格式正确,并包含有效的SQL语句。
  • 要捕获执行输出,可以使用server.ConnectionContext.ExecuteWithResults(script)代替ExecuteNonQuery

以上是如何使用 C# 执行 .SQL 脚本文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板