SQLServerCLR集成介绍教学提纲

上传人:yulij****0329 文档编号:141410498 上传时间:2020-08-07 格式:PPT 页数:31 大小:381.50KB
返回 下载 相关 举报
SQLServerCLR集成介绍教学提纲_第1页
第1页 / 共31页
SQLServerCLR集成介绍教学提纲_第2页
第2页 / 共31页
SQLServerCLR集成介绍教学提纲_第3页
第3页 / 共31页
SQLServerCLR集成介绍教学提纲_第4页
第4页 / 共31页
SQLServerCLR集成介绍教学提纲_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《SQLServerCLR集成介绍教学提纲》由会员分享,可在线阅读,更多相关《SQLServerCLR集成介绍教学提纲(31页珍藏版)》请在金锄头文库上搜索。

1、在本章,你将学到: 理解受管理代码 创建受管理数据库对象 定义超文本传输协议端点 为网络服务实现超文本传输协议端点,目标,CLR 集成: 允许数据库开发者以任何.NET支持的语言编写代码 允许运行数据库中的管理代码 提供程序执行所需的以下功能和服务,SQL Server CLR集成介绍,在以下情形下,可以创建受管理数据库对象: 实现复杂的编程逻辑 访问外部资源 实现CPU密集的功能,它与受管理代码相比可以更有效运行。 当遇到下面的情况,应该使用T-SQL语句: 完成数据访问和使用T-SQL语句可以完成的操纵操作。 要实现编程逻辑,TAT可以很容易地使用T-SQL编程构造实现。,识别受管理代码的

2、需求,汇编: 创建来附加管理代码 使用CREATE ASSEMBLY命令创建汇编 语法: CREATE ASSEMBLY assembly_name FROM | ,.n WITH PERMISSION_SET = SAFE | EXTERNAL_ACCESS | UNSAFE 让我们看看如何,导入和配置汇编,课间思考,你将使用下面哪个PERMISSION_SET访问另外一个数据库服务器? 1.SAFE 2.EXTERNAL_ACCESS 3.UNSAFE,答案: 2.EXTERNAL_ACCESS,受管理的数据库对象类型可以是以下类型: 存储过程 函数 触发器 用户定义类型,创建受管理的数据

3、库对象,受管理的存储过程: 通过创建一个执行导入的汇编的过程而实现受管理的存储过程 语法: CREATE PROCEDURE AS EXTERNAL NAME ., 让我们看看如何,创建受管理的数据库对象(续),受管理的函数: 通过创建一个执行导入的汇编的函数而实现受管理的函数 语法: CREATE FUNCTION ( ) RETURNS AS EXTERNAL NAME . 让我们看看如何,创建受管理的数据库对象(续),受管理的触发器: 通过创建一个执行导入的汇编的触发器而实现受管理的触发器 语法: CREATE TRIGGER ON AS EXTERNAL NAME . 让我们看看如何,

4、创建受管理的数据库对象(续),受管理的用户定义类型: 使用 CREATE TYPE 命令创建受管理的用户定义类型 语法: CREATE TYPE schema_name. type_name FROM base_type (precision , scale ) NULL | NOT NULL | EXTERNAL NAME assembly_name.class_name 让我们看看如何,创建受管理的数据库对象(续),课间思考,什么时候你使用受管理的代码替代T-SQL? 1.当你需要写查询的时候。 2.当你需要访问外部资源的时候。 3.当你需要在数据库上完成管理任务的时候。,答案: 2.当你

5、需要访问外部资源的时候。,问题描述: AdventureWorks, Inc的管理层决定他们想在数据库中包含员工配偶的详情。用于输入员工详情的程序将接收员工配偶的名称和生日。而且,它将连接使用一个;隔离的两个值。作为数据库开发人员,你需要以下面的格式存储配偶的详情: 配偶名: ;配偶生日 : 为了实现它,你决定创建一个受管理的用户定义数据类型。你将如何创建这个数据类型?,演示:实现受管理的用户定义类型,解决方案: 为了解决上述问题,你需要完成下面的任务: 1.在数据库中使能CLR。 2.创建一个汇编。 3.创建受管理的数据库用户定义数据类型。 4.创建将实现的用户定义数据类型的表。 5.验证输

6、出。,演示:实现受管理的用户定义类型(续),SOA: SOA是基于请求/应答设计模式的分布式计算的扩展 程序的商业逻辑被模块化,并且表示为服务 SOA允许创建对象,如网络服务,它可以从异构系统访问,面向服务的架构(SOA)介绍,Flash 演示:Web服务介绍 网络服务是一系列方法,它提供网络上客户程序使用的程序逻辑。 SQL Server 2005 通过使用以下公开标准提供本地XML 网络服务: 超文本传输协议(HTTP) 简单对象访问协议(SOAP) Web服务定义语言 (WSDL),网络服务介绍,课间思考,下面哪个描述网络服务? 1.WSDL 2.SOAP 3.UDDI,答案: 1.WS

