数据库

 首页 > 数据库 > SqlServer > 探讨SQL Server 2005.NET CLR编程

探讨SQL Server 2005.NET CLR编程

分享到:
【字体:
导读:
         摘要: 本文将说明如何在SQL Server 2005中以尽可能最简略的方法创立基于.NET的CLR子例程。本文重要针对在服务器端应用SQL Server 2005的.NET开发者。 一、创立SQL Server 2005数据库 这一节重要讨论创立...

探讨SQL Server 2005.NET CLR编程

本文将说明如何在SQL Server 2005中以尽可能最简略的方法创立基于.NET的CLR子例程。本文重要针对在服务器端应用SQL Server 2005的.NET开发者。

一、创立SQL Server 2005数据库

这一节重要讨论创立一个将用于本文中的数据库和表格。详见下列步骤:

· 履行"Start->Programs->Microsoft SQL Server 2005->SQL Server Management Studio",并应用必要的证书连接到你的SQL Server 2005实例。

· 一旦建立连接,应用"Object Explorer"打开SQL Server 2005实例,然后右击"databases"并选择"New Database"(图1)。

图1

然后,呈现一个"New Database"对话框。输进数据库名"Sample"并点击"OK"以便在同一个实例内创立新的数据库。

· 一旦创立该数据库,你必定能够在"Object explorer"中看到雷同的成果。

· 应用"Object explorer"打开"Sample"数据库,右击"tables"并选择"new table"(图2)。

图2

· 创立如下图3所示的表格结构,并用"emp"保留表格。

图3

· 一旦你创立了表格"emp",打开它(图4)并应用下列数据进行填充(图5)。

图4

图5

二、创立SQL Server 2005数据库.NET CLR存储过程

一旦你创立完数据库和表格,接下来让我们应用下列步骤在SQL Server 2005数据库中创立一个.NET CLR存储过程:

· 转到"Start -> Programs -> Microsoft Visual Studio 2005 -> Microsoft Visual Studio 2005"。

· 在"New Project"对话框内,从"Visual Basic"树的"Project Type"下选择"database"并选择"SQL Server Project"作为模板,输进名字"SampleAllInOne"。至此,该对话框应当看起来如下图6所示。

图6

· 一旦你点击"OK",将呈现一个"New Database Reference"对话框。输进你自己的实例名,并选择数据库"Sample"(在上一节创立的),并且测试连接(图7)。

图7

· 一旦测试成功,点击"OK"创立工程。

· 然后系统呈现一个对话框,它询问你是否启动CLR调试功效。请点击"Yes"(图8)。

图8

· 应用"Solution explorer",右击"SampleAllInOne"工程,并点击"Add->Stored Procedure"(以创立一个新的存储过程)(图9)。

图9

· 之后,呈现"Add New Item"对话框。在该对话框内,选择"Stored Procedure"作为模板并输进名字"IncSalaries",最后点击"Add"(图10)。

图10

三、.NET CLR存储过程编码

一旦创立"IncSalaries.VB",以下列方法修正你的代码,如下所示:

