摘要: 从网上搜索SQL存储过程解密,可以看到一大堆的资料,其内容都基本上都一致,这是先放上一篇: 解密存储过程 本文将以此为基础进行研究,虽能解密成功,但其中解密那一段究其原理是到底是什么,一直也弄不明白,望了解内情的朋友告知。 先谈问题: 网上得来的存储过和经试验存在几个问题: 1、并没有删除原存储重建,仅仅在控制台做了一个输出,拷贝出来很不方便。 2、对于长度大点的加密数据会解密失败。 带着这两个问题来改造此存储过程。 先做准备工作,首先需要知道DAC这么个东西, 指的是数据库专用管理员连接,为管理员提供的一种特殊的诊断连接。 知道了后得先打开它,以SQL2008为例: 右击“对象浏览器”,找到“Facets”,点击,如图: 阅读全文
posted @ 2011-05-13 21:41 flysoul 阅读(7105) 评论(11) 推荐(2) 编辑
摘要: 上一篇打造自己的数据访问层(二)中,我们已具体实现了数据访问层对应的功能,该进行收尾工作了,先来看段代码,试试上一篇实现的功能:View Code string sqlText = "SELECT ID, NAME, VAL FROM TEST";string columns = "ID, NAME, VAL";DataSet ds = new DataSet();DataExecutor execObj = new MSSqlExecutor();DataMapping map = new DataMapping();map.ExecuteObject 阅读全文
posted @ 2011-05-08 12:39 flysoul 阅读(2213) 评论(2) 推荐(0) 编辑
摘要: 上一篇打造自己的数据访问层(一)中,我们已了解了.NET对数据库操作的基本原理,并就Ado.net对象的使用提出了几点疑问: 1、如何由系统来判断数据库型。 2、如何消除这些重复代码。 而上篇中也提出了一种解决思路,对ADO.NET对象进行封装,要如何封装? 1、需要一个对象,该对象用于建立内存表与物理表的之间映射关系,解决数据查询、更新操作,形成了数据映射,定义为DataMapping。 2、每一个映射对象只与一张物理建立映射关系,如果有多个这样的对象同时操作,如何解决?这时就需要另一个对象,用于添加映射对象集合,打包映射对象操作,形成了数据执行者,定义为DataExecutor。 想想看,只需要这两个基本对象,就可以形成简单的数据访问层了。 阅读全文
posted @ 2011-05-04 21:00 flysoul 阅读(2909) 评论(3) 推荐(6) 编辑
摘要: 项目开发中,大多数开发人员的核心工作就是如何对数据进行存储及访问。为了进行数据操作,我们首先得解决几个基本问题:1、如何与一个数据库建立连接。2、如何从数据库读取相应的数据。3、如何对数据表进行增改操作。.NET中,ADO.NET很方便的解决了上面三个问题,我们可以使用DbConnection进行连接,DataSet进行数据存储,DataAdapter进行数据更新。先看一段代码://创建DbConnection对象连接数据库SqlConnection conn = new SqlConnection();conn.ConnectionString = "server=.;uid=sa 阅读全文
posted @ 2011-05-02 14:48 flysoul 阅读(1983) 评论(10) 推荐(3) 编辑