SQL Server 2005中网页传递变量的实现过程


  本文标签:SQL Server 2005

  此文主要向大家讲述的是SQL Server 2005中网页传递变量的实现,此例子十分简单,其主要的主要目的是想让大家对SQL 2005 CRL 函数创建过程有更好的理解,在网页传递变量,一般先编码,然后解码即可  。

  在.net 实现这个功能,非常简单直接调用(微软已经处理完成了),这个例子非常的简单,写这个例子的目的主要还是想让大家熟悉SQL 2005 CRL 函数的一个创建过程  。

  在网页传递变量,一般先编码,然后解码即可  。在.net 实现这个功能,非常简单直接调用(微软已经处理完成了),

  它的编码:

  1. String Message = Server.UrlEncode("欢迎学习ASP.NET!");   
  2. Response.Redirect("WebForm2.aspx?Msg=" + Message);  

  它的解码:

  1. Label1.Text = Server.UrlDecode(Request.QueryString["Msg"]);  

  如果在SQL 2000中实现这个方法,并不是件容易的事情,需要找到UrlEncode和UrlDecode原理,然后分析编码和解码字符串  。(如果有兴趣,大家可以试试写下,网上看到SQL 2000实现的,都有问题  。)

  SQL 2005 实现过程:

  如果我们用SQL 2005 实现这样的功能,那是非常的方便  。下面介绍步骤  。(由于截图比较直观,我以截图为主)

  一:创建一个SQL Server 2005 数据库工程,

  二:配置你需要把该CLR函数添加的数据库  。

  三:在SQL Project工程中添加函数,

  四、由于我们在代码中要用到 System.Web.HttpUtility.UrlDecode 方法,而默认SQL Project工程下是找不到它的System.Web引用的,所以需要把System.Web引用添加在SQL 2005 中,它告诉我们如果我们在SQL 2005中找不到相关类库的引用,必须在SQL 2005 中先引用它的父程序集  。此例

  五、此时我们在SQL Project 添加引用就可以找到System.Web了,

  六、直接调用简单代码即可,

  七、编译,生成后,在数据库添加创建的CLR程序集  。

  八、我们测试下创建的确CLR函数,

  注意事项:

  1、创建CLR程序集如果失败,需要开启CLR功能,默认数据库是不允许创建CLR的,还有就是更改数据库的信任模式,代码如下:

  启用数据库CLR支持

  1. EXEC sp_configure show advanced options,1;   
  2. go   
  3. reconfigure;   
  4. go   
  5. EXEC sp_configure clr enabled,1   
  6. go  

  更改数据库信任模式(为正确添加到程序集)

  1. Alter Database CSDN SET TRUSTWORTHY ON   
  2. GO  

  总结:

  该功能虽然只在数据库实现了Server.UrlEncode、Server.UrlDecode,但它告诉我们如何在SQL 2005调用.Net Framwork中的方法,来实现强大的数据库CLR功能  。类似在SQL 2005 中很难实现的功能,参考上述办法,调用.Net Framwork提供的强大类库,就可以实现复杂的数据库功能  。

  以上的相关内容就是对SQL Server 2005中实现网页传递变量的介绍,望你能有所收获  。