在SQL中使用CRL函数

实验目标:

1. 在SQL中创建CRL函数,使之能够向指定的计算机发送消息

实验步骤

2. 在VS中创建类发送消息的类

3. 将以下代码黏贴进去

using System;

using System.Collections.Generic;

using System.Text;

using System.Net.Sockets;

using System.IO;

namespace ClassLibrary1

{

public class Class1

{

public static string classscoket(string IPaddress, string mes)

{

string msg = mes;

string IPadd = IPaddress;

TcpClient tcpc = new TcpClient(IPadd, 5656);

NetworkStream tcpStream = tcpc.GetStream();

StreamWriter reqStreamW = new StreamWriter(tcpStream);

reqStreamW.Write(msg);

reqStreamW.Flush();

tcpStream.Close();

tcpc.Close();

return (mes);

}

}

}

点击“生成ClassLibrary“

4. 新建接收消息的客户端

添加引用

using System;

using System.Collections.Generic;

using System.Text;

using System.Net.Sockets;

using System.Windows.Forms;

namespace MessClient1

{

class Program

{

static void Main(string[] args)

{

try

{

TcpListener tcpl = new TcpListener(5656);

tcpl.Start();

while (true)

{

Socket s = tcpl.AcceptSocket();

Byte[] stream = new Byte[80];

int i = s.Receive(stream);

string message = System.Text.Encoding.UTF8.GetString(stream);

MessageBox.Show(message);

}

}

catch (System.Security.SecurityException)

{

MessageBox.Show("防火墙安全错误!", "错误",

MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

catch (Exception)

{

}

}

}

}

5. 在数据库中的配置

exec sp_configure 'clr enable',1

go

reconfigure

go

use personnel

go

alter database personnel set trustworthy on

go --在数据库中引入dll

create assembly [System.Net.Sockets] from 'C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\ClassLibrary1\ClassLibrary1\bin\Debug\ClassLibrary1.dll'

with permission_set=unsafe

可以看到注册的程序集

go --创建函数

create function dbo.crlHelloWord

(

@ipaddress as nvarchar(100),

@message as nvarchar(100)

)

returns nvarchar(200)

as EXTERNAL NAME [System.Net.Sockets].[ClassLibrary1.Class1].classscoket

运行客户端程序,在SQL执行以下命令,可以发现该函数能够想客户端发送消息

select dbo.crlHelloWord('10.7.10.199','你已经删除了条记录')

本文转自 onesthan 51CTO博客,原文链接:http://blog.51cto.com/91xueit/625302,如需转载请自行联系原作者

在SQL中使用CRL函数示例相关推荐

  1. sql 精读(三) 标准 SQL 中的编号函数示例

    编号函数概念 编号函数会根据每一行在指定窗口中的位置向该行分配整数值. RANK().DENSE_RANK() 和 ROW_NUMBER() 示例: WITH Numbers AS(SELECT 1 ...

  2. sql中截取字符串函数_SQL Server 2017中的顶级SQL字符串函数

    sql中截取字符串函数 SQL Server 2017 has been in the talk for its many features that simplify a developer's l ...

  3. oracle同sql中isnull无法,SQL中的ISNULL函数使用介绍

    这篇文章主要为大家详细介绍了SQL中的ISNULL函数使用介绍,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ISNULL 使用指定的替换值替换 ...

  4. SQL 中的 COALESCE 函数初学者指南

    "合并"这个词的意思是合并或聚集在一起,它源自拉丁语"coalescere",意思是"一起成长".在 SQL 中的 COALESCE 函数上 ...

  5. SQL中的ISNULL函数介绍

    SQL中有多种多样的函数,下面将为您介绍SQL中的ISNULL函数,包括其语法.注释.返回类型等,供您参考,希望对您学习SQL能够有所帮助. ISNULL 使用指定的替换值替换 NULL. 语法 IS ...

  6. SQL中的排序函数【row_number() 、rank() 、dense_rank() 】

    一.SQL中有三种排序函数 1.row_number() over(order by 列名) 2.rank() over(order by 列名) 3.dense_rank() over(order ...

  7. SQL中的ISNULL函数详解及用途

    SQL中有多种多样的函数,下面将为您介绍SQL中的ISNULL函数,包括其语法.注释.返回类型等,供您参考,希望对您学习SQL能够有所帮助 ISNULL 使用指定的替换值替换 NULL. 语法 ISN ...

  8. sql 精读(二) 标准 SQL 中的编号函数

    标准 SQL 中的编号函数 以下部分介绍了 BigQuery 支持的编号函数.编号函数是分析函数的一部分. 如需了解分析函数的工作原理,请参阅分析函数概念.如需了解编号函数的工作原理,请参阅编号函数概 ...

  9. SQL 中的 TRIM 函数

    SQL 中的 TRIM 函数是用来移除掉一个字串中的字头或字尾.最常见的用途是移除字首或字尾的空白.这个函数在不同的资料库中有不同的名称: MySQL: TRIM( ), RTRIM( ), LTRI ...

最新文章

  1. 程序员缺乏经验的 7 种表现
  2. 久等!2020智源大会演讲视频全公开,参与盖楼挑战赢限量徽章
  3. 解码大脑:改善BCI稳定性
  4. 网站安全狗”响应内容保护“网页错误返回页面优化功能介绍
  5. 【JavaScript】Document对象学习
  6. 解决安装Weblogic domain卡住问题(Primeton BPS)
  7. linux 暴力删除文件,暴力删除文件
  8. linux shell中各种分号和括号,linux shell 各种分号,括号使用方法总结
  9. sql分割函数|在网上找的看着挺好,谁的忘了
  10. react 源码概览
  11. 华为交换机stp原理透析及实战
  12. 开通5G网络服务三个月,中国广电交出了什么样的答卷?
  13. cmmi实践访谈测试ppt_CMMI3_实践篇.ppt
  14. abab的四字成语_abab的四字成语有哪些成语大全
  15. c语言编程环境搭配,windows7系统搭建C语言开发环境的操作方法?
  16. java实现冒泡算法
  17. 微信小程序 体验版开启调试模式
  18. c语言fprintf段错误,fprintf由于突然地址更改导致段错误
  19. Win10+外接显示器 “未检测到其他显示器”
  20. openStack4j网络增删改查

热门文章

  1. Laravel:使用Migrations
  2. 响应式网页的布局设计
  3. get the better of sb
  4. 1月国内操作系统市场:Windows XP份额高达60.84%
  5. 用友公司Java面试题(含答案)
  6. jQuery之替换节点
  7. Envoy源码分析之Dispatcher
  8. 前端开发神器之ngrok
  9. 观察者模式(Observer Pattern)(二):HeadFirst中的气象站的实现
  10. redis开启远程连接