当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 在SQL Server中通过.NET远程的执行SQL文件

MSSQL
SQL查询结果集对注入的影响及利用
Access入门:Access的特点及其概念问答
关于SQL注入的几类错误和产生的原理
使用SQL语句取随机数的方法
SQL教程:提高SQL执行效率的几点建议
SQL Server数据库常用的T-SQL命令
实战:全面了解SQLServer注入过程
SQL Server 2000的SA密码被破解实例
union组合结果集时的order问题
MSSQL汉字转拼音函数实现语句
sqlserver 中ntext字段的批量替换(updatetext的用法)
sqlserver 常用存储过程集锦
MSSQL 删除数据库里某个用户所有表里的数据
MSSQL 多字段根据范围求最大值实现方法
MSSQL 首字母替换成大写字母
MSSQL 提取汉字实现语句
sqlserver 字符串分拆 语句
实现按关健字模糊查询,并按匹配度排序的SQL语句
SQLSERVER中union,cube,rollup,cumpute运算符使用说明
sqlserver 禁用触发器和启用触发器的语句

MSSQL 中的 在SQL Server中通过.NET远程的执行SQL文件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 152 ::
收藏到网摘: n/a

在项目开发过程中,操作数据库的过程中经常会遇到对表结构、存储过程等进行修改,这时一般的操作都是通过直接在SQL Server中的企业管理器进行操作,或者查询分析器里来执行相关的语句,而我们在实际应用中为了安全,一般能尽可能少的接触数据库服务器,如果对数据库方面如果有着良好的编程风格的时候,我们一般对会对所更改的生成一个SQL文件,而通过.NET程序来进行数据表及存储过程的更新就会有更方便的操作性了。
首先我们需要把SQL文件传到对应的WEB目录中,最好是把这个文件拷贝到一个远程用户不易访问的受保护的地方。

微软的SQL Server产品组已经编写好了这个操作页面,通过访问http://www.codeplex.com/sqlhost/Wiki/View.aspx?title=UploadAndExecute这个页面,就可以看到RunSQL.aspx这个链接,点击它就可以下载了一个名为FileDownload.aspx的页面,在代码中我们可以看到已经定义的两个参数,代码如下:

 fileUrl代表上传SQL文件的存放路径地址和名称,connectionString代表数据库连接字符串,然后需要把FileDownload.aspx上传到服务器的WEB目录下,需要直接能通过域名访问到。

然后通过浏览器访问远程的FileDownload.aspx网页,这时候远程服务器上的页面会分析 .SQL 文件,并且执行其中的所有SQL语句。 执行成功后,会提示“T-SQL file executed successfully”,否则会提示具体的错误信息。

为了安全,运行完SQL 脚本文件后,把FileDownload.aspx网页和SQL 文件从远程服务器上删除。

如果我们需要保留这个功能,而且在维护的时候可能会经常操作一些SQL语句组,这时候,我们可以对FileDownload.aspx改造一下,这时候可以做以下几个改进:

1) 增加权限部分功能,禁止非法用户访问此页面,如只允许后台管理员进行操作;

2) 可以通过后台传本地的SQL文件,上传到服务器指定目录,然后此页面通过动态读取此文件;

3) 对数据库连接字符串也采用读取WEB.CONFIG形式,便于数据库的统一管理。

感兴趣的读者可以按此进行进一步的扩充。这样就通过.NET建成了一个非常灵活的数据库操作页面了,这样我们在每一次对产品进行升级或者打补丁时候,对数据库方面的操作,我们就可以建立一个整个的SQL文件进行维护了。