随笔分类 -  数据库

摘要:目录(?)[+]不贴图片了,太累。Code First 约定借助 CodeFirst,可通过使用 C# 或Visual Basic .NET 类来描述模型。模型的基本形状可通过约定来检测。约定是规则集,用于在使用 Code First 时基于类定义自动配置概念模型。约定是在 System.Data.... 阅读全文
posted @ 2014-05-10 20:00 ZWmaqing 阅读(334) 评论(0) 推荐(0) 编辑
摘要:1、建一表,放初始化资料 因为农历的日期,是由天文学家推算出来的,到现在只有到2049年的,以后的有了还可以加入! CREATE TABLE SolarData ( yearId int not null, data char(7) not null, dataInt i... 阅读全文
posted @ 2014-04-20 13:04 ZWmaqing 阅读(1531) 评论(0) 推荐(0) 编辑
摘要:作为一名数据库管理员,在进行代码迁移之前,总是尽力给提交于开发环境的代码一个完整的面貌。但是,不得不承认,我不能保证不发生任何可能破坏开发系统的事情。当这种情况发生时,可能的补救措施是恢复到目标代码的前一版本,目标代码可能是存储过程、函数等等。 如果可能的话,你不想做但又不得不做的事情是从备份的数据库中恢复代码,但是如果备份的数据库存储在磁带上,这种方法可能因花费太长的时间而不能... 阅读全文
posted @ 2014-04-18 17:50 ZWmaqing 阅读(728) 评论(0) 推荐(0) 编辑
摘要:以往我们在关系数据库中建立树状结构的时候,通常使用ID+ParentID来实现两条 纪录间的父子关系。但这种方式只能标示其相对位置。解决这类问题在SqlServer2005出现之前通常是采用游标来操作,但熟悉数据库内部机制的人都 知道使用游标带来的性能问题和其他问题是比较严重的。到了SqlServe... 阅读全文
posted @ 2014-04-18 15:50 ZWmaqing 阅读(845) 评论(0) 推荐(0) 编辑
摘要:这也是SQL Server 2008的一个重要新增特性。主要解决的问题是拥有层次关系的表格。例如我们日常生活中用到最多的组织结构图。我们一般会用一个Employees表保存员工数据,而每个员工则又可能会有相应的上级。以前要得到某个员工的所有上级,或者所有下级,通常所采取的方法都是递归。SQL Ser... 阅读全文
posted @ 2014-04-18 15:36 ZWmaqing 阅读(187) 评论(0) 推荐(0) 编辑
摘要:LIKE子句会影响查询性能,所以在明确知道字符个数时,应该使用'_',而不使用'%'。 判断空值/非空值 SELECT select_list FROM table_list/view_list WHERE column IS [NOT] NULL 如果查询出来的字段是空值,然后又想给个默认值给它,可以用nvl(value,0),就给个0给value了。可以在select后使用(用途:赋默认值,数据整齐,可以令到数据不用在读出后再循环赋值),也可以在order by 后使用(用途方便排序,不会出现空值排最头情况)。NVL是关于数值的,NULL情况不行SQL IS 阅读全文
posted @ 2014-03-29 11:54 ZWmaqing 阅读(3617) 评论(0) 推荐(0) 编辑
摘要:第1章 Transact-SQL基础1.1 标识符一、常规标识符1. 命名规则:l 第一个字母必须是Unicode2.0标准定义的字母、下划线、at符号(@)和数字符号(#);l 后续字符可以是Unicode2.0标准定义的字母、来自基本拉丁字母或其他国家/地区脚本的十进制数字、at符号(@)、美元符号($)、数字符号(#)或下划线;l 标识符不能是Transact-SQL的保留字;l 不允许嵌入空格或其他特殊字符;l 标识符长度不大于128字符,本地临时表标识符不大于116字符。注:SQL Server2000中,常规标识符的格式规则取决于数据库的兼容级别,兼容级别可以用系统存储过程sp_d 阅读全文
posted @ 2014-03-25 18:23 ZWmaqing 阅读(1354) 评论(0) 推荐(0) 编辑
摘要:一、MySQL Connector/ODBC 2.50 (MyODBC 2.50)连接方式1、本地数据库连接Driver={MySQL};Server=localhost;Option=16834;Database=myDataBase;2、远程数据连接Driver={MySQL};Server=myServerAddress;Option=131072;Stmt=;Database=myDataBase; User=myUsername;Password=myPassword;3、特殊的TCP/IP端口连接 说明:此Driver的默认端口是3306。如果没有在连接字符串中特别指出就是连接My 阅读全文
posted @ 2014-03-16 20:29 ZWmaqing 阅读(2526) 评论(0) 推荐(1) 编辑
摘要:SQL Server 数据类型映射 (ADO.NET) .NET Framework 3.5 更新:November 2007 SQL Server 和 .NET Framework 基于不同的... 阅读全文
posted @ 2013-10-16 20:08 ZWmaqing 阅读(293) 评论(0) 推荐(0) 编辑
摘要:using System; using System.Data; using System.Xml; using System.Data.SqlClient; using System.Collections; using System.Configuration;namespace BookDAL { /// /// SqlServer数据访问帮助类 /// public sealed class SqlHelper { #region 私有构造函数和方法 private SqlHelper() { } ... 阅读全文
posted @ 2013-10-15 17:01 ZWmaqing 阅读(315) 评论(0) 推荐(0) 编辑
摘要:ConnectionString 类似于 OLE DB 连接字符串,但并不相同。与 OLE DB 或 ADO不同,如果“Persist Security Info ”值设置为false(默认值),则返回的连接字符串与用户设置的ConnectionString 相同但去除了安全信息。除非将“Persist Security Info ”设置为true,否则,SQL Server .NET Framework数据提供程序将不会保持,也不会返回连接字符串中的密码。可以使用 ConnectionString 属性连接到数据库。下面的示例阐释了一个典型的连接字符串。"Persist Secur 阅读全文
posted @ 2013-10-14 17:13 ZWmaqing 阅读(994) 评论(0) 推荐(0) 编辑
摘要:看了SHY520写的关于Data Access Application Block的文章,写得不错,忽略了一点就是如何去加密数据库连接字符串,这儿我简单的介绍一下。我们知道,在Enterprise Library1.1中加密连接字符串,需要依赖于Cryptography Application Block。.NET Framework2.0中已经内置了这项功能,通过Configuration命名空间下的一些类来完成,支持两种类型的加密:DPAPIProtectedConfigurationProvider:使用Windows Data Protection API (DPAPI)RsaProt 阅读全文
posted @ 2013-10-14 16:47 ZWmaqing 阅读(625) 评论(0) 推荐(0) 编辑
摘要:综述什么是数据库连接字符串?连接字符串的格式是一个以分号为界,划分键/值参数对的列表。连接字符串包含一个由一些属性名/值对组成的集合。每一个属性/值对都由分号隔开。PropertyName1="Value1";PropertyName2="Value2";PropertyName3="Value3";.....同样,连接字符串必须包含SQL Server实例名称: Data Source=ServerName;总的来说,数据库的连接字符串分为两种:Windows身份验证和SQL Server身份验证。每种方法都有各自的优缺点。但是遵循 阅读全文
posted @ 2013-10-14 16:44 ZWmaqing 阅读(1266) 评论(0) 推荐(0) 编辑
摘要:一般情况下,大多数人习惯于将数据库连接写在web.config上里面,理论上讲,将明文存放在该文件里面是安全的,因为web.config文件是不允许被客户端下载,但一旦该文件泄漏出去,哪怕是很短的时间,数据库都将承受巨大的危害,可能花上N年才充实起来的信息在很短时间里毁于一旦。这是任何程序绝对不应该出现的问题。有人用简单的对称加密来将数据库连接字符串的密文存放,但密钥一旦丢失,加密与否,形同虚设,那么如何保证连接字符串的安全性呢。下面这个类就完成这个功能,该类调用系统API,在不同的系统中对相同的连接串会生成不同的密文,即使非法获得该串,不能获得在服务器上的管理员权限,仍然没有能力知道数据库的 阅读全文
posted @ 2013-10-14 16:28 ZWmaqing 阅读(299) 评论(0) 推荐(0) 编辑
摘要:先来看一下默认的连接SQL Server数据库配置 SqlConnectionStringBuilder实例化时需要使用connectionString。如:SqlConnectionStringBuild builder = new SqlConnectionStringBuild(connectionString); 一、Data Source Sql... 阅读全文
posted @ 2013-10-14 16:02 ZWmaqing 阅读(7962) 评论(0) 推荐(0) 编辑
摘要:在sqlite编程中多线程同时写时会出现异常,我写了个类来解决这个问题。思路很简单,就是在开始写操作时,记下写操作的托管线程id,表示目前有线程正在做写操作;其他线程来写时,需要先检测是否有进程正在做写操作,如果有就需要等待,等待到某一个配置的超时时间时,会抛出异常终止等待;如果没有则直接放行,此线程可以获得写锁。最后写操作执行完毕时需要释放锁。下面是具体的代码:SQLiteWriteLock /// /// 用于在多线程访问sqlite时防止同步写导致锁文件////// 使用方法:/// using (SQLiteWriteLock sqliteLock = new SQLiteWriteL 阅读全文
posted @ 2013-10-14 15:58 ZWmaqing 阅读(786) 评论(0) 推荐(0) 编辑
摘要:晒晒数据访问层DAL,看看你的项目数据访问层使用的是什么形式,数据访问性能比较采用什么样的数据访问形式是软件编码很重要的一个环节,良好的数据访问形式不仅能够提搞代码的执行效率,协作能力,更重要的是对未来程序维护,功能扩展起到至关重要的作用。当然良好的设计模式可以为我们提供很多的选择,但面对实际问题,公司规模小考虑成本,资金投入少,软件逻辑不算复杂,功能较少,部分客户需求只需要单个功能模块,类似小型管理系统,门户网站,crm等,这也为众多IT人事提供了兼职的好机会。借鉴类似程序,cpy下部分代码,小修小改下数据库字段新的软件就大功告成。这种现状在弊端同时也很多程序没有通过完整的测试,部分存在漏洞 阅读全文
posted @ 2013-10-14 12:19 ZWmaqing 阅读(608) 评论(0) 推荐(0) 编辑
摘要:摘要:本文介绍一下DbHelper数据操作类 微软的企业库中有一个非常不错的数据操作类.但是,不少公司(起码我遇到的几个...),对一些"封装"了些什么的东西不太敢用,虽然我推荐过微软的企业库框架了...但是还是要"评估"...一评就是几个月...而且,一些公司有的根本就是裸ado.net开发,或者自己封装的数据库操作类非常别扭,很不好用. 这里我给大家共享一个我参照企业库中的数据操作组件... 阅读全文
posted @ 2013-10-13 20:18 ZWmaqing 阅读(448) 评论(0) 推荐(0) 编辑
摘要:最近因为项目原因,研究了Cassandra,Hbase等几个NoSQL数据库,最终决定采用HBase。在这里,我就向大家分享一下自己对HBase的理解。在说HBase之前,我想再唠叨几句。做互联网应用的哥们儿应该都清楚,互联网应用这东西,你没办法预测你的系统什么时候会被多少人访问,你面临的用户到底有多少,说不定今天你的用户还少,明天系统用户就变多了,结果您的系统应付不过来了了,不干了,这岂不是咱哥几个的悲哀,说时髦点就叫“杯具啊”。其实说白了,这些就是事先没有认清楚互联网应用什么才是最重要的。从系统架构的角度来说,互联网应用更加看重系统性能以及伸缩性,而传统企业级应用都是比较看重数据完整性和数 阅读全文
posted @ 2013-09-28 21:53 ZWmaqing 阅读(279) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/ZF101201/archive/2010/05/26/5626365.aspxSQLite.NETType: .NET Framework Class LibraryUsage: System.Data.SQLite.SQLiteConnectionBasicData Source=filename;Version=3;Version 2 is not supported by this class library.Using UTF16Data Source=filename;Version=3;UseUTF16Encoding=True;With 阅读全文
posted @ 2013-09-27 22:04 ZWmaqing 阅读(1367) 评论(0) 推荐(0) 编辑