精华内容
下载资源
问答
  • ASP与数据库设计 课本源代码................
  • 中文Access2003数据库程序设计与实训教程源代码 是access数据库文件 可供教学参考使用
  • 源代码工程报告 非常完整 ………………………… 一、课程设计题目 完成一个实际系统的数据库应用系统的设计全过程。 二、课程设计内容 应包括:需求分析、数据库设计数据库建立、数据输入、应用系统的设计和...
  • 数据库课程设计综合实验教材源代码,分别有JSPVC代码。
  • 一课程设计目的 通过这次的设计主要是做出一个小型的管理系统来加强对 JAVA所学知识的巩固和 融会贯通可以说是对一个学期所学知识的一个小结加深对 JAVA数据库的理解 二需求分析 功能需求分析 该系统具备管理学生...
  •  任务五 权限的授予收回  要求: 表、用户以及权限的物理存储文件采用Access、VFP等系统的文件;  语句以命令行和图形化界面两种形式实现; 任务六 关系代数表达式的优化算法  要求:输入关系代数表达式或...
  • 数据库原理应用教程SQL server第十五章设计源代码。包括代码,数据库的完整设计
  • 毕业课程设计,基于Java+oracle学生信息管理系统的设计与实现毕业设计论文及源代码数据库
  • 一课程设计目的 通过这次的设计主要是做出一个小型的管理系统来加强对JAVA所学知识的巩固和融会贯通可以说是对一个学期所学知识的一个小结加深对JAVA数据库的理解 二需求分析 功能需求分析 该系统具备管理学生信息...
  • 山东大学数据库课程设计 学生信息管理系统的源代码与数据库文件,大家分享,不足之处请见谅。
  • 压缩包里面包含毕业论文以及基于OracleJava的项目资源,可以直接拿来运行。用来应付一些结课大作业一点问题都没有!最低资源分数分享给大家,希望多多支持!
  • 资料包括Visual C# 2005+SQL Server 2005数据库与网络开发一书的所有源代码,本人在看完该书后觉得很有价值,速将源代码上传分享! 部分源代码内容如下: 针对XML的代码:ReadDataByExecuteXmlReader XPathSample,...
  • 物流管理信息平台仓储子系统的设计与开发(附件_数据库系统开发源代码)
  • 简单留言版设计与分析 asp.net源代码 sql数据库 前台显示留言信息 访客发布留言 管理员登陆 管理员对留言板的管理-----删除留言、回复留言 显示修改后的提示信息 功能详细设计
  • ASP.NET程序与数据库设计入门及应用实例下载源代码 我还没看.不知道怎么样.
  • Oracle 9i数据库会话间通信的设计与实现C++源代码程序小实例visual studio.net
  • 学生选课系统应当将学生、教师管理员区分开来,因为对教师学生以及课程的增删改查的权限应当只有管理员才拥有,学生只能查询自己有关的记录,教师查询自己所授课程的记录,而管理员则对所有信息进行增删统计。...
  • 这是运动健康管理系统毕业设计源代码数据库,可运行,先上传到网上,希望对你有所帮助
  • VB数据库关键技术实例(源代码)(绝对经典) 第1章 如何用代码设计和实现数据库 第2章 使用ADO访问数据库 第3章 数据库处理技术 第4章 控件在数据库开发中的应用 …… 第11章 硬件应用程序设计
  • delphi ADO控件通过ODBC Drivers直接连接,本程序中用例名设置为LotusOA,每次连接需要输入lotus密码,其他开发这里就不在介绍可以看源代码 delphi ADO控件连接自己本地的SQL Server数据库,程序下载后自己修改 ...
  • 第三章,系统总体设计,叙述数据库设计和系统子模块的功能;第四章,数据库设计,主要介绍实体和数据表和SQL语句实现;第五章,系统模块的详细设计,主要讲述了各个模块的功能;第六章,系统实现;叙述系统运行情况及个人...
  • 好的资源,我愿意大家一起分享!格式、内容 内附源代码
  • 开放源代码数据库

    千次阅读 2004-06-24 18:14:00
    目前开放源代码数据库的竞争者包括: PostgresSQL Postgres可追溯...部分原始源代码与设计依然留存至今,不论在Postgres或Informix数据库都还看得到,后者一开始就采用Postgres 的源代码,现在则由IBM 所有。Postgres是

    目前开放源代码数据库的竞争者包括:

    PostgresSQL

    Postgres可追溯至1986年的加州柏克莱大学。该大学在1994年以BSD 授权方式将源代码开放给开源码社区,社区则加入了SQL 支持,然后一直研发该软件至今。部分原始源代码与设计依然留存至今,不论在Postgres或Informix数据库都还看得到,后者一开始就采用Postgres 的源代码,现在则由IBM 所有。Postgres是公认最先进的开放源代码数据库,但文件品质则相当受到诟病。

    MySQL

    瑞典的MySQL AB公司于1995年开始同时以开放源代码模式与商业授权模式来推出这种产品,该公司表示这种“双轨授权”策略有助于站稳财务基础,有利于未来持续改善数据库产品。MySQL 以100 名员工可称得上是全球最大的开放源代码数据库组织,号称有400 万安装基础,也被赞美为最好用的开放源代码数据库。该公司还提供另一个原本由ERP 大厂SAP 所拥有的开放原码数据库MaxDB ,并加以认证用在R/3 套装软件中。

    Firebird

    Borland 于2000年将Interbase 关连数据库第六版的测试源代码公诸大众,使得它成为全球最新的开放源代码数据库。Firebird现在进入 1.5 版,优点是体积小,且SQL 引擎非常稳定。

    BerkeleyDB

    属于内嵌数据库,包括Apache、Sendmail、Mozilla 浏览器,甚至是Google都采用BerkeleyDB.EMC在部分储存装置上也有使用,而Sun 的 LDAP服务器则仰赖这套源代码。思科与索尼都仅是用户。号称拥有2 亿个部署基础,且跟MySQL 一样,都采双轨授权策略。

    其他开放源代码数据库包括“hsqldb”与“Mckoi ”,两者都是全Java SQL引擎。eXist 则是原生XML 数据库;Backplane 则提供了有别于甲骨文网格解决方案的开放源代码替代选择。

    对ie,脚本 宏的论述

    http://blog.joycode.com/jiangsheng/posts/26024.aspx

    又一个数据库SimpleSQL

    展开全文
  • Ajax,异步JavascrīptXML,是使用客户端脚本Web服务器交换数据的Web应用开发方法。这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新。如今,Ajax技术越来越多的应用到各个网站中
  • 书在前面有,自己找吧 第1章 数据库访问基础ADO.NET 1.1 ADO.NET概述...电子相册的设计与实现 第5章 网上选课系统 第6章 ASP.NET实现论坛 第7章 ASP.NET实现网上商城 第8章 电子图书在线出版系统
  • web课程设计-网页阅读器(源代码+数据库) sqlserver数据库 本阅读器包括文章显示和用户注册系统的功能实现,包括数据流程及存储、注册用户管理、留言板信息管理、用户权限管理、用户密码管理、文章信息和用户的...
  • 本章内容:C/S和B/S架构体系,静态网页动态网页,.NET Framework简介,Visual Studio简介,ASP.NET网站的创建过程。 本章重点:ASP.NET网站的创建过程。
  • 数据库连接池技术的设计思想非常简单,先将数据库连接作为对象存储在一个Vector对象中,Vector 类可以实现可增长的对象“数组”。Vector 的大小可以根据需要增大或缩小,以适应创建 Vector 后进行添加或移除项的操作...


    目录

    在这里插入图片描述

    系统设计

    数据库连接池技术的设计思想非常简单,先将数据库连接作为对象存储在一个Vector对象中,Vector 类可以实现可增长的对象“数组”。Vector 的大小可以根据需要增大或缩小,以适应创建 Vector 后进行添加或移除项的操作。这里主要包含使用的连接(nowConnections)和未使用的连接(freeConnections)两个Vector类创建的对象,创建Vector对象的方法如下:

    public DBConnectionPool(Vectorconnections)
    {
    freeConnections = new Vector();
    nowConnections = new Vector();
    }

    当外部程序向数据库申请建立连接后,系统会调用nowConnections.add( )方法,此时已用连接计数器加1,相应的,调用freeConnections.remove( )方法,此时空闲连接计数器减1,对于这样的引用计数法将会在后面的章节中具体描述。这样,不同的数据库访问请求就可以共享这些连接,并通过复用这些已经建立的数据库连接,克服传统开发模式对数据库操作的缺点。另外,采用超时判断(timeout)机制,等待应用程序对连接的释放或者调用Connection.close()方法主动释放连接,能极大地节省系统资源和用户等待时间。而实现连接池时,当应用程序调用Connection.close( )试图去关闭数据库连接时,这时需要有一个通告给连接池实现模块,通告对当前的数据库物理连接(DBConnectionPool 对象)进行重用。为了使连接池实现模块能得到这种“通告”,连接池实现模块必须实现ConnectionEventListener接口,而且同时需要注册成为DBConnectionPool对象的监听者。连接池实现模块接受到此通告后,不是真正意义上的物理关闭,而是将DBConnectionPool对象返回到池中进行重用。从上面的介绍,可以看出连接池技术的关键就是其自身的管理机制,结合连接池工作的基本原理,通过下图展现出一个连接池系统的总体设计框架。
    在这里插入图片描述
    1.1 连接池中的关键类设计
    一个连接池应用的设计,需要几个关键部分作为支撑,其中最为重要的是DBConnectionPool类和DBConnectionManager类,他们对连接的建立、管理、释放起决定性作用。大体作用列举如下:

    1、一个DBConnectionPool类,该类负责从连接池获取(或创建)连接、将连接返回给连接池、空闲连接的超时等待、系统关闭时释放所有资源并关闭所有连接。

    2、一个DataSourceProviderServlet类,该类负责通过上下文环境读取配置文件后装载和注册JDBC驱动、数据库名等。

    3、一个DBConnectionManager类,该类负责按预先指定的最大连接池数连初始化连接池、创建DBConnectionPool对象provider、当所有的连接客户退出后,关闭全部连接。

    4、DBconfig.properties属性文件,该文件中包含了数据库驱动(DriverName)、数据库URL、数据库表空间名(User)、表空间密码(Password)、连接池最大连接数(maxConnections)。

    5、即为应用程序对连接池中的连接的调用和释放,应用程序退出后连接池的关闭。

    将以上5个部分串连起来,即是本连接池的简单设计流程。首先应用程序向连接池申请连接,就需要通过DBConnectionPool类、DBConnectionManager类对连接池初始化,并且还需要DataSourceProviderServlet类的帮助读取DBconfig.properties文件中的属性,加载和注册JDBC驱动、数据库名等,连接池才能初始化成功。之后通过DBConnectionPool类监视、管理应用程序调用、释放的数据库连接,并通过该类的cp对象将连接使用情况反映在页面上。连接池管理程序得到某个连接,而其他线程就不会得到这个数据库连接了,此线程使用结束后,该线程将连接交还给连接池管理程序,以分配给其他等待连接的请求线程。这里连接池充分利用Java的线程同步机理,使当前服务线程处于等待状态,直至有空闲的连接出现。最后当应用程序退出时,通过DBConnectionManager类负责连接池的关闭。

    1.2 连接池中的管理机制
    应用程序开发中“三分技术、七分管理”的思想在连接池的配置中同样得以体现,如何从连接池中取得连接,何时释放连接、如何释放连接等问题还需要为连接池配置更为复杂的管理机制,连接池流程的管理如下图所示,这些属性定义了连接池与其中每个连接的有效状态值。连接池的自我管理,实际上就是通过定时的对每个连接的状态、连接的数量进行判断而进行相应操作。
    在这里插入图片描述

    系统实现

    1.1 连接池的建立
    应用程序中建立的连接池其实是一个静态的。所谓静态连接池是指连接池中的连接在系统初始化时就已分配好,且不能随意关闭连接。Java中提供了很多容器类可以方便的构建连接池,如:Vector、Stack、Servlet、Bean等,通过读取连接属性文件DBconfig.properties与数据库实例建立连接。(该属性文件中包含了连接数据库的URL、数据库驱动、数据库表空间、数据库表空间密码、连接池最大连接数)在系统初始化时,根据相应的配置创建连接并放置在连接池中,这些对象作为系统可分配的自由连接,以后所使用的连接都是从连接池中获得,这样就避免了随意建立连接,关闭连接所带来的资源浪费。

    连接池初始化如下:

    publicDBConnectionPool(Vector connections)
    {
    FreeConnections = new Vector();
    nowConnections = new Vector();
    freeConnections = connections;
    maxConnections =freeConnections.size();
    }
    本连接池的建立使用输入流,通过上下文环境,读取配置文件(Dbconfig.Prooperties)里预先设置的参数,部分代码如下:
    public voidcontextInitialized(ServletContextEvent event)
    {
    Properties ps = new Properties();
    Vector connections = new Vector();
    ServletContext context =event.getServletContext();
    try
    {
    //使用输入流,读取配置文件里的各种参数
    InputStreaminput = getClass().getResourceAsStream("/DBconfig.properties");
    ps.load(input);
    input.close();
    url = (String)ps.get(“url”);
    user = (String)ps.get(“user”);
    passWord = (String)ps.get(“passWord”);
    DriverName = (String)ps.get(“DriverName”);
    maxConnections=Integer.parseInt(((String)ps.get(“maxConnections”)).trim(), 10);
    System.out.println(user);
    //循环加入取得的连接到Vector中
    for (int i = 0; i <maxConnections; i++)
    {
    //调用下面的方法,取得数据库连接,并放入到Vector中
    connections.add(getConnection(url,user,passWord,DriverName));
    }
    }
    catch (Exception e)
    {
    e.printStackTrace();
    }
    //放到服务器的上下文环境中
    context.setAttribute(“CONNECTOR”,new DBConnectionPool(connections));
    }

    连接池初始化参数通过页面设置写入DBconfig.properties文件中,如下图所示:在这里插入图片描述
    1.1 连接池的管理
    连接池管理策略是连接池机制的核心。当连接池建立后,如何对连接池中的连接进行管理,解决好连接池内连接的分配和释放,对系统的性能有很大的影响。连接的合理分配、释放可提高连接的复用,降低了系统建立新连接的开销,同时也加速了用户的访问速度。下面介绍连接池中连接的分配、释放策略。

    连接池的分配、释放策略对于有效复用连接非常重要。就一般情况而言,当客户释放数据库连接时,先判断该连接的引用次数是否超过了规定值,如果超过就删除该连接,并判断当前连接池内总的连接数是否小于minConn(最小连接数),若小于就将连接池充满;如果没超过就将该连接标记为开放状态,可供再次复用。可以看出正是这套策略保证了数据库连接的有效复用,避免频繁地建立、释放连接所带来的系统资源开销。我们采用的方法是一个很有名的设计模式:Reference Counting(引用记数)。该模式在复用资源方面应用的非常广泛,把该方法运用到对于连接的分配释放上,为每一个数据库连接,保留一个引用记数,用来记录该连接的使用者的个数。具体的实现方法是:

    publicsynchronized Connection getConnection(int TimeOut)
    {
    Connection con = null;
    if (freeConnections.size() <= 0)
    {
    System.out.println(“连接失败,由于数据库连接池中无可用连接!请等待!”);
    try {
    newDBConnectionManager().closeAll();
    }
    catch (Exception ex)
    {
    ex.printStackTrace();
    }
    return con;
    }
    else
    {
    Connection temp = (Connection)freeConnections.firstElement();
    freeConnections.remove(temp);
    nowConnections.add(temp);
    return temp;
    }
    }

    当应用程序向数据库发起连接请求时,会检查连接池中是否存在空闲的连接。如果存在空闲的连接,连接池则把空闲连接分配给客户,并将该连接做相应处理,即标记为正在使用的连接,并将引用计数加1。如果不存在空闲连接,则检查连接池里的连接数是否已经达到了最大连接数(maxConn),若没有达到就为应用程序创建一个新的连接;若达到了最大连接数,那么就需要等待连接的释放,等待连接的释放时间是由系统中预先定义好的一个超时参数(Timeout)来做判断。如果在超时等待(TimeOut)后仍没有可用的空间连接,程序上便会返回一个null值,同时抛出无空闲连接的异常给用户。

    publicvoid TimeOut(int TimeOut, Connection con)
    {
    try {
    Thread t = new Thread();
    t.start();
    t.run();
    t.wait(TimeOut);
    closeConnection(con);
    t.destroy();
    }
    catch (Exception ex)
    {
    ex.printStackTrace();
    }
    }
    已用连接计数器的问题交由JSP页面中的循环来处理,每当应用程序申请一个连接时,计数器便会循环一次,部分实现代码如下:
    for(int i = 0; i < cp.getNowConnections().size(); i++)
    {
    out.println("<fontcolor=blue>连接名称" + (i + 1) + “:”+ cp.getNowConnections().get(i) + “
    ”);
    con =(Connection)cp.getNowConnections().get(0);
    }
    对于未用连接的处理与已用连接类似,部分实现代码如下:
    for(int j = 0; j < cp.getFreeConnections().size(); j++)
    {
    out.println("<fontcolor=blue>未用连接名称" + (j + 1) + “:”+ cp.getFreeConnections().get(j) + “
    ”);
    }

    连接池的调用如下图所示,若连接已分配完毕,系统提示等待连接释放
    在这里插入图片描述

    源文件

    在这里插入图片描述

    展开全文
  • 有两个系统都能运行,包含数据库以及源代码,下载即可用。全部可以用

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,699
精华内容 1,079
关键字:

数据库代码设计与源代码