执行存储为资源的SQL脚本

Yan*_*met 19 .net c# sql

我想在我的解决方案中存储冗长的.sql脚本并以编程方式执行它们.我已经想出如何执行包含我的sql脚本的字符串,但我还没想出如何从存储在解决方案中的文件中读取字符串(例如,在/ Scripts子文件夹下).

Dan*_*mms 34

将SQL文件添加到项目中,然后创建新的资源文件.打开SQL文件,从左上角的下拉列表中选择"文件"(默认为字符串).然后点击添加资源并导航到/选择SQL文件.这允许您从资源文件中获取SQL而不会丢失类型安全性,如下所示:

SqlFiles.SqlScript

以上是Visual Studio 2010中的过程.我也在我的博客上写过这个.


Av *_*zur 22

首先,编辑.sql文件的属性,以便将其作为资源嵌入.

然后使用类似于以下代码来检索脚本:

string commandText;
Assembly thisAssembly = Assembly.GetExecutingAssembly();
using (Stream s = thisAssembly.GetManifestResourceStream(
      "{project default namespace}.{path in project}.{filename}.sql"))
{
   using (StreamReader sr = new StreamReader(s))
   {
      commandText = sr.ReadToEnd();
   }
}
Run Code Online (Sandbox Code Playgroud)

  • @Will - 在SQL CLR项目中似乎无法添加强类型资源文件. (2认同)