数据库论文(共10篇)
数据库论文 篇1
数据库、数据库管理系统跟数据库系统,这三者看起来都是数据库的扩展,而事实真的如此么?这三者有着怎样的关系与区别呢?我相信也还有很多人不知道。而下面就让我们来深入的了解下吧。
数据库(DataBase,简称DB)
严格地说,数据库是“按照数据结构来组织、存储和管理数据的仓库”。数据库能为各种用户共享,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。
数据库管理系统(DataBase Mangement System,简称DBMS)
数据库管理系统(database management system)是一种操纵和管理数据库的软件,用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。
数据库管理系统主要提供如下功能。
1.数据定义:DBMS提供数据定义语言DDL(Data Definition Language),供用户定义数据库的三级模式结构、两级映像以及完整性约束和保密限制等约束。DDL主要用于建立、修改数据库的库结构。DDL所描述的库结构仅仅给出了数据库的框架,数据库的框架信息被存放在数据字典(Data Dictionary)中。
2.数据操作:DBMS提供数据操作语言DML(Data Manipulation Language),供用户实现对数据的追加、删除、更新、查询等操作。
3.数据库的运行管理:数据库的运行管理功能是DBMS的运行控制、管理功能,包括多用户环境下的并发控制、安全性检查和存取限制控制、完整性检查和执行、运行日志的组织管理、事务的管理和自动恢复,即保证事务的原子性。这些功能保证了数据库系统的正常运行。
4.数据组织、存储与管理:DBMS要分类组织、存储和管理各种数据,包括数据字典、用户数据、存取路径等,需确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率,选择合适的存取方法提高存取效率。
5.数据库的保护:数据库中的数据是信息社会的战略资源,随数据的保护至关重要。DBMS对数据库的保护通过4个方面来实现:数据库的恢复、数据库的并发控制、数据库的完整性控制、数据库安全性控制。DBMS的其他保护功能还有系统缓冲区的管理以及数据存储的某些自适应调节机制等。
6.数据库的维护:这一部分包括数据库的数据载入、转换、转储、数据库的重组合重构以及性能监控等功能,这些功能分别由各个使用程序来完成。
7.通信:DBMS具有与操作系统的联机处理、分时系统及远程作业输入的相关接口,负责处理数据的传送。对网络环境下的数据库系统,还应该包括DBMS与网络中其他软件系统的通信功能以及数据库之间的互操作功能。
数据库系统(DataBase System,简称DBS)
数据库系统一般由4个部分组成:
(1)数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。
(2)硬件:构成计算机系统的各种物理设备,包括存储所需的外部设备。硬件的配置应满足整个数据库系统的需要。
(3)软件:包括操作系统、数据库管理系统及应用程序。数据库管理系统(database management system,DBMS)是数据库系统的核心软件,是在操作系统(如Windows、Linux等操作系统)的支持下工作,解决如何科学地组织和存储数据,如何高效获取和维护数据的系统软件。其主要功能包括:数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立与维护。
(4)人员:主要有4类。
第一类为系统分析员和数据库设计人员:系统分析员负责应用系统的需求分析和规范说明,他们和用户及数据库管理员一起确定系统的硬件配置,并参与数据库系统的概要设计。数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。
第二类为应用程序员,负责编写使用数据库的应用程序。这些应用程序可对数据进行检索、建立、删除或修改。
第三类为最终用户,他们利用系统的接口或查询语言访问数据库。
第四类用户是数据库管理员(data base administrator,DBA),负责数据库的总体信息控制。DBA的具体职责包括:具体数据库中的信息内容和结构,决定数据库的存储结构和存取策略,定义数据库的安全性要求和完整性约束条件,监控数据库的使用和运行,负责数据库的性能改进、数据库的重组和重构,以提高系统的性能。
其实简单来说数据库,容纳数据的仓库,
数据库系统,数据库、数据库管理系统、硬件、操作人员的合在一起的总称
数据库管理系统,用来管理数据及数据库的系统。
数据库系统开发工具,以数据库管理系统为核心,用高级语言开发一套给傻瓜用户使用的数据库应用系统的软件。
数据库系统包含数据库管理系统、数据库及数据库开发工具所开发的软件(数据库应用系统)。
数据库系统开发工具开发出来的是数据库管理系统还是数据库管理工具??
管理工具,因为很多用户对数据库和数据库管理系统不会用,只会用简单的应用软件,所以需要有掌握技术的人员用数据库开发工具编软件给这些简单用户用。
数据库管理系统与数据库系统开发工具什么区别??
前者是后者开发软件的核心,后者除要以它为基准外,还要用高级语言编写程序。
在装操作系统时是不是已经装上了数据库管理系统??
没装,一般都得额外装,比如VFP,PB,SQLSEVER等。
顺便说一下,第一个人说的问题,
VF不是一个数据库管理系统,准确的说是一个数据库管理系统、数据库系统开发工具的综合体。高级用户,可以利用它直接管理数据库;而简单用户,要依赖高级用户用它所编写的应用程序来管理数据。
[数据库、数据库管理系统跟数据库系统的区别]
数据库论文 篇2
关键词:数据库,编程技术,计算机技术,存储技术
二十一世纪是信息化的时代, 计算机已经深入到了每一个人的日常生活当中, 其在工业生产中发挥的作用也日益突出。计算机技术的迅速发展离不开数据存储技术的支撑, 无论是个人电脑还是大型的数据处理系统都需要数据存储单元, 数据存储是计算机正常运行的必要条件。特别是在这个高度重视大数据分析的时代, 数据存储技术已经成了计算机技术的支柱, 只有不断的提高数据库的存储能力和存储速度才能促进计算机技术的高速发展。但是由于种种原因, 我国的计算机技术和数据库存储技术都起步较晚, 一些核心技术仍然被发达国家所垄断, 这也是制约我国数据库存储技术发展的主要原因。
1 数据库存储技术简介
1.1 数据库存储技术的概述
数据库存储技术是随着计算机发展而逐渐兴起的一门技术, 数据库存储技术的提升很大程度上来源于计算机性能的改善, 特别是在近十几年以来计算机的硬件性能发生了翻天覆地的变化。随着计算机的运用范围不断扩大, 传统的存储方式已经不能满足计算机发展的需求, 计算机的存储空间也从曾经的以K为单位到了现在的TB级别。计算机存储空间的不断增大意味着必须采用更加合理的数据管理方式对数据进行更有效的管理, 而各种编程语言的迅速发展又为数据库存储技术的发展提供了可靠的保障, 使得数据库编程水平和数据库存储技术都得到了巨大的提升。
1.2 数据库存储技术的发展简介
数据库这个名词最早出现在20世纪50年代, 但是当时的数据库仍然是采用人工管理的方式, 并且还没有形成软件的形式, 因此那个所谓的数据库与如今所受的数据库还是有很大的差距的, 但是那已经为数据库存储技术的发展打下了坚实的基础。20世纪60年代中期, 计算机存储设备的出现, 带动了计算机存储技术的发展, 数据管理软件也是诞生于这个时期, 但是受制于当时的技术条件, 那时的数据存储能力还是相当有限的。到了二十一世纪, 计算机在企业的日常管理运用中发挥着更加重要的作用, 数据库存储技术也得到了迅速的发展, 数据库的存储速度和共享能力等技术指标都得到了很好的改善。随着数据库存储技术和数据库编程水平的提高, 也出现了一批新的数据库存储技术, 例如数据流、WEB数据管理、分散式数据库等, 这都有效的带动了数据库存储技术的发展。
1.3 数据库存储技术的特点简介
与传统的纸质存储相比, 数据库存储技术具有可靠性高、读写速度快的特点。纸质的存储方式容易受到环境的影响, 特别容易出现遗失的情况, 这也是为什么很多重要的历史资料都被损坏了的主要原因, 并且手写存储的方式已经不能满足当今时代发发展的需求了。采用数据库存储技术, 可以将信息转化成电子的方式存储在在计算机硬盘中, 这不仅提高了数据存储的可靠性, 还大大的提高了数据存储的速度, 这对于当今这个信息量巨大的时代来说是至关重要的。
2 数据库编程与数据库存储技术的关系概述
2.1 数据库存储的类型由数据库编程实现的
数据库的类型多种多样, 在不同领域所用到的数据库的种类也是大不相同, 例如在电力、交通控制领域一般采用的都是实时数据库, 而企业的人事管理系统、网上视频网站等, 一般都是采用关系数据库, 此外还有很多在一些专业领域运用的数据库, 都是为了让满足特定的需求而专业定制的。数据库的类型是由数据库编程的方式所决定的, 其实所有类型的数据的工作原理大致是相同的, 只是在软件的开发过程当中编程者会为了满足实际的需求, 在编程的设计阶段做一些结构上的调整。在编程的过程中, 不同的编程人员可能会采用不同的程序编写软件, 但是无论是选用哪种编程软件, 其编程的原理是相同的, 只是存在形式上的差异而已。因此在数据库的开发阶段, 就应该根据实际的需求确定数据库的类型, 然后再在数据库编程的过程中对其进行实现。
2.2 数据库编程的核心是数据库存储技术
数据库编程人员的核心工作就是实现数据库的存储功能, 虽然随着数据库技术的不断提高, 如今数据库的结构也变得更加复杂, 并且其功能也变得更加多元化, 但是数据库的核心功能仍然是数据存储, 其它的录入、修改、调用等功能虽然也是不可或缺, 但它们都是为数据存储服务的。数据库存储技术作为数据库的核心部分, 在数据库编程的过程中编程人员应该对其更加重视, 所有的工作都应该围绕着数据存储这个功能展开, 这不仅可以提高编程工作的工作效率, 还能提高数据库存储技术的可靠性。
3 数据库存储技术的应用简介
数据库存储技术主要分为在硬件和软件两个方面的运用。在硬件的运用方面, 主要是通过添加高速缓存的方式, 来提高数据存储的效率, 同时达到保护硬件的目的。数据库存储技术主要运用在软件方面, 由于硬件条件的限制数据存储和管理的效率都是有限的, 要想进一步的提高存储效率, 只有在软件上下功夫, 通过数据库存储技术不断的对软件进行优化, 这不仅提高了数据库的存储效率, 改善了性能, 还具有相当高的性价比。
4 结语
总而言之数据库编程和数据库存储技术是息息相关的, 只有数据库编程的水平得到了提高, 才能促进数据库存储技术的快速发展, 才能使计算机的性能得到更大的提升。
参考文献
[1]解启超.数据库存储技术的应用与分析[J].数字技术与应用, 2013 (08) :101-102.
[2]吴敏宁, 高楠.Delphi数据库编程开发[J].电脑知识与技术, 2009 (11) :2882-2883.
关系数据库与非关系数据库 篇3
关键词:数据库;关系模型;关系数据库
通俗地说,关系型数据库就是采用了关系模型来组织数据的数据库。简单来说,关系模型就是一个类似于二维表格的模型,而关系型数据库就是由二维表格及其中含有的数据所组成的一个数据组织。在关系数据库中,有些名词需要我们了解:
关系:通俗地说,在一张二维表格中,每个关系都具有一个关系名,就是通常说的表名table。
属性:在二维表格中也就是类似于excel表格中的一列,在数据库中被称为字段。
域:属性的取值范围,也就是数据库中某一字段的属性限制条件。
关键字:一组可以唯一标识元组的属性。数据库中常称为主键,由一个或多个列组成。
关系模式:指对关系的描述,其格式為:关系名(属性1,属性2,…,属性N)。也就是数据库中的表结构。
随着数据库应用领域的扩展以及数据对象的多样化,传统的关系数据模型暴露出了许多问题,如对复杂对象的表述能力差,表达能力较弱。为此,人们提出了许多新的数据模型,下面笔者向大家介绍一下以前的数据库的主要特点:数据不保存、系统没有专用的软件对数据进行管理、数据不共享、数据不具有独立性。
在文件系统层面上,数据可以以文件的形式进行长期保存,数据交由文件系统管理数,独立的机制使得程序与数据之间具有一定的独立性但在这个结构中,数据的独立性、共享性差,冗余度大、易造成数据传输之间的不一致性。
在数据库系统层面上,数据可以结构化,数据之间的共享性提高,冗余度小,一个用户可以拥有多个数据库,因此数据独立性高,数据控制功能也变得统一起来。其中大可分为4类:
第一类,数据安全性控制;第二类,数据完整性控制;第三类,数据的并发控制;第四类,数据管理与恢复。
数据结构化,在数据库系统中,将数据按照一定的数据模型插入到一个结构化的数据库中,需要考虑此数据库的数据结构,还需要考虑连接数据后的数据结构,而在以前的数据库中,这些,是我们看不到的。下面,笔者将就几个方面对其进行分析:
非关系型数据库的实质:非关系型数据库产品是传统关系型数据库的缩略版本,通过减少功能,来大幅度提升产品性能,类似于我们平时游戏中的资料篇。
目前市场上流通的大部分主流的非关系型数据库基本上都是免费的。而大公司中,名气大的关系型数据库开发软件,比如Oracle、DB2是收费的。这在很大程度上限制了一些平民用户的使用。但是在实际开发中,有很多小型的业务需求,并不需要完整的关系型数据库进行组建,非关系型数据库的功能就足够了。这种情况下,使用性能高、成本低的非关系型数据库当然是我们的首选。在性能上NOSQL是基于键值对的,可以理解成类似于Java中和HashMap中的键值对,数据表中的主键和值也具有相同对应关系,但在使用过程中是不需要经过SQL层的解析,所以性能非常高是它的主要优点。同样,它也具有良好的可扩展性,这也是基于键值对,数据之间存在相当低的耦合度,所以在使用的时候非常容易扩展。
在SQL语言中,关系型数据库对其也具有独特的解读优势:在复杂查询语句中,可以用SQL语句根据表连接、嵌套、子句等方法方便地在一个表或多个表之间做复杂的数据查询,且代码的冗余性很低,这也使得数据库对于安全性能要求很高的数据得以访问,对于非关系型数据库,就没有这些优点。
但是近年来的发展中,两种数据库类型都在不同的需求市场中发展着,虽然有所交集,但是这并不影响数据库的进化方向。比如,NOSQL数据库自从2008年的更新版本以后,慢慢开始具备SQL数据库的一些复杂查询功能,并随着服务端的更新,这方面的功能日益完善,而SQL数据库也在慢慢地进化着,在数据库平台上HandlerSocker技术的出现,可以在MYSQL上实现对于数据库SQL层的穿透,在非NOSQL数据库上使用NOSQL的方式访问数据库,可以实现无中心化的集群等特点,更是向我们说明了数据库在这些年间的变化。
对于研究数据库的人来说,或许关系型数据库只是数据库众多实现中的一个特例模型,在数据库中,类型的划分具有严格的限制。科学家们用严格的数学公式和逻辑形式定义了数据关系以及其中的各种运算,虽然这两极都因为各自的弱势而开始进化出另一极的一些特性,但是这些特性的增加也会导致数据库失去一些原本具备的优势,所以怎样构建和使用数据库的系统模型,是数据结构的框架构造工程师需要考虑的问题。
参考文献:
[1]王珊.数据库与信息系统[M].北京:高等教育出版社,2005.
[2]刘唯一,田雯.数据模型,数据库技术之一[M].北京.科学出版社,2001.
数据库论文 篇4
Informix-Online数据库因其具有高性能、高可靠性、支持数据完整性定义/检查等特性而得到广泛应用。对于使用中的数据库,数据备份的安全可靠性便成为人们关注的焦点。根据多年的学习和经验,笔者对Informix-Online数据库常用的三种数据备份方式加以归纳和比较。本文所讲备份大多是备份到磁带上的热备份方法。
一.使用ontape工具进行数据备份
1.ontape工具的功能
ontape工具具有如下功能:备份和恢复Online数据、备份和恢复逻辑日志、改变数据库日志状态等(本文着重介绍数据备份功能)。
2.执行ontape备份数据的语法
ontape备份语法为:
ontape-s-L备份级别(0、1、2)
在online处于联机或静止方式时,Informix用户或具有DBA权限的用户可以通过执行上面的命令进行备份。根据备份方案安排进行0级、1级、2级备份。0级备份是对整个数据库的所有数据进行完整备份;1级备份是只对0级备份以后修改过的数据进行备份;2级备份只是对1级备份以后修改过的数据进行备份。
3.使用ontape工具进行数据备份需要注意的问题
1)在执行ontape备份前要对Onconfig文件中的TAPEDEV、TAPEBLK、TAPESIZE参数进行正确的设置。
2)为了缩短数据恢复时间,应以进行0级为主,尽量减少1级和2级备份。对银行等重要部门数据,应每天进行0级备份。
3)如果需要将ontape备份的数据恢复到另一台服务器上时,要求两台服务器机型、操作系统、Onconfig配置文件及非临时分配的Dbspace磁盘空间数量和大小必须一致,否则数据不能正常恢复。
4)必须保证有足够可用的逻辑日志文件。如果剩余的逻辑日志空间小于单个逻辑日志的50%,Informix-online将拒绝执行备份操作。必须先备份已使用过的逻辑日志,然后才能进行数据备份。
5)保留Onconfig文件副本。在进行0级备份后,应备份Onconfig文件,因为在恢复0级备份时需要读Onconfig文件信息,如果online配置被修改,数据恢复将失败,如果恢复此0级备份,必须恢复当时的配置。
6)备份可以在online联机或静止方式下进行,在备份过程中不能改变online运行方式,否则备份会被中断。
7)不要使用后台方式执行备份命令(UNIX下的&&),因为备份采用交互方式进行。
二.使用dbexport命令进行数据备份
1.dbexport命令简介
dbexport命令以ASCII码格式将数据写到文件或备份介质上(如磁带)。dbexport卸出的文件包括数据库模式文件和数据文件。
2.dbexport命令语法如下
dbexport[-X][-c][-q][-d][-ss][{-o-t-b-s[-f]}]
以上命令中参数的意义如下:
中包括的内容为必选项,[]中的内容为可选项。
-c:指示如果没有错误,则输出全部信息。
-q:在标准输出设备上不显示错误信息、警告和所生成的SQL数据定义语句。
-d:仅输出blob描述符,不输出blob数据。
-ss:在模式文件中输出特定于服务器的用于创建数据库和表的信息,比如:初始的extent和附加的extent的大小、上锁方式、表所驻留的dbspace等信息,
-o:指定数据输出文件的磁盘目录。
-t:指定数据输出文件的备份介质名称。
-b:指定备份介质块大小。
-s:指定备份介质的最大存储量。
-f:用于指定存储在备份介质上的模式文件名。
database:指定备份的数据库名称。
使用dbexport功能及需注意的问题
1)执行dbexport命令必须是Informix用户或具有DBA访问权限的用户;
2)用dbexport备份的数据必须用dbimport命令恢复;
3)用户可以通过编辑模式文件来改变dbimport生成的数据库,如改变数据库名称或相关的表信息;
4)dbexport以独占方式(exclusivemode)占用数据库,备份期间其他用户不能对数据库进行查询和修改及插入操作;
5)模式文件不保留数据库的日志文件,用户使用dbimport命令建立数据库时必须为新建数据库选择一种日志方式(ANSI、buffered、nobuffered类型);
6)用户可以使用dbexport/dbimport命令,将Informix-online和Informix-SE下的数据进行相互转换;也可以将数据在Informix-online的不同版本之间转换,这种转换对数据库服务器的结构和online的配置没有特别要求;
7)使用dbexport/dbimport命令备份/恢复数据,可以起到消除数据分配空间碎块的作用,提高数据库整体运行效率。
三.使用Onunload命令进行数据备份
1.Onunload命令简介
Onunload命令以页为单位,使用二进制形式卸出数据,备份效率比dbexport高。
2.Onunload命令的语法
Onunload[-l][-t][-b][-s][:[owner>.>
以上参数代表的意义如下:
中包括的内容为必选项,[]中的内容为可选项
-l:指示onunload分别从配置参数TAPEDEV、TAPEBLK和TAPESIZE中读入磁带设备、块大小和备份设备容量值
-t:指定备份设备名
-b:指定备份设备的块大小
-s:指定备份设备的存储容量
database:指定要备份的数据库
owner:指定表的属主
table:指定要卸出的表
使用onunload需要注意的问题
1)onunload备份的数据必须用onload命令进行恢复;
2)onunload/onload不能实现不同版本的online之间的数据转移;
3)onunload/onload是以磁盘页大小为单位存储的二进制数据,卸出和接受数据的计算机必须具有相同的磁盘页大小;
4)只能将onunload卸出的数据装入online管理的数据库或表;
5)用户必须具有DBA访问权限,才能执行onunload命令;
6)onunload不保留初始表上定义的访问特权;
7)onunload不保留初始表上定义的同义词。
以上三种数据备份方式各有特点,ontape备份对online参数配置前后一致性要求较高,但数据备份和恢复操作简单,备份和恢复速度较快;onunload备份以页为单位以二进制形式进行备份效率较高,数据恢复时只要计算机磁盘页大小一致即可;用dbexport所做的备份可以实现不同版本、不同Informix产品之间的数据转换,数据转移灵活方便。
为保证数据能够安全恢复,数据备份至少应该选择两种方式。通过对Informix-Online数据库三种常用备份方法分析比较与归纳,用户可以根据实际情况选择适合自己需要的备份方式,来保证数据的安全恢复与转移
如何打开老版本数据库数据库教程 篇5
先关闭已打开的数据库,单击“工具”菜单,选择“数据库实用工具”项,然后选择“转换数据库”,再选择“到当前ACCESS数据库版本”,
在弹出的“数据库转换来源”对话框中,选择要转换的数据库,单击“转换”按钮,在“将数据库转换为”对话框中,输入要转的文件名,单击“保存”按钮,数据库转换完毕。
数据库论文 篇6
Oracle数据库以其高可靠性、安全性、可兼容性,得到越来越多的企业的青睐。如何使Oracle数据库保持优良性能,这是许多数据库管理员关心的问题,根据笔者经验建议不妨针对以下几个方面加以考虑。
一、分区
根据实际经验,在一个大数据库中,数据空间的绝大多数是被少量的表所占有。为了简化大型数据库的管理,改善应用的查询性能,一般可以使用分区这种手段。所谓分区就是动态表中的记录分离到若干不同的表空间上,使数据在物理上被分割开来,便于维护、备份、恢复、事务及查询性能。当使用的时候可建立一个连接所有分区的视图,使其在逻辑上仍以一个整体出现。
1.建立分区表
Create table Employee(
EmpNo varchar2(10) primary key,
Name varchar2(30),
DeptNo Number(2)
)
Partition by range(DeptNo)
(partition PART1 values less than (11)
tablespace PART1_TS,
partition PART2 values less than(21)
tablespace PART2_TS,
partition PART3 valuse less than(31)
tablespace PART3_TS
partition PART4 values less than(MAXVALUE)
tablespace PART4_TS
);
表Employee依据DeptNo列进行分区。
2.分区索引
Create index Employee_DeptNo on Employee (DeptNo)local(
partition PART1 tablespace PART1_NDX_TS,
partition PART2 tablespace PART2_NDX_TS,
partition PART3 tablespace PART3_NDX_TS,
partition PART4 tablespace PART4_NDX_TS,
);
当分区中出现许多事务并且要保证所有分区中的数据记录的惟一性时采用全局索引,在建立全局索引时,Global子句允许指定索引的范围值,这个范围值可以不同于表分区的范围值。只有建立局部索引才会使索引分区与表分区间建立起一一对应关系。因此,在大多数情况下,应该使用局部索引分区。若使用了此索引,分区就能够很容易地将索引分区与表分区建立关联,局部索引比全局索引更易于管理。
3.分区管理
根据实际需要,还可以使用Alter table命令来增加、删除、交换、移动、修改、重命名、划分、截短一个已存在分区的结构,
二、重建索引
如果表中记录频繁地被删除或插入,尽管表中的记录总量保持不变,索引空间的使用量会不断增加。虽然记录从索引中被删除,但是该记录索引项的使用空间不能被重新使用。因此,如果表变化不定,索引空间量会不断增加,不论表中记录数量是否增加,只是因为索引中无效空间会增加。
要回收那些曾被删除记录使用的空间,需要使用Alter index rebuild命令。可以做一个定期运行的批处理程序,来重建最活动表的索引。这个批处理程序可以在空闲时运行,以避免该程序与其他应用程序冲突。若能坚持索引的这一程序规划,便可以及时回收那些未使用空间,提高空间利用率。
三、段的碎片整理
当生成一个数据库对象时(一个表或一个索引),通过用户缺省值或指定值来为它指定表空间。一个在表空间中生成的段,用于存储对象的相关数据。在段被关闭、收缩、截断之前,段所分配的空间将不被释放。
一个段是由范围组成,而范围是由相邻的Oracle块组成。一旦存在的范围不能再存储新的数据,这个段就会去获得新的范围,但并不要求这些范围是彼此相邻的。这样的扩展会一直继续下去,直到表空间中的数据文件不能提供更多的自由空间,或者范围数量已达到极限。
因此,一个碎片太多的数据段,不仅会影响运行,也会引发表空间中的空间管理问题。所以,每个数据段只含有一个范围是十分有益的。借助监控系统,可以通过检查DBA_SEGMENTS数据字典视图来了解哪些数据库对象含有10个或更多范围的段,确定其数据段碎片。
若一个段的碎片过多,可用两种方法解决:
1. 用正确的存储参数建立一个新表,将旧表的数据插入到新表中,在删除旧表;
2. 利用Export/Import工具。
如:exp system/manager file=exp.dmpcompress=Y grants=Y indexes=Y
tables=(T1,T2)
若输出成功,进入Oracle,删除上述表。
注:compress=Y表示将在输出过程中修改它们的存储参数。
imp system/manager file=exp.dmp commit=Y buffer=64000 full=Y
四、自由范围的碎片整理
表空间中的一个自由范围是表空间中相连的自由(空间)块的集合。当一个段关闭时,它的范围将被释放,并被标记为自由范围。然而,这些自由范围再也不能与相邻的自由范围合并,它们之间的界线始终存在。但是当表空间的缺省值pctincrease设置不是0时,SMON后台进程会定期将这些相邻的自由范围合作。若pctincrease设置为0,那么相邻自由范围不会被数据库自动合并。但可以使用Alter table命令“coalesce”选项,来强迫进行相邻自由范围的合并。
不进行自由范围合并,在日后的空间请求中,会影响到表空间中的空间分配。当需要一个足够大的范围时,数据库并不会合并相邻的自由范围,除非没有其他选择。这样,当表空间中前面较小的自由范围已被使用时,将使用表空间中后面部分最大的一个自由范围。结果,会因为没有足够多的使用空间,从而导致表空间需求的矛盾。由于这样的情况出现,使数据库的空间分配距理想越来越远。自由空间碎片常会出现在那些经常关闭又重新生成的数据库表和索引中。
在理想的Oracle表空间中,每一个数据库对象存储在一个单独的范围中,并且所有有效自由空间集中在一个巨大而连续的范围中。这样,在一个对象需要附加存储空间时,可以在增加获取足够大自由空间的可能性的同时,最小化空间中的循环调用,提高自由空间使用率。
数据库论文 篇7
关键词:内存数据库,Oracle数据库,数据同步,数据字典,变更数据索引
0引言
数据库技术诞生于20世纪60年代末70年代初,是随着计算机技术的发展而产生的一种计算机应用技术,其主要目的是有效地管理和存取大量的数据资源。数据库技术主要研究如何存储、使用和管理数据[1]。传统的数据库是用磁盘进行存储的,在数据库存取的过程中需要频繁地对磁盘进行读写操作,而磁盘的“输入/输出(I/O)”一直是计算机硬件性能中最薄弱的环节[2,3,4],随着计算机网络技术和信息技术的发展,需要存储的信息越来越多,对数据的访问实时性要求越来越高,传统的以磁盘存储的物理数据库越来越不能满 足实时性 和并发性 的要求[2,5]。虽然采用磁盘阵列的方式在一定程度上能够增加数据库访问的“I/O”吞吐量,但是磁盘 阵列的价格比较昂贵且磁盘阵列性能也存在极限,内存数据库虽然能够解决实时性和并发性问题[2,3,4,5,6,7],但是内存数据库的存储容量有限,故内存数据库与传统商业数据库混合服务的组网方式逐渐流行起来,成为一种既能保证数据库访问的实时性和并发性又能大容量存储的经济性解决方案。
这种解决方案一般只将访问频度比较高的实时信息和关键性数据存储在内存中,传统的商业数据库中存储系统的全部信息,兼作内存数据库数据的“固化版本”[4,5,6,7],这就引入了内存数据库与商业数据库的同步问题。文章以Oracle数据库为例,提出了一种可靠的内存数据库与Oracle数据库的数据同步机制,能够快速有效地保证内存数据库与Oracle数据库的数据一致性。
1数据库同步设计
内存数据库与Oracle商业数据库组合的组网方式一般是部署一台Oracle数据库服务器和一台或多台内存数据库。Oracle数据库存储所有的数据信息,也被称为后台数据库(下文简称后台),内存数据库是Oracle数据库的“工作版本”,存储实时的业务信息,也称为前台数据库(下文简称前台)。下面以一台Oracle数据库服务器和两台内存数据库作负载均衡的混合组网数据库系统为例说明数据库同步设计。内存数据库与Oracle数据库混合组网部署如图1所示。
内存数据库与Oracle数据库的同步主要有以下3种方式:
(1)前台内存数据库数据加载:内存数据库与Oracle数据库混合组网的数据库系统上电时,内存数据库需要从Oracle数据库加载全部业务数据,即全库同步。
(2)前台向后台数据同步:当前台内存数据库处理业务时会产生一些新数据或数据变更,这些新数据或数据变更需要同步到后台Oracle数据库进行固化。
(3)后台向前台数据同步:由于本设计前台采用两台负载均衡的内存数据库,当一台内存数据库处理业务产生新数据或数据变更后,将其同步到后台Oracle数据库,需要后台向前台另一台前台内存数据库同步;另外系统网管在后台配置的数据也需要同步到前台。
实现上述三种同步需要在后台Oracle数据库服务器和两台前台内存数据库服务器部署数据同步模块。前台数据库服务器的数据同步模块负责在上电时向后台请求加载业务数据、将前台产生的新数据向后台同步并处理来自后台的数据同步请求;后台数据库服务器的数据同步模块负责处理前台上电的加载请求、处理来自前台的数据同步请求并将后台的新数据按照一定的规则推送到前台。前台内存数据库和后台Oracle数据库同步信息交互图如图2所示。
设计中前台数据同步模块不直接对后台数据库进行存取,实现了前台对后台Oracle数据库访问的隔离,通过数据同步请求实现前台对外置的后台数据库的数据查询、插入、更新和修改等数据库操作请求,两台前台内存数据库服务之间的数据同步亦是通过前后台数据库同步实现。前台内存数据库加载的全量同步基于数据字典技术实现,前后台实时数据同步基于变更数据索引表完成,这种设计可以简化前台同步模块的业务逻辑和前台数据库服务器的性能开销,而前台内存数据库与后台Oracle数据库的相对隔离也 在一定程 度上增强 了数据库 的安全性。
2技术实现
2.1前台数据加载同步
内存数据库,顾名思义就是将数据放在内存中直接操作的数据库,由于使用随机存储器(RAM)对外提供服务,故存取速度是传统硬盘无法比拟的,但RAM的特性也决定了存储在内存数据库中的数据在断电后就消失了,所以内存数据库在上电时必须进行数据加载以便恢复到断电前的状态,这就需要前台数据加载同步。设计中前台数据加载功能由前台数据库、前台同步模块、后台同步模块、后台同步缓冲区和后台数据库组成,前台数据加载同步功能的处理流程如图3所示。
前台数据加载是全库同步,采用按表加载的方式,即每次同步请求加载一张数据库表,由于数据比较多,故采用了分包数据同步的方式进行前台数据加载同步,即将每次同步请求(一张表)的结果拆分成多个数据包,其中第一包除携带同步数据外还自带待加载数据表的数据字典。数据字典可以通过查询后台数据库的数据目录获得。数据字典包括待加载数据表的字段数目、字段名、字段类型和字段长度等信息,后续包只需携带同步数据。前台数据加载同步的流程如下:
(1)前台同步 模块向后 台同步模 块发送加 载请求。
(2)后台同步模块查询后台物理数据库。
(3)后台同步模块提取数据库查询结果。
(4)后台同步模块提取第一包查询结果数据到后台同步缓冲区。
(5)向前台同步模块发送第一包加载数据并设置重发定时器,直到收到请求下一包的消息或超过重发次数,超过重发次数直接跳转到(12)结束本次同步。
(6)前台同步 模块写第 一包数据 到内存数据库。
(7)前台数据同步模块请求下一包数据。
(8)后台同步模块提取下一包查询结果数据到后台同步缓冲区。
(9)向前台同步模块发送下一包加载数据并设置重发定时器,直到收到请求下一包的消息。
(10)重复(7)~(9)直到本次加载数据全部同步完毕。
(11)前台同步模块向后台同步模块发送本次加载完成的确认消息。
(12)本次数据同步结束。
2.2前台向后台数据同步
同样,由于前台内存数据库采用RAM存储数据,当系统执行业务逻辑改变了前台内存数据库内容后无法对数据进行“固化”,为保证内存数据库断电再次上电后恢复,故需要将前台数据同步到后台Oracle数据库。前台向后台同步设计采用增量同步的方式,即只同步更改后的数据。本设计中提出了变更数据索引表的概念,变更数据索引表不同于一般的变更数据表,它只存储数据变更的索引———并不实际存储变更数据,这样设计既能避免数据冗余、节省宝贵的内存存储空间,又能保证同步数据的实效性,即同步的数据总是最新的数据。前台内存数据库变更数据索引表的设计如表1所示。
当前台内存数据库增加、删除或修改业务数据时会同时写一条变更数据索引到变更数据索引表,并对于表名TABNAME和主键索引值IDXVALUE相同的变更记录进行融合处理,以防同一条记录短时间内反复被同步。变更数据索引表同步记录的融合处理原则如表2所示。
注:最后两种组合为异常情况,融合处理结果为异常处理。
前台数据同步模块定时扫描变更数据索引表,根据表名TABNAME、主键索引值IDXVALUE和同步标识FLAG查询到需要同步的数据表名和索引,然后到数据原始表中提取同步数据。前台数据向后台同步也采用自带数据字典的方式,每条同步消息可以携带多条同步记录。前台数据同步模块将数据打包后在变更索引表置“正在同步”标识,将其发送给后台同步模块,然后由后台同步模块提取每条同步数据并将其写入后台数据库,所有同步记录处理完毕后统一回响应消息。前台数据同步模块收到同步成功消息后删除变更数据索引表中数据同步索引记录。前 台向后台 同步的处 理流程如 图4所示。
前台向后台数据同步的处理流程如下:
(1)前台数据同步模块定时扫描前台变更数据索引表,提取同步数据后打包,并将前台数据变更索引表中的记录置为“正在同步”。
(2)前台数据同步模块向后台数据同步模块发送同步数据请求。
(3)后台数据同步模块处理同步请求,并进行拆包处理,将数据同步请求中的每条同步记录都解析出来写入后台Oracle数据库。
(4)全部同步记录都处理完毕后,向前台数据同步模块回复响应消息。
(5)前台数据同步模块根据响应消息删除前台变更数据索引表中同步成功的索引记录,未同步成功的记录置回“未同步”,待下次扫描周期来临时再次同步。
2.3后台向前台数据同步
后台向前台同步与前台向后台同步实现机制类似,也是增量同步,同样也采用变更数据索引表的方式同步。后台向前台同步的数据主要有前台其中一台内存数据库服务器向后台同步的数据和系统网管的配置数据。前台同步来的数据需要向其他前台同步,而系统网管的配置数据则需要同时向所有前台内存数据库同步。后台Oracle数据库变更数据索引表的设计如表3所示。
后台向前台数据同步的处理流程与前台向后台同步基本相同。后台变更数据索引表比前台多一个同步目的地字段,用以标识向哪台内存数据库服务器同步,并且由数据变更表的名称、变更记录的索引值组合、同步目的地和同步标识共同作为后台数据变更索引表的主键。后台变更数据索引表的同步索引记录也根据表2中的原则进行融合处理。后台向前台同步也采用定时从变更数据索引表提取同步记录的索引,然后根据索引从数据原始表提取同步数据打包发给指定的前台内存数据库。前台内存数据库同步模块处理后向后台返回同步结果,同步成功后删除后台变更数据索引表的同步索引记录。特别指出,当向多个前台内存数据库服务器数据同步时,当只收到一个前台的数据同步成功响应时不做删除后台变更数据索引表同步索引记录的处理,只更新该记录的同步目的地DEST字段,在DEST中删除已同步成功的服务器标识号,当最后一个前台返回数据同步成功后再删除后台变更数据索引表的索引记录。
3结束语
数据库论文 篇8
关键词:中国工业企业数据库;海关贸易数据库;合并
一、中国工业企业数据库和海关贸易数据库使用概况
在经验研究中,企业级和产品级的微观数据正在受到越来越多的重视。数据是经验研究的根本,因此数据质量的好坏直接决定了经验研究的质量。其中,中国工业企业数据库和海关贸易数据库成为国内外学者研究中国企业在国际贸易中行为和绩效的主要数据库。他们的研究成果广泛的发表在国内著名学术期刊上,包括《经济研究》、《管理世界》、《经济学(季刊)》、《世界经济》等。
杨汝岱在《区位地理与企业出口产品价格差异研究》中用两个数据库从区位地理的角度解释中国出口产品的价格差异,越偏远的地方,企业出口产品的价格相对越低,初步反映出我国出口产业的梯度分工模式。余淼杰在《企业出口强度与进口中间品贸易自由化:来自中国企业的实证研究》一文中,使用中国制造企业数据和贸易数据,发现企业面临的中间品关税的下降显著提高了企业的出口强度,即出口占销售的比例。戴觅在《中国出口企业生产率之谜:加工贸易的作用》一文中,通过2000—2006年企业—海关数据的分析表明,中国存在“出口企业生产率之谜”完全是由中国大量的加工贸易企业导致。除此之外,还有一系列研究运用中国工业企业数据库和海关贸易数据库得出了很好的结论。
但是,将企业层面的生产数据和产品层面的贸易数据合并会面临一定的技术问题。两组数据库的编码系统完全不同,企业数据库中企业编号为9位,而贸易数据库中企业编号为10位,将两个数据库匹配起来是有困难的。并且,两个数据库原始数据存在很多问题,如样本匹配混乱、指标缺失、变量大小异常、侧度误差明显和变量定义模糊等严重问题。本文介绍了将两个数据库合并的几种方法,并给出如何整理数据,剔除异常值的步骤和建议。
文章余下部分安排如下:第二部分简要介绍了两个数据库的特征;第三部分介绍了两个数据库的并方法;第四部分是结论和建议。
二、两个数据库基本介绍
(一)中国工业企业数据库的基本介绍
中国制造业企业数据库由国家统计局建立,它的数据主要来自于样本企业提交给当地统计局的季报和年报汇总。包括2000年到2006年每年约230000个制造业企业的生产信息。这套数据包括了3张会计报表:损益表,资产负债表和现金流量表,共100多个会计变量。这套数据每年涵盖的企业生产总值占中国总工业生产总值约95%,实际上《中国统计年鉴》中的加总的工业数据就是从这套数据加总而来。数据包括两大类型企业,所有国有企业以及年销售额在500万元以上的非国有企业。企业数目从2000年的162885家增长到了2006年的301961家。
(二)海关贸易数据库的基本介绍
海关数据库包括了2000-2006年产品层面交易的月度数据。每个产品都是在HS8位码上,产品数量从2000年1月的78种增加到2006年12月的230种,每年平均的观测值数目由2000年的1000万增加到2006年的1600万,最终这7年的观测值总数约为118333831个,大约有286819家企业参与了国际贸易。
三、两个数据库合并的方法
(一)按企业名称对接两个数据库
根据企业的姓名和年份匹配,在同一年的两套数据中有相同的名字则认为是同一个企业。年份这一变量对于匹配是重要的,因为一些企业在不同年份企业名称可能不同,并且新进入的企业有可能采用他们原来的名称。
《中国的多产品出口企业及其产品范围:事实与解释》采用此种方法,目的是为了剔除中间商。同时出现在海关数据库和工业企业数据库中的企业必然不是纯粹的中间商,因此留下来的样本就是剔除了中间商的样本。用此种方法合并,最后得到2000-2005年的企业数量分别为22631,26038,30629,37103,42259,44136家。合并后的数据库企业出口额达到了原海关数据中出口额的60%。这样,合并后的数据就近包括有出口行为的工业企业的进出口和企业的投入产出信息。
两篇文章匹配出的结果一样。
(二)使用邮政编码和电话号码对企业进行识别
通过企业的邮政编码和最后7位电话号码进行匹配,因为在每一个邮政地区中,企业的号码不同。《加工贸易、企业生产率和关税减免——来自中国产品面的数据》一文采用此种方法。筛选之后,有218024家企业的产品贸易数据(海关贸易数据)保持有效,占到了全部640352个企业样本中的34%。同理,对企业数据集,剔除掉其中邮政编码或电话号码无效的样本后,剩余的企业样本数为973207。继续按照先前的标准进行筛选,则还剩下433273个企业样本,占到了973207家企业中的44.5%。在此基础上,文章将产品贸易数据和企业生产数据归并整合起来。
(三)采用企业名称以及邮政编码和电话号码两种方法匹配,然后取并集
《企业出口强度与进口中间品贸易自由化:来自中国企业的实证研究》一文首先根据企业的姓名和年份匹配,在同一年的两套数据中有相同的名字则认为是同一个企业。这样如果使用原始的工业企业数据,我们可以匹配到83679家企业。如果使用筛选(根据“通用会计准则”(GAPP)中的规定)过后的,我们可以匹配到69623家企业。第二种方法通过企业的邮政编码和最后7位电话号码进行匹配。
一些企业有可能在工业库或海关库中没有汇报企业名称,同样,其邮编和电话号码也可能只出现在一套数据中。为了保证能匹配到更多的企业,将两种方法得到的数据取并集。如此,用原始工业企业数据成功匹配的企业数有90558个。筛选(根据“通用会计准则”(GAPP)中的规定)后的有76823个。
(四)将企业名称拆分成若干词段,用这些词段去搜寻匹配
在数据匹配上,首先按每家企业的企业名称完全匹配,接下来将不能完全匹配上的海关库企业中,按贸易额大小排序,将每家企业的企业名称拆分成若干词段,用这些词段去和工业库企业名称搜寻匹配,如果每个词段都能匹配上,赋值匹配类型为“1”,如果只有部分词段匹配上,按匹配要求的精度可逐步赋值。
四、小结和建议
从现有文献来看,合并两个数据库的主要方法有:1.通过企业名称和年份进行匹配;2.邮政编码和最后7位电话号码进行匹配;3.将企业名称分为若干词段来匹配;4.代码表转换。由于第三种方法要求匹配的精度不好确定,以及第四种方法代码表转换不全面,不建议使用。建议使用第一种和第二种方法匹配所得到的数据取并集。
参考文献:
[1]钱学锋,王胜,陈勇兵.中国的多产品出口企业及其产品范围:事实与解释[J].管理世界,2013(01):9-27.
[2]杨汝岱,李艳.区位地理与企业出口产品价格差异研究[J]管理世界,2013(07):21-30.
[3]戴觅,余淼杰.中国出口企业生产率之谜:加工贸易的作用[J].经济学:季刊,2014,13(02).
数据库论文 篇9
我用的是SQL server 6.5,(刚刚用,新手啦),原来放数据库的服务器要更换,请问如何转移?手边的这本书和我的操作界面不一样,很让我生气!我基本思路是这样的:先备份数据库----有了*.dat文件---在另一台机器上设置设备、库、表(将*.sql文件用isql生成表结构)---用restore恢复(应该是恢复表的内容),
如何转移SQL SERVER数据库数据库教程
。
可做到最后一步,restore按钮总也不亮,不知我的思路可有错误,现在问题应该怎么解决,请大侠们出手相助!!!
azury (来自 202.111.130.166) 于 99-5-19 上午 11:58:10 加贴在 SQL数据库:
1 . 原有数据库服务器不要动。
2 . 重新安装一个Sql Server 服务器。
3 . 安装完毕在 Enterprise manager 中将两个服务器都映象进来
(其实,就是Register两个)
3 . 选择要转移的数据库
4 . 菜单中选Tools --> Database Backup/Restore
5 . 设置源/目的以及其他参数
6 . 进行转移(非常快)
试试吧,
:)
露茜 (来自 202.111.130.166) 于 99-5-19 上午 11:56:52 加贴在 SQL数据库:
然后再把原来的目录全部拷过来,覆盖现有的文件就可以了
不过我也是听说的,没有试过,azury姐姐可能会有比较好的办法,但是她的方法可能会使数据出现一些错误
小懒 (来自 202.111.130.166) 于 99-5-19 下午 12:00:54 加贴在 SQL数据库:
在enterprise manager中的菜单--TOOL--DATABASE/OBJECT TRANSFER
选择原来的sql server服务器和库是source
destination就是你现在的server和database
visitor (来自 210.72.252.34) 于 99-5-19 下午 04:16:49 加贴在 SQL数据库:
MS在6.5升级到7.0时问题多多.
给他们的工程师打过电话,
至今也没能提供一个简便/可靠的方案.
若非不得以,
数据库论文 篇10
在MSDN中,.net的数据库连接字符串都有详细的说明,我这里以代码范例的方式罗列一些,具体的每一项代表的意义可以参看MSDN.
ADO.net 中数据库连接方式(微软提供)
微软提供了以下四种数据库连接方式:
System.Data.OleDb.OleDbConnection
System.Data.SqlClient.SqlConnection
System.Data.Odbc.OdbcConnection
System.Data.OracleClient.OracleConnection
下面我们以范例的方式,来依次说明:
System.Data.SqlClient.SqlConnection
常用的一些连接字符串(C#代码):
SqlConnection conn
= new SqlConnection( “Server=(local);Integrated Security=SSPI;database=Pubs”);
SqlConnection conn
= new SqlConnection(“server=(local)NetSDK;database=pubs;Integrated Security=SSPI”);
SqlConnection conn = new SqlConnection(
“Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;”);
SqlConnection conn = new SqlConnection(
“ data source=(local);initial catalog=xr;integrated security=SSPI;
persist security info=False;workstation id=XURUI;packet size=4096; ”);
SqlConnection myConn= new
System.Data.SqlClient.SqlConnection(“Persist Security Info=False;Integrated
Security=SSPI;database=northwind;server=mySQLServer”);
SqlConnection conn = new SqlConnection(
“ uid=sa;pwd=passwords;initial catalog=pubs;data source=127.0.0.1;Connect Timeout=900”);
更多字符串连接说明请看MSDN:
msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataSqlClientSqlConnectionClassConnectionStringTopic.asp
System.Data.OleDb.OleDbConnection
常用的一些连接字符串(C#代码):
OleDbConnection conn = new OleDbConnection(@“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:MyWeb81�5GrocerToGo.mdb”);
OleDbConnection conn = new OleDbConnection(
@“Provider=Microsoft.Jet.OLEDB.4.0;Password=;
User ID=Admin;Data Source=grocertogo.mdb;”);
OleDbConnection conn = new OleDbConnection(
“Provider=MSDAORA; Data Source=ORACLE8i7;Persist Security Info=False;Integrated Security=yes”);
OleDbConnection conn = new OleDbConnection(
“Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:inLocalAccess40.mdb”);
OleDbConnection conn = new OleDbConnection(
“Provider=SQLOLEDB;Data Source=MySQLServer;Integrated Security=SSPI”);
更多字符串连接说明请看MSDN:
msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataOleDbOleDbConnectionClassConnectionStringTopic.asp?frame=true
System.Data.OracleClient.OracleConnection
常用的一些连接字符串(C#代码):
OracleConnection myConn = new System.Data.OracleClient.OracleConnection(
“Data Source=Oracle8i;Integrated Security=yes”);
更多字符串连接说明请看MSDN:
msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataOracleClientOracleConnectionClassConnectionStringTopic.asp?frame=true
System.Data.Odbc.OdbcConnection
常用的一些连接字符串(C#代码):
OdbcConnection conn = new OdbcConnection(
“Driver={SQL Server};Server=MyServer;Trusted_Connection=yes;Database=Northwind;”);
OdbcConnection conn = new OdbcConnection(
“Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;
Persist Security Info=False;Trusted_Connection=yes”);
OdbcConnection conn = new OdbcConnection(
“Driver={Microsoft Access Driver (*.mdb)};DBQ=c:in wind.mdb”);
OdbcConnection conn = new OdbcConnection(
“Driver={Microsoft Excel Driver (*.xls)};DBQ=c:inook1.xls”);
OdbcConnection conn = new OdbcConnection(
“Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:in”);
OdbcConnection conn = new OdbcConnection(“DSN=dsnname”);
更多字符串连接说明请看MSDN:
msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataOdbcOdbcConnectionClassConnectionStringTopic.asp?frame=true
其他厂商提供的数据库连接:
DB2Connection myConn = new IBM.Data.DB2.DB2Connection(
“DATABASE = SAMPLE;UID=; PWD=
;”);
DB2Connection myConn = new IBM.Data.DB2.DB2Connection(“DATABASE = SAMPLE”);
BdpConnection myConn = new Borland.Data.Provider.BdpConnection(“assembly=Borl
and.Data.Mssql,Version=1.1.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b;ve
ndorclient=sqloledb.dll;osauthentication=False;database=;usernam
e=;hostname=;password=
;provider=MSSQL”);
BdpConnection myConn = new Borland.Data.Provider.BdpConnection(“assembly=Borl
and.Data.Db2,Version=1.1.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b;ve
ndorclient=db2cli.dll;database=;username=;
password=
;provider=DB2”);
Connection Pooling
在SQL Server、OLE DB和.NET框架结构中的Data Provider中,都提供了隐式的连接池连接支持,
ADO.net中数据库连接方式数据库教程
,
你可以在ConnectionString中指定不同的参数值控制连接池的行为。比如下面的例子使OLE DB的连接池无效并自动地进行事务处理:
Provider=SQLOLEDB;OLE DB Services=-4;Data Source=localhost;Integrated Security=SSPI;
在SQL Server.NET Data Provider中提供了以下参数设置控制连接池的行为:Connection Lifttime、Connection Reset、Enlist、Max Pool Size、Min Pool Size和Pooling。
更多数据库连接信息,以及非ADO.net的连接字符串可以参看:
www.connectionstrings.com/