SqlServer调用CLR服务
2015-09-02 14:44
323 查看
作用
从数据库发起对外部服务的请求.应用场景
心跳监测定时启动站点
服务实现
代码部分(C#)
using System;using System.Net;
publicpartialclassStoredProcedures
{
[Microsoft.SqlServer.Server.SqlProcedure]
publicstaticvoid
UploadString(String url)
{
var client =
newWebClient { Encoding = System.Text.Encoding.UTF8
};
client.UploadString(url,
String.Empty);
}
}
注: Microsoft.SqlServer.Server.SqlProcedure属于System.Data程序集.
数据库部分
权限配置
USE [Exercise]GO
ALTERDATABASE [Exercise]
SETTRUSTWORTHYON
GO
EXECsp_configure'clr enabled',1
GO
sp_changedbowner'sa'
GO
reconfigure
GO
外部DLL引用配置
外部服务调用
1. 通过EXTERNAL关键字调用外部DLL的方法CREATEPROCEDURE [dbo].[Exercise_SP_External_UploadString]
@Url [nvarchar](max)
WITHEXECUTEASCALLER
AS
EXTERNAL NAME [SqlserverClr.Service].[StoredProcedures].[UploadString]
GO
2. 以参数的形式调用外部服务
CREATEPROCEDURE [dbo].[Exercise_SP_CallExternalHttpService]
AS
BEGIN
EXEC dbo.[Exercise_SP_UploadString]@Url
='http://www.baidu.com/'
END
GO
相关文章推荐
- java-WEB中的监听器Lisener
- Android之获取手机上的图片和视频缩略图thumbnails
- GUI - Web前端开发框架
- Extjs4.0 最新最全视频教程
- 数据库链接字符串查询网站
- MyEclipse Web Project转Eclipse Dynamic Web Project
- axis备忘
- DB2实例管理
- DB2实例管理
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- Erlang实现的一个Web服务器代码实例
- 防止网页脚本病毒执行的方法-from web
- CentOS下DB2数据库安装过程详解
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页