我想在解决方案中存储冗长的.sql脚本并以编程方式执行它们。我已经想出了如何执行包含我的sql脚本的字符串,但是还没有想出如何从解决方案中存储的文件中读取字符串(例如,在/
Scripts子文件夹下)。
首先,编辑.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();
}
}
问题内容: 我面临一个非常烦人的问题。我已经在Notepad ++中编写了一些SQL脚本。现在,当我尝试通过SQL * Plus(在Windows 7上通过命令行)执行它们时,出现诸如的错误。 然后,我将脚本复制并粘贴到“ SQL Developer工作表”窗口中,单击“运行”按钮,脚本执行成功,没有任何问题/错误。 经过长时间的调查,我开始认为SQL * Plus的某些空白(包括换行符和制表符)
问题内容: 如何自动执行给定文件夹中所有SQL脚本的运行过程? 问题答案: 编写Windows脚本,使用FOR构造遍历文件,并使用SQLCMD实用程序执行每个文件。
问题内容: 我对执行速度非常慢的存储过程有些困惑。该存储过程基本上包含一个使用传入参数(in_id)的查询,并将其放在游标中,如下所示: 当我获得带有预定义值的SQL查询的执行计划时,使用索引可以得到良好的查询结果。但是,当我从应用程序中调用该过程时,我看到没有索引在使用中,并且该表得到了完整扫描,从而降低了性能。 如果删除WHERE子句的第一部分“(in_id为null)”,则应用程序的性能将再
问题内容: 将SQL查询存储在全局资源文件中而不是将其存储在我的代码隐藏中是个好主意吗?我知道存储过程将是一个更好的解决方案,但是在这个项目上我没有那么奢侈。 我不想在我的页面上查询所有内容,并认为使用中央存储库是一个更好的主意。 问题答案: 资源文件通常用于本地化。但是,字符串只是字符串,只是字符串,您是否真的要将资源文件中的任何旧字符串发送到数据库? 我完全同意其他人的观点,即您应该使用lin
脚本用来驱动项目逻辑,实现交互功能。 常用操作请参考:创建和使用组件脚本 代码编写方法请参考:脚本开发工作流程。
在 Cocos Creator 3D 中,脚本也是资源的一部分。 关于脚本的详细介绍,可参考:脚本指南 关于脚本资源的创建和使用方法,详情可见:脚本创建