在项目中关于执行SQL语句的底层方法的通用类很多,但是很少有提供执行SQL脚本的的方法,曾经在项目中有功能需要能直接执行SQL脚本的方法,
经过项目的实践检验,方法比较实用,现在将代码贴出来给大家分享下:
/// <summary>
/// 执行SQL语句脚本文件(带注释,带Go)
/// </summary>
/// <param name="sqlFileName">sql脚本文件路径</param>
public static int ExecuteSQLFile(String sqlFileName)
{
int icount = 0;
using (SqlConnection connecction = new SqlConnection(connectionString))
{
FileStream stream = new FileStream(sqlFileName, FileMode.Open);
StreamReader reader = new StreamReader(stream, Encoding.GetEncoding("gb2312"));
try
{
SqlCommand command = connecction.CreateCommand();
connecction.Open();
//读取文件
StringBuilder builder = new StringBuilder();
String strLine = "";
while ((strLine = reader.ReadLine()) != null)
{
if (strLine.Trim().ToUpper() != @"GO")
{
builder.AppendLine(strLine);
}
else
{
command.CommandText = builder.ToString();
icount = command.ExecuteNonQuery();
builder.Remove(0, builder.Length);
}
}
command.CommandText = builder.ToString();
icount = command.ExecuteNonQuery();
builder.Remove(0, builder.Length);
reader.Close();
stream.Close();
return icount;
}
catch
{
reader.Close();
stream.Close();
icount = 0;
return icount;
}
}
}
分享到:
相关推荐
osql 是 SQL Server 提供的一个命令行工具,用于执行 SQL 语句和运行 SQL 脚本文件。osql 工具可以在命令行下执行 SQL 语句,非常适合批量执行 SQL 任务。 如何使用 osql 导入超大 SQL 脚本文件? 在 SQL Server ...
在实际应用中,为了增加可读性和维护性,通常会将SQL语句写入单独的脚本文件(如`.sql`文件),然后在批处理文件中调用它们,例如: ```cmd @echo off sqlplus system/manager@localhost:1521/orcl @sql_script.sql...
1. **脚本组织**:首先,你需要将一系列SQL语句组织成单独的脚本文件,每个文件可能包含一个或多个SQL命令。例如,在提供的文件名“批量报表导入”中,我们可以推测这是一个与报表数据导入相关的脚本,可能包括创建...
并且生成日志文件,可查看执行过的所有脚本名称和错误信息。 注意: (1) 使用前需确保已将sqlcmd加入到系统环境变量中。 (2) 如果您没有该SQL Server服务器的Windows账户权限,需手动更改脚本中的Sql参数,配置相应...
本话题将详细讲解一个简单的SQL循环语句脚本及其相关知识。 一、SQL循环语句概述 SQL循环语句主要包括WHILE循环和FOR循环,它们允许我们在满足特定条件时重复执行一段代码块。在PL/SQL和T-SQL中,还有BEGIN-END...
在执行SQL脚本前,需要先读取文件内容。可以使用File类的`ReadAllText()`方法读取整个文件内容为字符串: ```csharp string sqlScript = File.ReadAllText("path_to_your_sql_script.sql"); ``` 5. **分隔多条...
"BAT文件执行SQL语句"这一主题就是关于如何通过编写简单的批处理脚本来运行SQL命令,而无需打开像查询分析器或企业管理器这样的图形工具。 批处理文件是Windows操作系统中的DOS命令脚本,它允许用户组合一系列命令...
1、批量执行SQL脚本文件; 2、文件拷贝操作。 其中,App.config为工具配置文件, ;DataBase = master;User ID=sa; password="/> 上述 ;DataBase = master;User ID=sa; password="/>中,value的值为数据库...
通过配置数据库连接信息和要执行的sql语句,可实现定时执行多个sql语句。 所要执行的语句只能是写死的,可支持sqlserver mysql oracle。 配置说明: config/sys.properties 中指定数据库类型及连接信息,执行间隔...
在SQL的上下文中,批处理通常涉及将多个SQL语句写入一个文本文件,然后通过某种机制一次性执行这些语句。 1. **SQL Server Management Studio (SSMS)**:对于SQL Server用户,SSMS提供了一种直观的方式批量执行SQL...
这种功能可以极大地提高工作效率,避免手动逐条输入SQL语句。描述中提到的“可选目录,自动搜索子目录”功能意味着该程序能够递归地遍历指定的目录及其所有子目录,查找所有的SQL脚本文件。这使得用户无需手动收集和...
通过“SQL脚本文件合并工具”,我们可以将分散的SQL脚本整合到一起,形成一个大的SQL脚本文件,这样在SQL*Plus中只需要运行一次,就能完成所有脚本的执行,避免了反复打开、执行单个文件的繁琐步骤。 合并过程可能...
【标题】"谷粒商城SQL语句文件"指的是一个针对谷粒商城分布式大型项目的数据库脚本集合。这个项目可能是一个电子商务平台,包含了多种模块来支持其业务运营。 【描述】中提到,这些SQL语句是项目笔记的一部分,可以...
本文将深入探讨"ORACLE的SQL语句脚本",特别是涉及的PL/SQL语言,以及如何利用这些脚本来创建表、索引和视图。 首先,我们来理解SQL(Structured Query Language),它是用于管理和操作数据库的标准语言。在Oracle...
PB脚本中SQL语句写法与SQL中语句写法对照 PB脚本中SQL语句写法与SQL中语句写法对照是非常重要的知识点,因为PB脚本和SQL语言在写法和应用中有所不同。本文将对PB脚本中SQL语句写法和SQL中语句写法进行对比和分析。 ...
Oracle批处理是数据库操作中提高效率的重要手段,尤其是在C#编程环境下,利用Oracle的数据驱动进行批处理,可以显著提升大量SQL语句执行的速度。本文将深入探讨如何在C#中利用Oracle自带的驱动来实现批处理,以一次...
在这个案例中,这个脚本很可能是用来自动化执行SQL语句,例如更新数据库结构或数据。批处理脚本通常包含DOS命令或者PowerShell命令,用于调用数据库管理系统(如MySQL, SQL Server, Oracle等)的命令行工具,执行SQL...
自动读取指定目录sql文件,科批量执行SQL server 脚本,fw4.0
根据以上选项的不同组合,脚本执行的结果会有显著差异。以下是具体分析: - **组合111**:“每个运行中运行多重查询”、“遇到错误继续”以及“set autocommit=0”均勾选的情况下,如果脚本中有错误的SQL语句,...
EAS二次开发中DEP在编辑或者列表界面写脚本时可调用的执行sql语句的方法。【本方法仅用于客户端代码中,如果是服务端代码,即对某实体进行DEP拓展,请参照官方出品DEP脚本指南】