locked
FAQs: 怎样通过C#运行一个.sql的脚本文件? RRS feed

  • 问题

  • 为了帮助大家更好地学习 LINQ to SQL 技术,微软论坛技术支持团队编辑了一些列的 LINQ to SQL 常见问题及解答" 精华帖。

    本帖的主题是:怎样通过C#运行一个.sql的脚本文件?

    如果您觉得这个帖子对您的学习、工作有所帮助,请再把这个帖子分享给你的同学、同事和朋友。

    如果您想阅读更多的 "LINQ to SQL 常见问题及解答",请打开索引页面:

    http://social.msdn.microsoft.com/Forums/zh-CN/adonetzhchs/thread/f968dfe5-f9e3-4ed0-9c7f-cf26837ea828


    如果您对我们的论坛在线支持服务有任何的意见或建议,请通过邮件告诉我们。
    2011年5月3日 9:19

答案

  • 我们不能用ADO.NET来运行.sql脚本文件,要用C# 来运行.sql脚本文件,我们必须引用SMO程序集和调用它的ServerConnection.ExecuteNonQuery(String script)函数。ExecuteNonQuery()的方法只接受一个字符串类型的参数。因此我们首先需要将.sql脚本文件读入一个C# 字符串变量。

                  ServerConnection.ExecuteNonQuery()运行一个语句不返回结果集,

            http://msdn.microsoft.com/en-us/library/ms199350.aspx

           代码像是这样:

             string sqlConnectionString = "Data Source=(local);Initial    Catalog=AdventureWorks;Integrated Security=True";

                FileInfo file = new FileInfo("C:\\myscript.sql");

                string script = file.OpenText().ReadToEnd();

                SqlConnection conn = new SqlConnection(sqlConnectionString);

                Server server = new Server(new ServerConnection(conn));

                server.ConnectionContext.ExecuteNonQuery(script);

     

       相关帖子:

    http://social.msdn.microsoft.com/Forums/en/adodotnetdataproviders/thread/43e8bc3a-1132-453b-b950-09427e970f31


    如果您对我们的论坛在线支持服务有任何的意见或建议,请通过邮件告诉我们。
    2011年5月3日 9:20