7、DL,课间思考,下面哪个有助于发现网络服务? WSDL SOAP UDDI,答案: 3.UDDI,HTTP 端点: 这个端点是网关,通过它基于HTTP的客户可以发送查询到服务器 HTTP端点在端口80监听和接收客户请求,在本地网络服务架构中识别HTTP端点的角色,在本地网络服务架构中识别HTTP端点的角色(续),HTTP 端点架构:,课间思考,SQL Server在下面哪个端口监听HTTP请求? 1.80 2.90 3.70,答案: 1.80,包括以下任务: 1.创建需要的数据库代码以访问数据。 2.使用 CREATE ENDPOINT 语句创建HTTP端点。,创建HTTP端点,语法: CRE

8、ATE ENDPOINT endpoint_name STATE = STARTED | STOPPED | DISABLED AS HTTP ( AUTHENTICATION =( BASIC | DIGEST | INTEGRATED | NTLM | KERBEROS , PATH = url, PORTS = (CLEAR) ) FOR SOAP( WEBMETHOD namespace . method_alias ( NAME = database.owner.name , SCHEMA = NONE | STANDARD | DEFAULT , FORMAT = ALL_RESU

9、LTS | ROWSETS_ONLY ) ,.n BATCHES = ENABLED | DISABLED , WSDL = NONE | DEFAULT | sp_name 让我们看看如何,创建HTTP端点(续),课间思考,当创建HTTP端点的时候,你将使用下面哪个格式仅返回结果集给用户? 1.ROWSET_ONLY 2.ALL_RESULT 3.NONE,答案: 1.ROWSET_ONLY,问题描述: AdventureWorks, Inc的数据库服务器位于Bothell。公司有分布在全球不同位置的不同办公室。 根据需求,用户需要访问在不同位置的所有员工的数据。用户也可能需要使用PDAs或

10、移动电话访问这些详情。作为数据库开发人员,你已经决定实现一个网络访问,它允许用户通过互联网访问数据。 你将如何在AdventureWorks数据库内实现这个服务?,演示:实现HTTP端点,解决方案: 为了解决上述问题,你需要完成下面的任务: 1.创建一个过程。 2.为SOAP创建HTTP端点。 3.验证HTTP端点的创建。,演示:实现HTTP端点(续),在本章中,你已经学到: 以任何.NET支持的语言创建的数据库对象被称为受管理数据库对象。 CLR集成提供了如下好处: 更好的编程模型 公共开发环境 定义数据类型的能力 T-SQL可以被用来完成数据访问和操纵使用T-SQL提供的编程结构实现的操作

11、。,小结,受管理数据类型可以被用在下面的情况: 为了实现复杂编程逻辑,你可以重用.NET基类库提供的功能。 为了访问外部资源,例如调用一个网络服务或访问文件系统。 为了实现CPU密集功能,它与受管理的代码相比运行更有效。 默认,SQL Server不允许在服务器上运行受管理代码。 在你的数据库中创建受管理数据库对象之前,CLR集成特性应该使用sp_configure存储过程在数据库中激活。 被用来创建受管理数据库对象的.NET代码被在.NET中编译为汇编,.dll 或 .exe。 为了创建受管理的数据库对象,首先.NET汇编被在数据库引擎中导入。,小结(续),在数据库引擎中的汇编可以被指定下面

12、三种授权: SAFE EXTERNAL_ACCESS UNSAFE 受管理存储过程可以使用CREATE PROCEDURE命令被创建。 受管理函数可以使用CREATE FUNCTION命令被创建。 受管理触发器可以使用CREATE TRIGGER命令被创建。 受管理数据类型可以使用CREATE TYPE命令被创建。 网络服务是一段在网络上暴露的代码。,小结(续),网络服务有下面的优点: 互操作性 多语言支持 可重用性 SOAP是在分布环境中以结构格式以交换信息的标准通信协议。 WSDL是描述网络服务的标记语言。 UDDI提供注册和发现网络服务的标准机制。 HTTP端点允许你在SQL Server内创建和使用网络服务。 在创建HTTP端点之前,你需要首先创建存储过程或形成网络服务的函数。,小结(续),HTTP端点为用户提供了一个连接点,通过它他们可以访问实现的函数。 你可以使用CREATE ENDPOINT语句创建HTTP端点。,小结(续),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号