https://msdn.microsoft.com/zh-cn/library/ms345106(es-es).aspx

1、新建项目名称SQLDllTest,类代码如下,没有用Using引用其他类:

(框架必须改为.NET3.5及3.5以下,因为SQL Server 2008只是支持.NET 3.5及一下,.NET 4.0是2010年发布的,不支持也很正常)

namespace SQLDllTest
{
public class Class1
{
public static string GetStr(string par1)
{
return par1 + "水印";
}
}
}

2、第二步:直接使用SQL语句创建程序集

  

create assembly TestDll from 'D:\SQLDllTest.dll'

3、第三步:

创建一个Function,使用该dll文件

     使用如下SQL语句

CREATE FUNCTION dbo.GetStr
(
@InputString as nvarchar()
)
RETURNS nvarchar()
AS EXTERNAL NAME TestDll.[SQLDllTest.Class1].GetStr

注意一下标红的那几个单词。

TestDll是指你程序集中dll的名称。

SQLDllTest是指dll文件中那个类的命名空间。

Class1是指dll文件中那个类的类名。

GetStr是指dll文件中那个被调用的静态方法。

4、第四步:开启 clr

exec sp_configure 'show advanced options', '';
go
reconfigure;
go
exec sp_configure 'clr enabled', ''
go
reconfigure;
exec sp_configure 'show advanced options', '';
go

5、第五步:执行方法:

select dbo.GetStr('hahha') as col1

返回: hahha水印

参考:http://www.cnblogs.com/zhongxinWang/p/4211179.html

SQL调用C# dll(第一中DLL,没使用强名称密匙,默认是 safe)的更多相关文章

  1. SQL调用C# dll(第二中DLL,强名称密匙)

    参考:微软官网 https://msdn.microsoft.com/zh-cn/library/ms345106(es-es).aspx 1.新建项目 SQLDllTestUsingNew Clas ...

  2. 编译可供C#调用的C/C++动态链接库dll文件

    编译可供C#调用的C/C++动态链接库dll文件,C语言控制台应用程序,探索生成dll过程 由于项目需求,需要公司另一个团队提供相关算法支持,是用C语言编译好的dll库提供给我们进行调用. 但是拿到d ...

  3. 在VS2015中用C++创建DLL并用C#调用且同时实现对DLL的调试

    from:http://m.blog.csdn.net/article/details?id=51075023 在VS2015中先创建C#项目,然后再创建要编写的动态库DLL项目,这样做的好处是整个解 ...

  4. (转)C#调用非托管Win 32 DLL

    转载学习收藏,原文地址http://www.cnblogs.com/mywebname/articles/2291876.html 背景 在项目过程中,有时候你需要调用非C#编写的DLL文件,尤其在使 ...

  5. AutoCAD.NET 不使用P/Invoke方式调用acad.exe或accore.dll中的接口(如acedCommand、acedPostCommand等)

    使用C#进行AutoCAD二次开发,有时候由于C#接口不够完善,或者低版本AutoCAD中的接口缺少,有些工作不能直接通过C#接口来实现,所以需要通过P/Invoke的方式调用AutoCAD的其他DL ...

  6. java调用C/C++写的dll(转)

    源:java调用C/C++写的dll Java语言本身具有跨平台性,如果通过Java调用DLL的技术方便易用,使用Java开发前台界面可以更快速,也能带来跨平台性. Java调用C/C++写好的DLL ...

  7. Java之Jacob调用COM接口DLL-----------------------------------dm。dll

    用Java控制windows了,嗯,低层次按键模拟,可控制游戏,内存也不在话下. 一.环境介绍 1.myeclipse8.5 2.著名按键插件dm.dll  32bit.此插件实现COM接口,百度百科 ...

  8. Java调用C/C++实现的DLL动态库——JNI

    由于项目的需要,最近研究了java 调用DLL的方法,将如何调用的写于此,便于日后查阅: 采用的方法是JNI:Java Native Interface,简称JNI,是Java平台的一部分,可用于让J ...

  9. Unity C# 调用 C++ DLL 并在 DLL 中调用 C# 的回调函数

    Unity C# 调用 C++ DLL 并在 DLL 中调用 C# 的回调函数~~~    呵呵... 看着有点晕.. 再解释一下就是 在Unity中 使用 C# 调用 C++ 写的 DLL, 但是在 ...

随机推荐

  1. 深度学习 + OpenCV,Python实现实时视频目标检测

    使用 OpenCV 和 Python 对实时视频流进行深度学习目标检测是非常简单的,我们只需要组合一些合适的代码,接入实时视频,随后加入原有的目标检测功能. 在本文中我们将学习如何扩展原有的目标检测项 ...

  2. 超详细Redis数据库入门教程

    [本教程目录] 1.redis是什么2.redis的作者何许人也3.谁在使用redis4.学会安装redis5.学会启动redis6.使用redis客户端7.redis数据结构 – 简介8.redis ...

  3. angularjs的cache

    首先要引入angular-cookies.js插件 angular.module('app').service('cache', ['$cookies', function($cookies){ th ...

  4. 聊聊 cursor鼠标样式

    在前端开发中,很多时候需要对页面的某些元素做鼠标样式的处理,比如button一般用pointer , 文本区一般用text......等等. 今天咱就来聊聊 这个经常用到的 cursor 属性 cur ...

  5. 25.纯 CSS 创作一个慧星拖尾效果的 loader 动画

    原文地址:https://segmentfault.com/a/1190000014916281 简化地址:https://codepen.io/pen/?editors=1100 HTML代码: & ...

  6. JQuery:聚焦清空输入框值,失焦恢复默认值

    本来这个小玩意很简单,不用记录到博客里,但今天是娱乐日,要快落一天,为了减轻负罪感,假装自己又学了点新东西 <!DOCTYPE html> <html> <head> ...

  7. leetcode988

    public class Solution { private Stack<string> ST = new Stack<string>(); private string S ...

  8. day09-列表

    1.列表的格式list与其他语言的数组相似,基础数据类型,可以存储各种数据类型,可以存储大量的数据,32位python可以存储2的29次方个元素,即536870912个元素,64位python的限制是 ...

  9. IIS快捷方式

    一般打开IIS管理器的方式 都是 计算机->管理->服务应用程序->Internet应用程序管理器 这样一步就可以 打开IIS了

  10. Leetcode 题解 reverse List II

    这个题确实太容易错了. 我已经做了2遍了,之前都是套用reverse List 1中的函数. 现在尝试用新方法,在一个函数里完成,结果又错了. 事实证明,永远不要想当然!!!白板编程真的是要求,你对每 ...