




已阅读5页,还剩88页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络数据库系统是指在计算机网络环境下运行的数据库系统,它的数据库分散配置在网络节点上,能够对网络用户提供远程数据访问服务。有人把它也称为分布式数据库系统,但是它只能算是一种特定的分布式数据库系统,它驻留在各个网络节点上的数据库仍然是集中式的数据库,这与第10章介绍的在计算机网络环境下运行的真正意义上的分布式数据库系统是有本质区别的。 网络数据库系统可以按照客户机/服务器模式或浏览器/服务器模式建立,但无论采用那种计算模式,数据库都是驻留在后台服务器上,通过网络通信,为前端用户提供数据库服务。,第9章 网络数据库系统,Home,本资料由-大学生创业|创业|创业网/提供资料 在线代理|网页代理|代理网页| 减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|,第9章 网络数据库系统,Home,9.1 基于客户机/服务器模式的数据库系统,9.2 服务器数据库的建立,9.3 服务器数据操纵,9.4 数据库访问接口,9.5 SQL会话期与调用级接口CLI,9.6 客户端应用系统,9.7 基于浏览器/服务器模式的数据库系统,9.8 ASP的数据库访问技术,9.9 JSP的数据库访问技术,9.10 Internet/Intranet信息系统多层体系结构,本资料由-大学生创业|创业|创业网/提供资料 在线代理|网页代理|代理网页| 减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|,客户机/服务器模式(简称C/S)是以网络环境为基础、将计算应用有机地分布在多台计算机中的结构。 服务器(Servers),客户机(Clients)。 服务器负责数据的存储、检索与维护,而客户机负责提供GUI接口,承担诸如处理与显示检索所得的数据、解释和发送用户的要求等任务。,Home,9.1 基于客户机/服务器模式的数据库系统,9.1 基于客户机/服务器模式的数据库系统,Home,Home,9.1 基于客户机/服务器模式的数据库系统,9.1.1 客户机/服务器系统的组成,9.1.2 三层结构的客户机/服务器系统,9.1.1 客户机/服务器系统的组成,客户机/服务器系统基本由三个部分组成:客户机、服务器、客户和服务器之间的连接。 (1)客户机。客户机是一个面向最终用户的接口或应用程序,它通过向服务器请求数据服务,然后做必要的处理,将结果显示给用户。 (2)服务器。服务器的主要功能是建立进程和网络服务地址,监听用户的调用,处理客户的请求,将结果返回给客户和释放与客户的连接。 (3)连接件。客户机与服务器之间的连接是通过网络连接实现的,对应用系统来说这种连接更多的是一种软件通信工程(如网络协议等)。,Home,Home,9.1.1 客户机/服务器系统的组成,9.1.2 三层结构的 客户机/服务器系统,Home,(1)表示层 表示层由客户机实现。表示层是应用的用户接口部分,它担负着用户与应用间的对话功能。 大部分的应用逻辑被移植到应用服务器上。 (2)功能层 功能层由应用服务器实现。功能层相当于应用的本体,它是应用逻辑处理的核心,是具体业务的实现。 (3)数据层 数据层就是DBMS,驻留在数据库服务器上,负责管理对数据库数据的存取操作。,9.1.2 三层结构的 客户机/服务器系统,Home,9.2.1 数据库的建立,9.2.2 用户注册与传授,Home,9.2 服务器数据库的建立,9.2.3 数据源的建立,9.2.4 数据库设计,1建立数据库的步骤 (1)建立数据库的逻辑分区或数据库存储文件。 (2)创建数据库。 (3)建立用户自定义数据类型。 (4)建立数据库基本表、视图和索引。 (5)录入数据。,Home,9.2.1 数据库的建立,Home,2文件与文件组 (1)数据库文件(Database File) 主数据库文件(Primary Database File),扩展名为 .mdf;次数据库文件(Secondary Database File),扩展名为 .ndf。 (2)事务日志文件(Transaction Log File) 扩展名为 .ldf。 (3)文件组(File Group) 主文件组(Primary File Group)和次文件组(Secondary File Group),9.2.1 数据库的建立,3定义数据库表 一个数据库由一组存储数据的表和其他对象(如视图、索引、存储过程、触发器)组成。 可以用SQL语句定义数据库表,但是更为便捷的方法是利用数据库系统的辅助开发工具。,Home,9.2.1 数据库的建立,用户必须在新建立的数据库系统中注册,建立其用户名和登录口令;用户还必须在他将要访问的数据库上注册,并获得授权,系统才允许他存取该数据库中的数据。用户的注册与授权由数据库管理员负责进行。 1SQL Server 的登录认证 MS SQL Server 能在三种安全模式下运行:Windows认证模式、混合认证模式、SQL Server认证模式。,Home,9.2.2 用户注册与授权,2使用Transact_SQL管理SQL Server登录 sp_addlogin,用于创建新的使用SQL Server认证模式的用户登录账号。 sp_droplogin,用于在SQL Server中删除用户登录账号,禁止其访问SQL Server。 sp_granlogin,用于设定一Windows NT用户或用户组为SQL Server登录者。 sp_denylogin,用于拒绝某一NT 用户或用户组连接到SQL Server。 sp_revokelogin,用于删除NT用户或用户组在SQL Server上的登录信息。 sp_helploginssp_helplogins,用于显示SQL Server所有登录者的信息。包括每一个数据库里与该登录者相对应的用户名称。 以上各系统存储过程只有属于Sysadmin和Securityadmin的服务器角色的成员才可以执行。,Home,9.2.2 用户注册与授权,例9.1 创建一个新登录用户张三 exec sp_addlogin 张三 UGV pubs us_english encryptopt =skip_enctyption 例9.2 删除SQL Server登录者张三 exec sp_droplogin 张三,Home,9.2.2 用户注册与授权,3数据库用户 在数据库中,用户账号与登录账号是两个不同的概念,一个合法的登录账号只表明该账号通过了NT认证或SQL Server认证,但不能表明其可以对数据库数据和数据对象进行某种或某些操作。所以一个登录账号总是与一个或多个数据库用户账号(这些账号必须分别存在相异的数据库中)相对应,这样才可以访问数据库。 guest是一个公共用户,Home,9.2.2 用户注册与授权,SQL Server 利用以下系统存储过程管理数据库用户。 系统存储过程sp_granddbaccess,用于为SQL Server登录者或NT用户或用户组建立一个相匹配的数据库用户账号。 系统存储过程sp_revokedbaccess,用于删除数据库用户。 只有db_owner和b_access- admin 数据库角色才有执行系统存储过程sp_granddbaccess和sp_revokedbaccess的权限。 系统存储过程sp_helpuser,用于显示当前数据库的指定用户信息。 此外还有二个保持与以前版本相兼容的系统存储过程sp_adduser和sp_dropuser,其作用与sp_granddbaccess 和sp_revokedbaccess相同,建议使用后者。,Home,9.2.2 用户注册与授权,例9.3 将NT用户STAWARDZS加到当前数据库中其用户名为ZS。 exec sp_grantdbaccess STAWARDZS ZS 4权限管理 (1)对象权限,9.2.2 用户注册与授权,Home,(2)语句权限,9.2.2 用户注册与授权,Home,在SQL Server中使用GRANT、REVOKE和DENY三种命令来管理权限。 5角色管理 在SQL Server中主要有两种角色类型:服务器角色与数据库角色。 (1)服务器角色 服务器角色是指根据SQL Server的管理任务,以及这些任务相对的重要性等级来把具有SQL Server管理职能的用户划分成不同的用户组。,9.2.2 用户注册与授权,Home,(2)数据库角色 数据库角色能为某一用户或一组用户授予不同级别的管理或访问数据库或数据库对象的权限,这些权限是数据库专有的。 SQL Server提供了两种数据库角色类型:预定义数据库角色、用户自定义数据库角色。 预定义数据库角色 在SQL Server中预定义的数据库角色有Db_owner、Db_accessadmin、Db_datareader、Db_datawriter、Db_addladmin、Db_securityadmin、Db_backupoperator、Db_denydatareader、Db_denydatawriter等。 用户自定义的数据库角色 标准角色 应用角色,9.2.2 用户注册与授权,Home,(3)使用存储过程管理服务器角色 存储过程sp_addsrvrolemember 存储过程sp_dropsrvrrolemember 例9.5 建立新的数据库角色newroler。 sp_addrole newroler 例9.7 将用户张三加入到角色newroler中。 sp_addrolemember newroler 张三,9.2.2 用户注册与授权,Home,9.2.3 数据源的建立,在客户端和数据库服务器端设置相同的数据源(Data Source)。数据源由数据、数据库系统、操作系统及网络系统组成。数据源所含的数据库引擎完成所需的数据库操作。 对于SQL Server系统,如果采用ODBC接口,建立数据源的步骤如下: (1)打开Windows或Windows Server (NT)的“控制面板”中的“ODBC”,选择编辑“System DSN”。 (2)点击“Add”按钮,选择ODBC驱动程序类型“SQL Server”。 (3)输入数据源名称、所连接的数据库服务器名称和数据库名称。,Home,9.2.4 数据库设计,目前存在的基于客户机/服务器模式的数据库系统,绝大多数仍是建立在关系数据模型上的,数据库的设计与常规的数据库设计基本相同,所不同的是应当考虑网络环境的影响。应考虑处理功能与数据在客户机和服务器间的合理平衡的分布与配置,认真分析处置客户机和服务器间的通信方法、通信频度及数据量。,Home,9.3 服务器数据操纵,Home,9.3.1 流程控制语言,9.3.2 触发器,9.3.3 存储过程,9.3.1 流程控制语言,MS SQL Server的Transact-SQL中 1IF. ELSE语句 例9.8 IF.ELSE语句应用示例。 declare x int y int z int select x = 1 y = 2 z=3 if x y print x y else if y z print y z else print z y,Home,Home,2BEGIN.END语句 BEGIN.END用来设定一个程序块,将在BEGIN.END内的所有程序视为一个单元执行。 3CASE语句 CASE 命令有两种语句格式。 第一种:CASE WHEN THEN WHEN THEN ELSE END,9.3.1 流程控制语言,第二种:CASE WHEN THEN WHEN THEN ELSE END,9.3.1 流程控制语言,Home,例9.9 调整员工工资,工作级别为1的上调8%,工作级别为2的上调7%,工作级别为3的上调6%,其他上调5%。 update employee set e_wage = case when job_level = 1 then e_wage*1.08 when job_level = 2 then e_wage*1.07 when job_level = 3 then e_wage*1.06 else e_wage*1.05 end,9.3.1 流程控制语言,Home,4WHILE.CONTINUE.BREAK语句 WHILE BEGIN BREAK CONTINUE 命令行或程序块 END,9.3.1 流程控制语言,Home,例9.10 WHILE语句应用示例。 declare x int y int c int select x = 1 y=1 while x 3 begin print x while y 3 begin select c = 100*x + y print c select y = y + 1 end select x = x + 1 select y = 1 end,9.3.1 流程控制语言,Home,5WAITFOR语句 WAITFOR DELAY | TIME | ERROREXIT | PROCESSEXIT | MIRROREXIT WAITFOR 命令用来暂时停止程序执行,直到所设定的等待时间已过,或所设定的时间已到才继续往下执行。,9.3.1 流程控制语言,Home,例9.11 等待1小时2分零3秒后才执行SELECT语句。 waitfor delay 01:02:03 select * from employee 例9.12 等到晚上11 点零8 分后才执行SELECT语句。 waitfor time 23:08:00 select * from employee,9.3.1 流程控制语言,Home,1触发器的概念 触发器(Trigger)是一种特殊类型的存储过程。触发器不同于存储过程。触发器主要是通过事件触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。 触发器是与表紧密联系在一起的,可以看作是基本表定义的一部分。触发器是在特定表上进行定义的,该表也称为触发器表。当有针对触发器表的操作时,例如,在表中插入(Insert)、删除(Delete)、修改(Update)数据时,那么触发器就自动触发执行。,9.3.2 触发器,Home,Home,触发器也有三种类型,即Insert、Update、Delete。 触发器可以针对一个或多个表进行操作;一张表可以有多个触发器,用户可以针对Insert、Delete或Update语句分别设置触发器,也可以针对一张表上的特定操作设置多个触发器。 2触发器的原理 每个触发器有两个特殊的表:插入表(INSERTED)和删除表(DELETED)。这两个表是只读的,不允许用户直接对其修改,即用户不能向这两个表写入内容,但可以引用表中的数据。,9.3.2 触发器,(1)插入表的功能 对一个定义了插入类型触发器的表来讲,一旦对该表执行了插入操作,那么对向该表插入的所有行来说都有一个相应的副本存放到插入表中,即插入表就是用来存储向原表插入的内容。 (2)删除表的功能 对一个定义了删除类型触发器的表来讲,一旦对该表执行了删除操作,则将所有的删除行存放至删除表中。,9.3.2 触发器,Home,3触发器的生成与用途 例9.13 设有二个表:商品表TITLES和销售表SALES。建立一个触发器“updatesum”,当对表SALES做插入操作时,自动更新表TITLES中的汇总值列“ytd_sales”(销售总量)。 CREATE TRIGGER updatesum ON SALES FOR INSERT AS UPDATE TITLES SET ytd_sales = ytd_sales + (SELECT SUM(qty) FROM inserted WHERE TITLES.title_id = inserted . title_id ) WHERE TITLES.title_id IN (SELECT title_id FROM inserted),9.3.2 触发器,Home,例9.14 建立一个触发器“nodelstudents”,防止批处理语句删除STUDENTS表中的行。 CREATE TRIGGER nodelstudents ON STUDENTS FOR DELETE ROLLBACK TRANSACTIONS 触发器还有许多其他功能: (1)强化约束(Enforce Restriction)。 (2)跟踪变化(Auditing Changes)。 (3)级联操作(Cascaded Operation)。 (4)存储过程的调用(Stored Procedure Invocation)。,9.3.2 触发器,Home,存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程与一般的程序过程一样,能够接受输入数据,返回结果值,返回操作成功与否的状态值等。 系统存储过程主要存放在master 数据库中,并以sp_为前缀。系统存储过程从系统表中获取信息,为系统管理员管理SQL Server 提供支持。 用户自定义存储过程是由用户创建,并能完成某一特定功能(如查询用户所需数据信息)的存储过程。存储过程可用CREATE PROCEDURE语句创建,用ALTER PROCEDURE语句修改。,9.3.3 存储过程,Home,例9.15 假设数据库中有三个表stores(商店表)、sales(销售表)、titles(商品表),创建一个带参数的存储过程stortitle,用于检索销售某本指定书籍的书店。 CREATE PROCEDURE stortitle findtitle varchar(80) AS SELECT stor_name, title FROM stores, sales, titles WHERE stores.stor_id=sales. stor_id AND sales.title_id=titles.title_id AND titles.title =findtitle ORDER BY title, stor_name,Home,9.3.3 存储过程,执行存储过程stortitle的语句示例如下: EXEC stortitle 战争与和平 在调用存储过程时在存储过程名字前一定要有保留字EXEC。,Home,9.3.3 存储过程,Home,9.4 数据库访问接口,9.4.1 固有调用,9.4.2 ODBC,9.4.3 JDBC,9.4.1 固有调用,Home,每个数据库引擎都带有自己的包含用于访问数据库的API函数的动态链接库DLL,应用程序可利用它存取和操纵数据库中的数据。,ODBC是“开放数据库互连”(Open Database Connectivity)的简称。ODBC是Microsoft公司提出的应用程序通用编程接口(API)标准,用于对数据库的访问。 ODBC驱动程序管理器(ODBC Driver Manager)。驱动程序管理器为应用程序加载或卸载驱动程序,负责管理应用程序中ODBC函数在DLL中函数的绑定(Binding),它还处理几个初始化ODBC调用,提供ODBC函数的入口点,进行ODBC调用的参数合法性检查等。,Home,9.4.2 ODBC,ODBC驱动程序 驱动程序是一个用于支持ODBC函数调用的模块(通常是一个动态链接库DLL),应用程序调用驱动程序所支持的函数来操纵数据库。,Home,9.4.2 ODBC,ODBC的API一致性级别分为三级:核心级、扩展1级和扩展2级。 ODBC建立在X/Open和SAG(SQL Access Group)的调用级接口CLI(Call Level Interface)规范的基础上。 ODBC接口函数按功能可分为如下几组: (1)分配和释放内存。 (2)连接。 (3)执行SQL语句。 (4)接收结果。 (5)事务控制 (6)错误处理和其他事项。,Home,9.4.2 ODBC,Home,9.4.3 JDBC,JDBC(Java Database Connectivity)是SUN公司针对Java语言提出的与数据库连接的API标准。与ODBC类似,JDBC是特殊类型的API,这些API支持对数据库的连接和基本的SQL功能,包括建立数据库连接、执行SQL语句、处理返回结果等。与ODBC不同的是,JDBC为单一的Java语言的数据库接口。 JDBC驱动程序管理器,JDBC-Net驱动程序, JDBC-ODBC桥接驱动程序。 JDBC基于X/Open的SQL调用级接口(CLI,这是ODBC的基础),JDBC可以保证JDBC API在其他通用SQL级API(包括ODBC)之上实现。 Java程序可以通过JDBC来访问ODBC中的数据源。,Home,9.4.3 JDBC,JDBC的体系结构由两层组成:JDBC API和JDBC驱动程序API,前者应用到JDBC管理器的连接,后者支持JDBC管理器到数据库驱动程序的连接,浏览器从服务器上下载含有JDBC接口的Java Applet,由浏览器直接与服务器连接,自行进行数据交换。 JDBC API定义了Java中的类,用来表示数据库连接、SQL指令、结果集合、数据库图元数据等。 JDBC主要有两种接口,分别是面向程序开发人员的JDBC API和面向底层的JDBC Driver API。 JDBC API支持数据库访问有两种方式:两层模式和三层模式。,Home,9.4.3 JDBC,Home,9.4.3 JDBC,Home,9.5 SQL会话期与调用级接口CLI,9.5.1 SQL会话期,9.5.2 调用级接口SQL/CLI,Home,9.5.1 SQL的会话期,SQL会话期(SQL Session)提供客户机(Client)与服务器(Server)的抽象。一个客户机连接(Connect)到一个服务器就建立了一个会话期,执行一系列的SQL语句,最后撤消连接(Disconnect),结束会话期。在会话期除了通常的SQL命令外,还可以包含提交(Commit)和回滚(Rollback)。,调用级接口SQL/CLI(Call Level Interface)是一种编程接口,它定义了一套公共函数,从一个宿主语言(如C 、Basic)应用程序可以调用这些函数,连接到数据库,并利用SQL语句存取和更新数据。CLI相当于一般的API,只不过CLI是SQL的应用编程接口,它等于核心ODBC API。 在SQL 3中描述了62个标准CLI函数。,Home,9.5.2 调用级接口SQL/CLI,例9.16 在C程序中调用SQL/CLI函数的示例。 #include sqlcli.h SQLHDBC hdbc; SQLHSTMT hstmt; SQLAllocHandle(SQL_HANDLE_STMT, hdbc, ,Home,9.5.2 调用级接口SQL/CLI,Home,例如下面的一段嵌入式SQL程序完成了设置游标,打开游标,从结果集取数据,关闭游标的工作。 EXEC SQL DECLARE x CURSOR FOR SELECT * FROM A; EXEC SQL DECLARE y CURSOR FOR SELECT * FROM B; EXEC SQL OPEN x; EXEC SQL FETCH x ; EXEC SQL CLOSE x;,9.5.2 调用级接口SQL/CLI,Home,这些动作完全可以用下面的程序调用SQL/CLI函数实现: SQLAllocHandle(SQL_HANDLE_STMT, hdbc, ,9.5.2 调用级接口SQL/CLI,Home,9.6 客户端应用系统,在客户机上可以有自己专用的局部数据库,在客户端需要安装客户端组件(Client Utility),也需要配置数据源。它的数据库接口应与服务器端的一致,如都使用ODBC。 为了优化远程数据访问,应当遵循二个基本原则: (1)完全在服务器上执行查询,不要直接检索数据并在本地处理; (2)尽量减少与数据库服务器的连接次数和网上传输的数据量。,Home,9.7 基于浏览器/服务器模式的数据库系统,9.7.1 浏览器/服务器模式,9.7.2 浏览器/服务器的工作原理和过程,9.7.3 浏览器/服务器系统的工作方式,9.7.4 浏览器/服务器系统的实施方案,9.7.1 浏览器/服务器模式,在Internet和Intranet上的浏览器/ 服务器(简称B/S),而B/S是一种基于Hyperlink(超链接)、HTML(超文本标记语言)、Java 的三层或多层C/S结构,客户端仅需要单一的浏览器软件,通过浏览器可访问几个应用平台,形成一种一点对几点、多点对多点的结构模式。 早期的B/S系统也是两层结构。,Home,9.7.1 浏览器/服务器模式,Home,在三层模式结构中,表示层存在于客户端(Client),只须安装一个Web浏览器软件(例如Internet Explorer或Navigator)。 Web服务器的主要功能是:作为一个HTTP服务器,处理HTTP协议,接受请求并按照HTTP格式生成响应;执行服务器端脚本(如VBScript、JavaScript等);对于数据库应用,能够创建、读、修改、删除(CRUD)视图实例。Web服务器通过对象中间件技术(Java、DCOM、CORBA等),在网络上寻找对象应用程序,完成对象之间的通信。数据层存在于数据库服务器上,安装有DBMS,提供SQL处理、数据库管理等服务。Web服务器与数据库服务器的接口方式有ODBC、ADO、OLE/DB、JDBC、Native Call等。,9.7.1 浏览器/服务器模式,Home,B/S模式与C/S模式相比有许多优点: (1)B/S是一种瘦客户机模式,客户端软件仅需安装浏览器。 (2)B/S具有统一的浏览器客户端软件,易于管理和维护。 (3)无须开发客户端软件。 (4)B/S应用的开发效率高,开发周期短,见效快。 (5)平台无关性。 (6)开放性。,9.7.1 浏览器/服务器模式,Home,目前应用广泛的浏览器/服务器模式系统主要是通过浏览器以超文本的形式向Web服务器提出访问数据库的请求,Web服务器接受客户请求后,激活对应的(Common Gateway Interface ,公共网关接口)程序将超文本HTML语言转化为SQL语法,将这个请求交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理结果集返回给CGI程序。CGI再将结果集转化为HTML,并由Web服务器转发给请求方的浏览器。 在中间层上不但可采用公共网关接口CGI,而且可以采用ISAPI、NSAPI、JDBC、Java的RMI(远程方法调用)和IDL(界面接口语言)、CORBA的ORB(Object Request Brocker,对象请求处理)等技术。,9.7.2 浏览器/服务器的 工作原理和过程,Home,1简单式 即基于浏览器的浏览器/服务器模式,利用HTML页面在用户的计算机上表示信息。 有时也可使用Java Applet(Java小应用程序)、ActiveX 和Java Bean(Java豆)来加强表达能力。 2交互式 在这种方式中,浏览器显示的不只是静态的和服务器端传送来的被动的页面信息。在打开与服务器的连接及传输数据以前,HTML页面显示供用户输入的表单、文本域、按钮,通过这些内容与用户交互。HTTP服务器将用户输入信息传递给客户服务器程序或脚本进行处理,Web服务器再从DBMS服务器中检索数据,然后把结果组成新页面返回给浏览器,最后中断浏览器和服务器的本次连接。这个模型允许用户从各种后端服务器中请求信息。,9.7.3 浏览器/服务器的 工作方式,Home,3分布式 这种模型将机构中目前的已有设施与分布式数据源结合起来,最终会代替真正开放的客户机/服务器应用程序。它无需下载HTML页面,客户程序是由可下载的Java编写的,并可以在任何支持Java的浏览器(目前流行的IE或Navigator)上执行Applet。当HTTP服务器将含有Java Applet的页面下载到浏览器时,Applet在浏览器中运行并通过构件(Component)支持的通信协议(IIOP,DCOM)与传输服务器上的小服务程序(Servlet)通信会话。这些小服务程序按构件的概念撰写,它收到信息后,经过JDBC、ODBC或本地方法向数据库服务器发出请求,数据库服务器接到命令后,再将结果传送给Servlet,最后将结果送至浏览器显示出来。可以看出,这里已出现了一个比较明晰的中间层,客户端的应用程序已分为两层:GUI界面(Applet)和中间层软件。小应用程序除了支持如HTTP、TCP/IP和安全套接字层(SSL)外,它可以和其他服务器通信以便提供对各种数据库的访问。,9.7.3 浏览器/服务器的 工作方式,Home,目前,在浏览器上发布信息常用的文件格式有两种:HTML文件与Java Applet类。 HTML文件只能发布超文本格式的信息。 DHTML(动态标记语言)和XML(可扩展标记语言) 有人认为XML是从关系模型以来对数据库应用的最重要的发展。 Java Applet类嵌入在HTML文件中,可发布图形信息。,9.7.4 浏览器/服务器的 实施方案,Home,9.7.4 浏览器/服务器的 实施方案,Home,9.8 ASP的数据库访问技术,ASP是Active Server Pages的缩写,动态网页设计技术,是一个Web服务器端的脚本环境。ASP可以与常规HTML集成,后台可与Windows NT系统上配套的SQL数据库相连, 只需编写少量的代码,即可在页面上执行一系列的数据库访问操作。 ASP通过ODBC与数据库打交道。ASP 在服务器端执行。 ASP面向对象,支持ActiveX Sever Components(ActiveX服务器组件),可扩展ActiveX Server组件,并可与任何ActiveX Scripting 语言兼容。 目前ASP主要适用于Microsoft的Web服务器系统,增加某些控件后也可在Linux上使用。,Home,9.8 ASP的数据库访问技术,9.8.1 ASP文件,9.8.2 服务器组件,9.8.3 访问服务器数据库,Home,9.8.1 ASP文件,ASP中的命令和Script语句都是由服务器来解释执行的,执行结果产生动态生成的Web页面并送到浏览器。 ASP通过扩展名为.asp的ASP文件来实现动态网页。一个ASP文件相当于一个可执行文件,必须放在Web服务器上有可执行权限的目录下。 ASP文件的制作和HTML类似。 ASP文件(扩展名为.asp)是一个文本文件,它可以包括下列元素的任意组合: (1)文本(Text)。 (2)HTML标志(Tags)。 (3)Script命令。,Home,ASP并不是一种语言,它只是提供一个环境来运行ASP文件中的Script命令。 ASP的语法由下面几个元素组成: (1)定界符 例如,下面是一条赋值语句: (2)Script标志 ASP缺省的Script语言是VBScript。 可以在一个.asp文件里使用几个不同的Script语言,只需把每段用“”括起来即可。,9.8.1 ASP文件,Home,(3)HTML标记 (4)ASP内建对象 ASP提供了五个内置对象来提供更高一级的Web功能,它们是: Request 从使用者获取信息。 Response 将信息送给使用者。 Server 提供Web Server工具。 Session 存储在一个Session内使用者的信息。 Application 在一个ASP应用内让不同使用者共享信息。,9.8.1 ASP文件,Home,9.8.2 服务器组件,COM技术(Component Object Model) 对于Web可共享的COM组件,就是服务器组件。 一个服务器组件就相当于一个对象,它提供属性和方法来使用服务器资源。 要调用服务器组件,必须先利用Server对象中的方法CreateObject产生服务器组件对象实例,如下所示: Server.CreateObject(ProgID) 一般使用Server构件的程序片段如下: 产生构件 Setobj=Server.CreateObject(“ProgID”) 使用它的方法 obj.Method,Home,9.8.3 访问服务器数据库,ASP通过ActiveX组件ADO(Active Data Objects)与数据库对话,并将执行结果动态生成一个HTML页面,返回服务器端,以响应浏览器的请求。 ADO属于数据库应用的COM构件,ADO使用内置对象RecordSets作为数据的主要接口,允许使用任何语言和统一的编程模式操作各种与ODBC和OLE DB兼容的数据库。 利用ADO查询数据库的步骤如下。 (1)设置数据源名DSN。 ADODB通过ODBC工作,因此要在ODBC中设置DSN(数据源名),而且要求是系统数据源(不能是用户数据源)。,Home,(2)生成ADODB组件实例。 Set Connect=Server.CreateObject(ADODB.Connection) (3)连接数据库。 利用ADODB的成员函数Open和先前设定的DSN与数据库连接,打开数据库: Connect.Open(DSN=dsnname;UID=userID;PWD=password) (4)执行查询。 设定SQL查询语句,如: SQL=select * from tablename,9.8.3 访问服务器数据库,Home,(5)执行查询。 Set RS=Connect.Execute(SQL) 其中RS为用户定义的结果集对象(RecordSets)。 (6)显示结果 利用RecordSets对象所提供的属性显示查询结果。 (7)关闭结果集对象,断开与数据库的连接。 RS.Close Connect.Close,9.8.3 访问服务器数据库,Home,下面以存取教学数据库“teaching”的数据为例,说明存取数据库的典型方法。 (1)读取数据记录的方法 ,9.8.3 访问服务器数据库,Home,(2)修改数据记录的方法 (3)增加数据记录的方法 ,9.8.3 访问服务器数据库,Home,或者也可以使用命令对象 ,9.8.3 访问服务器数据库,Home,9.9 数据库访问技术,JSP(Java Server Pages)是由SUN公司倡导、许多公司参与建立的一种动态网页技术标准。在传统的网页HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(Tag),就构成了JSP网页(*.jsp)。 JSP连接数据库可以通过两种方法,一种是通过JDBC Driver;另一种是通过JDBC-ODBC桥。,Home,一段与数据库相连的JSP代码(con.jsp): % String sDBDriver = “org.gjt.mm.mysql.Driver“; String sConnStr = “jdbc:mysql:/localhost/test“; Connection Con = null; Statement Stmt = null; ResultSet RS=null; try Class.forName(sDBDriver); ,9.9 数据库访问技术,Home,catch(java.lang.ClassNotFoundException e) out.print(“Connect to Database error: “ + e.getMessage( ); try Con = DriverManager.getConnection(sConnStr,“root“,“sql“); catch(SQLException e) out.print(e.toString(); %,9.9 数据库访问技术,Home,通过这段代码,与数据库的连接便建立起来了。下面是对数据库查询的JSP代码(consql.jsp): “); while (RS.next(),9.9 数据库访问技术,Home, out.print(“); tt = RS.getString(“username“); out.print(tt); out.print(“); tt = RS.getString(“c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2025年标准)车牌拍卖协议书
- (2025年标准)车辆证明与协议书
- 渭南师范学院《教师专业技能测试与训练三笔一画等》2024-2025学年第一学期期末试卷
- 山东化工职业学院《工艺基础》2024-2025学年第一学期期末试卷
- (2025年标准)超龄门卫协议书
- 泉州信息工程学院《环境水文学》2024-2025学年第一学期期末试卷
- 广东第二师范学院《模具设计与制造C》2024-2025学年第一学期期末试卷
- 漳州卫生职业学院《地下铁道工程》2024-2025学年第一学期期末试卷
- 武汉城市职业学院《计算机辅助绘图》2024-2025学年第一学期期末试卷
- 修改病句趣味讲解
- 嘉兴荣硕机械有限公司年产风电偏航齿圈和变桨轴承2000套、新能源汽车电池托盘10万件、高精度数控车铣床100台项目环评报告
- TCSES《基于侧流厌氧处理的污泥源减量工艺技术规范》
- 《肩手综合征的康复策略》课件
- 蛋白A免疫吸附的护理
- 高考物理规范答题指导
- 2025护理十大安全目标
- 叉车维修管理制度
- 2025年军队文职人员(司机岗)历年考试真题库及答案(重点300题)
- 2024年淮安市清江浦区人民陪审员选任笔试真题
- 工艺用气验证方案及报告
- 汽轮机揭缸施工方案
评论
0/150
提交评论