首页 > 后端开发 > C++ > 如何使用 C# 执行 .SQL 脚本文件?

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

Patricia Arquette
发布: 2025-01-18 15:06:11
原创
1013 人浏览过

How to Execute an .SQL Script File Using C#?

使用C#执行SQL脚本文件

本指南演示如何使用 C# 执行 .SQL 脚本文件。 我们将利用 Microsoft.SqlServer.Management.Smo 程序集来完成此任务。

实施

以下 C# 代码提供了完整的实现:

<code class="language-csharp">using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;
using System.IO;
using System.Data.SqlClient;

public class SqlScriptExecutor
{
    public static void Main(string[] args)
    {
        string connectionString = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ccwebgrity;Data Source=SURAJIT\SQLEXPRESS";
        string scriptPath = @"E:\Project Docs\MX462-PD\MX756_ModMappings1.sql";

        try
        {
            // Connect to the SQL Server database.
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();

                // Create a Server object.
                Server server = new Server(new ServerConnection(connection));

                // Read the SQL script.
                string script = File.ReadAllText(scriptPath);

                // Execute the script.
                server.ConnectionContext.ExecuteNonQuery(script);
                Console.WriteLine("SQL script executed successfully.");
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error executing SQL script: {ex.Message}");
        }
    }
}</code>
登录后复制

代码说明

  1. 命名空间:代码导入 SQL Server 交互和文件 I/O 所需的命名空间。
  2. 连接字符串: 定义连接字符串来指定 SQL Server 实例和数据库。 请记住将其替换为您的实际连接字符串。
  3. 脚本路径: 指定 .SQL 脚本文件的路径。 将其替换为正确的路径。
  4. 连接和服务器对象: 创建并打开 SqlConnection,然后实例化 Server 对象来表示数据库服务器。 using 语句确保连接正确关闭。
  5. 脚本读取: File.ReadAllText将整个SQL脚本读取为字符串。
  6. 脚本执行: server.ConnectionContext.ExecuteNonQuery 执行 SQL 脚本。 此方法处理脚本文件中的多个 SQL 语句。
  7. 错误处理: try-catch 块处理脚本执行期间潜在的异常。

此方法提供了一种在 C# 应用程序中执行 SQL 脚本的强大方法,可以有效管理多个语句和换行符。 请记住调整连接字符串和脚本路径以匹配您的环境。

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

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