在工作中,我们有时需要执行一个SQL脚本(我们打开这个.SQL文件 - 存储为C:\ SQLScript \ man.sql - ,设置正确的参数然后执行它)。 现在我已经创建了一个C#应用程序,这个应用程序在我的计算机上运行,并对数据库服务器(.sql脚本工作的同一服务器)执行一些操作,其中一个操作包括执行该脚本。
问题是:如果SQL脚本存储为简单文件而不是真正的存储过程,我如何执行(从我的C#应用程序)SQL脚本?
答案 0 :(得分:1)
如果它是一个有效的sql文件并且它按原样执行,那么你所要做的就是
string query = File.ReadAllText("yoursqlfilePath");
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(query , connection);
command.Connection.Open();
command.ExecuteNonQuery();
}
答案 1 :(得分:0)
我相信您可以打开读入的文件,然后执行从文件字符串创建的SQL命令,然后执行命令。
我不确定是否有更好的方法,但我就是这样做的。
答案 2 :(得分:0)
我通常会尝试将其转换为传递所需参数的存储过程。但是你可以看看采用here的方法。它基本上将脚本中的文本读入字符串,然后使用ExecuteNonQuery执行它。您可以在调用ExecuteNonQuery之前修改文本。