知识大全 SQL2005CLR函数扩展-解析天气服务的实现
Posted 函数
篇首语:锲而舍之,朽木不折;锲而不舍,金石可镂。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 SQL2005CLR函数扩展-解析天气服务的实现相关的知识,希望对你有一定的参考价值。
SQL2005CLR函数扩展-解析天气服务的实现 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
我们可以用CLR获取网络服务 来显示到数据库自定函数的结果集中 比如 的天气预报 他的这个xml结果的日期是不正确的 但这个我们暂不讨论 从这个xml获取天气的CLR代码如下 用WebClient访问一下就可以了 然后通过Dom对象遍历节点属性返回给结果集
复制代码 代码如下: using System; using System Data; using System Data SqlClient; using System Data SqlTypes; using System Collections; using System Collections Generic; using Microsoft SqlServer Server; public partial class UserDefinedFunctions [SqlFunction (TableDefinition = "city nvarchar( ) date nvarchar( ) general nvarchar( ) temperature nvarchar( ) wind nvarchar( )" Name = "GetWeather" FillRowMethodName = "FillRow" )] public static IEnumerable GetWeather() System Collections Generic List <Item > list = GetData(); return list; public static void FillRow(Object obj out SqlString city out SqlString date out SqlString general out SqlString temperature out SqlString wind) Item data = (Item )obj; city = data city; date = data date; general = data general; temperature = data temperature; wind = data wind; class Item public string city; public string date; public string general; public string temperature; public string wind; static System Collections Generic List <Item > GetData() System Collections Generic List <Item > ret = new List <Item >(); //try // string url = " System Net WebClient wb = new System Net WebClient (); byte [] b = wb DownloadData(url); string data = System Text Encoding Default GetString(b); System Xml XmlDocument doc = new System Xml XmlDocument (); doc LoadXml(data); foreach (System Xml XmlNode node in doc ChildNodes[ ]) string city = GetXMLAttrib(node "name" ); foreach (System Xml XmlNode subnode in node ChildNodes) Item item = new Item (); item city = city; item date = GetXMLAttrib(subnode "date" ); item general = GetXMLAttrib(subnode "general" ); item temperature = GetXMLAttrib(subnode "temperature" ); item wind = GetXMLAttrib(subnode "wind" ); ret Add(item); // //catch(Exception ex) // // SqlContext Pipe Send(ex Message); // return ret; static string GetXMLAttrib(System Xml XmlNode node string attrib) try return node Attributes[attrib] Value; catch return string Empty; ;部署这个clr函数的脚本如下
复制代码 代码如下: drop function dbo xfn_GetWeather drop ASSEMBLY TestWeather go CREATE ASSEMBLY TestWeather FROM d:/sqlclr/TestWeather dll WITH PERMISSION_SET = UnSAFE; go CREATE FUNCTION dbo xfn_GetWeather () RETURNS table ( city nvarchar ( ) date nvarchar ( ) general nvarchar ( ) temperature nvarchar ( ) wind nvarchar ( )) AS EXTERNAL NAME TestWeather UserDefinedFunctions GetWeather cha138/Article/program/MySQL/201311/29543相关参考
SQL2005CLR函数扩展-繁简转换的实现代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
SQL2005CLR函数扩展-数据导出的实现详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
SQL2005CLR函数扩展-深入环比计算的详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!环比
解析SQL2005中如何使用CLR函数获取行号 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! S
知识大全 使用 SQL Server 2005中的 CLR 集成(2)
使用SQLServer2005中的CLR集成(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 使用 SQL Server 2005中的 CLR 集成(3)
使用SQLServer2005中的CLR集成(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 使用 SQL Server 2005中的 CLR 集成(1)
使用SQLServer2005中的CLR集成(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 Sql Server 2005自定义Split函数
SqlServer2005自定义Split函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 要
SQLServer2005数据转换服务 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 简介 由
知识大全 SQL Server 2005服务无法启动的解决方法
SQLServer2005服务无法启动的解决方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!