在SQL中使用CRL函数示例
在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函数示例相关推荐
- sql 精读(三) 标准 SQL 中的编号函数示例
编号函数概念 编号函数会根据每一行在指定窗口中的位置向该行分配整数值. RANK().DENSE_RANK() 和 ROW_NUMBER() 示例: WITH Numbers AS(SELECT 1 ...
- sql中截取字符串函数_SQL Server 2017中的顶级SQL字符串函数
sql中截取字符串函数 SQL Server 2017 has been in the talk for its many features that simplify a developer's l ...
- oracle同sql中isnull无法,SQL中的ISNULL函数使用介绍
这篇文章主要为大家详细介绍了SQL中的ISNULL函数使用介绍,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ISNULL 使用指定的替换值替换 ...
- SQL 中的 COALESCE 函数初学者指南
"合并"这个词的意思是合并或聚集在一起,它源自拉丁语"coalescere",意思是"一起成长".在 SQL 中的 COALESCE 函数上 ...
- SQL中的ISNULL函数介绍
SQL中有多种多样的函数,下面将为您介绍SQL中的ISNULL函数,包括其语法.注释.返回类型等,供您参考,希望对您学习SQL能够有所帮助. ISNULL 使用指定的替换值替换 NULL. 语法 IS ...
- SQL中的排序函数【row_number() 、rank() 、dense_rank() 】
一.SQL中有三种排序函数 1.row_number() over(order by 列名) 2.rank() over(order by 列名) 3.dense_rank() over(order ...
- SQL中的ISNULL函数详解及用途
SQL中有多种多样的函数,下面将为您介绍SQL中的ISNULL函数,包括其语法.注释.返回类型等,供您参考,希望对您学习SQL能够有所帮助 ISNULL 使用指定的替换值替换 NULL. 语法 ISN ...
- sql 精读(二) 标准 SQL 中的编号函数
标准 SQL 中的编号函数 以下部分介绍了 BigQuery 支持的编号函数.编号函数是分析函数的一部分. 如需了解分析函数的工作原理,请参阅分析函数概念.如需了解编号函数的工作原理,请参阅编号函数概 ...
- SQL 中的 TRIM 函数
SQL 中的 TRIM 函数是用来移除掉一个字串中的字头或字尾.最常见的用途是移除字首或字尾的空白.这个函数在不同的资料库中有不同的名称: MySQL: TRIM( ), RTRIM( ), LTRI ...
最新文章
- 程序员缺乏经验的 7 种表现
- 久等!2020智源大会演讲视频全公开,参与盖楼挑战赢限量徽章
- 解码大脑:改善BCI稳定性
- 网站安全狗”响应内容保护“网页错误返回页面优化功能介绍
- 【JavaScript】Document对象学习
- 解决安装Weblogic domain卡住问题(Primeton BPS)
- linux 暴力删除文件,暴力删除文件
- linux shell中各种分号和括号,linux shell 各种分号,括号使用方法总结
- sql分割函数|在网上找的看着挺好,谁的忘了
- react 源码概览
- 华为交换机stp原理透析及实战
- 开通5G网络服务三个月,中国广电交出了什么样的答卷?
- cmmi实践访谈测试ppt_CMMI3_实践篇.ppt
- abab的四字成语_abab的四字成语有哪些成语大全
- c语言编程环境搭配,windows7系统搭建C语言开发环境的操作方法?
- java实现冒泡算法
- 微信小程序 体验版开启调试模式
- c语言fprintf段错误,fprintf由于突然地址更改导致段错误
- Win10+外接显示器 “未检测到其他显示器”
- openStack4j网络增删改查