SQL中CLR用户自定义数据是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/06/17 06:06:38
CLR是什么意思?小弟初学,越详细越好,不要复制的,谢谢!

SQL Server CLR 集成简介

公共语言运行库 (CLR) 是 Microsoft .NET Framework 的核心,为所有 .NET Framework 代码提供执行环境。在 CLR 中运行的代码称为托管代码。CLR 提供执行程序所需的各种函数和服务,包括实时 (JIT) 编译、分配和管理内存、强制类型安全性、异常处理、线程管理和安全性。

通过在 Microsoft SQL Server 中托管 CLR(称为 CLR 集成),可以在托管代码中编写存储过程、触发器、用户定义函数、用户定义类型和用户定义聚合函数。因为托管代码在执行之前会编译为本机代码,所以,在有些方案中可以大大提高性能。

托管代码使用代码访问安全性 (CAS)、代码链接和应用程序域来阻止程序集执行某些操作。SQL Server 2005 使用 CAS 帮助保证托管代码的安全,并避免操作系统或数据库服务器受到威胁。

CLR 集成的优点
Transact-SQL 专门为数据库中的直接数据访问和操作而设计。尽管 Transact-SQL 在数据访问和管理方面领先,但是它没有提供编程构造来使数据操作和计算更加容易。例如,Transact-SQL 不支持数组、集合、for-each 循环、位转移或类。尽管在 Transact-SQL 中可以模拟其中某些构造,但是托管代码对这些构造提供集成支持。根据方案的不同,这些功能可以为使用托管代码实现某些数据库功能提供令人心动的理由。

Microsoft Visual Basic .NET 和 Microsoft Visual C# 提供面向对象的功能,例如封装、继承和多态性。现在,相关代码可以很容易在类和命名空间中进行组织。在使用大量服务器代码时,这样可以更容易地组织和维护您的代码。

对于计算和复杂的执行逻辑,托管代码比 Transact-SQL 更适合,它全面支持许多复杂的任务,包括字符串处理和正则表达式。通过 .NET Framework 库中提供的功能,可以访问数千个预生成的类和例程。可以很容易从任何存储过程、触发器或用户定义函数进行访问。基类库 (BCL) 包括的类提供用于字符串操作、高级数学运算、文