以下为引用的内容:
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.SqlTypes
Imports Microsoft.SqlServer.Server
Partial Public Class StoredProcedures
_
Public Shared Sub IncSalaries(ByVal IncVal As SqlDouble)
 '在此添加你的代码
 Using cn As New SqlConnection("context connection=true")
 Dim cmd As New SqlCommand("update sample.dbo.emp set
 sal = sal " & IncVal.ToString, cn)
 cmd.Connection.Open()
 cmd.ExecuteNonQuery()
 End Using
End Sub
End Class

上面是一个应用Visual Basic.NET 2005编写简略的基于CLR的存储过程,你可以把它宣布到SQL Server 2005中。该存储过程名为"IncSalaries",它只接收一个参数-"IncVal"。上面的存储过程简略地应用参数中供给的值来提高表格"emp"中每一位雇员的工资值。

四、.NET CLR存储过程测试

为了测试上面的存储过程,请遵守下列步骤:

· 应用"Solution Explorer"在"test scripts"中打开"test.sql"(图11)。

图11

· 转到最后一行,并如下修正代码:

--为运行你的工程,请编纂你的工程的Test.sql文件。

--这个文件位于Solution Explorer的"Test Scripts"文件夹下

exec IncSalaries 50

· 转到"Start->Programs->Microsoft SQL Server 2005->Configuration Tools->SQL Server Su***ce Area Configuration"。

· 在窗口内,点击"Su***ce Area Configuration for Features"(图12)。

图12

· 启动CLR集成,如下所示(图13)。

图13

· 按F5履行全部计划。假如它的履行中呈现任何错误,一切都会被显示于输出窗口中。

· 假如存储过程成功履行,你应当能够看到所有的工资数增加了50。

五、SQL Server 2005数据库中的.NET CLR用户定义函数

现在,我们要在我们现有的计划上添加一个存储函数。

· 应用"Solution explorer",右击"SampleAllInOne"工程并转到"Add->User-defined Function"(以创立一个新的存储函数)(图14)。

图14

· 之后,呈现"Add New Item"对话框。在对话框内,选择"User defined function"作为模板,输进名字"getNetSalary",最后点击"Add"(图15)。

图15

一旦创立"getNetSalary.VB",接下来按下列方法修正你的代码:

以下为引用的内容:
Imports System
Imports System.Data
Imports System.Data.SqlClient 探讨SQL Server 2005.NET CLR编程

  • 打酱油

  • 震惊

  • 呵呵


  • 鄙视
标签标签:PHP ,CSS数据库 ,优化
立即登录 | 注册新用户
最新评论
  • 不吐不快,赶紧来一发!
栏目推荐
  • 使用SQL Server内存数据库前需要理解的三个问题
  • PHP连接 SQLSERVER 注意事项(经典中的经典)
  • Php+SqlServer实现分页显示
  • Linux下php连接sqlserver的办法
  • php SQLserver 导入 Mysql
  • PHP模拟SQLServer的两个日期处理函数
  • php与sqlserver中文数据为乱码的解决
  • Linux下PHP连接MS SQLServer的办法
  • 微软为PHP添加SQL Server LocalDb及SQL Server AlwaysOn集群支持
  • 远程连接sql server 2000数据库失败解决办法
关注 第一PHP社区 微信公众号
热门点击
  • 新闻APP后端系统架构成长之路 - 高可用架构设计
  • PHP基础: CLI模式开发不需要任何一种Web服务器
  • 基础教程:svn命令在linux下的使用
  • 亿级Web系统搭建——单机到分布式集群
  • HTTP简介,http是一个属于应用层的面向对象的协议
  • Serverless技术架构,传说中的FAAS(Function as a Service),极简运维,无限扩容
  • PHP漏洞全解(六)跨网站请求伪造
  • php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
  • PHP学习路线以及10个PHP优化技巧
  • 适用于PHP初学者的学习线路和建议
本站推荐
  • 2016PHP技术盛会:如何编写可测试的代码
  • MySQL改密码报错:ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)
  • phpmyadmin导入导出数据库文件最大限制的解决方法
  • Linux环境下MySQL数据库大小写区分问题
  • php 5.4中php-fpm 的重启、终止操作命令
  • Key/Value之王Memcached初探:三、Memcached解决Session的分布式存储场景的应用
  • Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作
  • Key/Value之王Memcached初探:一、掀起Memcached的盖头来
  • NoSQL初探之人人都爱Redis:(4)Redis主从复制架构初步探索
  • NoSQL初探之人人都爱Redis:(3)使用Redis作为消息队列服务场景应用案例
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP论坛
Copyright © 1998 - 2015 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有
快云为本站提供专业云计算服务      
分享到:
Sql2005如何用dtexec运行ssis(DTS)包
Sql2005如何用dtexec运行ssis(DTS)包   一、首先在Business Intelligence中设计好包,并调试通过。   二、选用dtexec工具运行包   (一)  打开 xp_cmdshell 选项    SQL Server 2005 中引进的 xp_cmdshell 选项是服务器配置选项,使系统治理员能够把持是否可以在系统上履行 xp_cmdshell 扩大存储过程。默认情况下...
SQL Server与Oracle并行拜访的本质差别
SQL Server与Oracle并行拜访的本质差别 设计精良、性能出色的数据库引擎可以轻松地同时为成千上万的用户服务。而“底气不足”的数据库系统随着更多的用户同时拜访系统将大大下降其性能。最糟糕的情况下甚至可能导致系统的崩溃。 当然,并行拜访是任何数据库解决计划都最为器重的标题了,为懂得决并行拜访方面的标题各类数据...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……