给朋友写了一个从脚本文件逐行加载执行SQL语句的程序,现在分享给将来需要的朋友们参考

简介:
功能很简单,从脚本文件,一行行读取SQL语句,然后执行。
代码如下: 
代码
 1  // ------------------------------------------------------------
 2  //  All Rights Reserved , Copyright (C) 2009 , Jirisoft , Ltd. 
 3  // ------------------------------------------------------------
 4 
 5  using  System;
 6  using  System.Collections.Generic;
 7  using  System.Web;
 8  using  System.Web.UI;
 9  using  System.Web.UI.WebControls;
10  using  System.Configuration;
11  using  System.Web.Security;
12  using  System.IO;
13  using  System.Data;
14 
15  namespace  JiriSoft.Permission
16  {
17       using  DotNet.Common;
18       using  DotNet.Common.Utilities;
19       using  DotNet.Common.DbUtilities;
20       using  DotNet.Common.Model;
21       using  DotNet.Common.Business;
22       using  DotNet.Common.Service;
23 
24       ///   <remarks>
25       ///  LoadSqlScript
26       ///  
27       ///  修改纪录
28       ///  
29       ///     版本:1.0 2009.12.17    JiRiGaLa    创建。
30       ///     
31       ///  版本:1.0
32       ///   <author>
33       ///          <name> JiRiGaLa </name>
34       ///          <date> 2009.12.17 </date>
35       ///   </author>  
36       ///   </remarks>
37       public   partial   class  LoadSqlScript : System.Web.UI.Page
38      {
39           protected   void  Page_Load( object  sender, EventArgs e)
40          {
41               //  执行脚本
42               this .ExecuteSql();
43          }
44 
45           ///   <summary>
46           ///  执行数据库脚本
47           ///   </summary>
48           private   void  ExecuteSql()
49          {
50               //  通过接口定义,打开一个数据库
51              IDbHelper dbHelper  =   new  SqlHelper();
52               //  按指定的数据库连接串,打开数据库连接
53              dbHelper.Open( " Data Source=JIRIGALA-PC\\SQLEXPRESS;Initial Catalog=DataCenter;Integrated Security=SSPI; " );
54 
55               //  读取指定的脚本文件
56              StreamReader streamReader  =   new  StreamReader(Server.MapPath( " Script.sql " ));
57              String sqlQuery  =  String.Empty;
58               //  循环读取文本文件
59               while  (sqlQuery  !=   null )
60              {
61                  sqlQuery  =  streamReader.ReadLine();
62                   if  (sqlQuery  !=   null )
63                  {
64                       //  执行数据库查询语句
65                       this .ExecuteSql(dbHelper, sqlQuery);
66                  }
67              }
68               //  关闭文件流
69              streamReader.Close();
70               //  关闭数据库连接
71              dbHelper.Close();
72          }
73 
74           ///   <summary>
75           ///  执行SQL语句
76           ///   </summary>
77           ///   <param name="dbHelper"> 数据库连接 </param>
78           ///   <param name="sql"> 查询语句 </param>
79           private   void  ExecuteSql(IDbHelper dbHelper, String sqlQuery)
80          {
81              String returnValue  =  dbHelper.ExecuteScalar(sqlQuery).ToString();
82               //  显示执行的SQL语句
83              Page.Response.Write( " sqlQuery: "   +  sqlQuery  +   " <br> " );
84               //  显示执行的返回值
85              Page.Response.Write(returnValue  +   " <br><br><br> " );
86          }
87      }
88  }
 
 
脚本文件如下:
1  SELECT MAX(id) FROM BASE_USER;
2  SELECT NEWID();
3  SELECT GETDATE();
 
 
运行效果如下:
 
代码就不提供下载了,需要的朋友,麻烦您自己复制粘贴一下,刚学习入门的朋友,也可以参考一下,蛮实用的一个功能。
 
数据库访问组件的源码,请从下面的连接下载。




本文转自 jirigala 51CTO博客,原文链接:http://blog.51cto.com/2347979/448246,如需转载请自行联系原作者
相关文章
|
4天前
|
SQL 关系型数据库 MySQL
SQL脚本相除
【5月更文挑战第6天】
20 3
|
4天前
|
SQL 关系型数据库 MySQL
|
4天前
|
SQL 关系型数据库 MySQL
|
4天前
|
SQL 关系型数据库 MySQL
SQL脚本字符串替换
【5月更文挑战第3天】
19 4
|
4天前
|
SQL 关系型数据库 MySQL
SQL脚本列转行
【5月更文挑战第2天】
12 0
|
4天前
|
SQL 关系型数据库 MySQL
SQL脚本行转列
【5月更文挑战第1天】
13 0
|
4天前
|
SQL 存储 小程序
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例
数据库数据恢复环境: 5块硬盘组建一组RAID5阵列,划分LUN供windows系统服务器使用。windows系统服务器内运行了Sql Server数据库,存储空间在操作系统层面划分了三个逻辑分区。 数据库故障: 数据库文件丢失,主要涉及3个数据库,数千张表。数据库文件丢失原因未知,不能确定丢失的数据库文件的存放位置。数据库文件丢失后,服务器仍处于开机状态,所幸未写入大量数据。
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例
|
4天前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之在DataWorks中使用ODPS SQL时遇到"该文件对应引擎实例已失效,请重新选择可用的引擎实例"的错误提示”,是什么导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
39 0
|
4天前
|
SQL Java 关系型数据库
mybatis-plus启动时自动执行sql脚本
mybatis-plus启动时自动执行sql脚本
21 1
|
4天前
|
SQL 安全 Go
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
在Python Web开发中,确保应用安全至关重要,主要防范SQL注入、XSS和CSRF攻击。措施包括:使用参数化查询或ORM防止SQL注入;过滤与转义用户输入抵御XSS;添加CSRF令牌抵挡CSRF;启用HTTPS保障数据传输安全;实现强身份验证和授权系统;智能处理错误信息;定期更新及审计以修复漏洞;严格输入验证;并培训开发者提升安全意识。持续关注和改进是保证安全的关键。
21 0