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. 【Unix网络编程】chapter5TCP回射服务器程序

    chapter5  5.1 概述 5.2 TCP回射服务器程序:main函数 int main(int argc, char **argv) { int listenfd,connfd; pid_t ...

  2. MapReduce的工作机制

    <Hadoop权威指南>中的MapReduce工作机制和Shuffle: 框架 Hadoop2.x引入了一种新的执行机制MapRedcue 2.这种新的机制建议在Yarn的系统上,目前用于 ...

  3. Noi.ac #309. Mas的童年(贪心)

    /* 用所谓的加法拆分操作得到 x + y = (x ^ y) + 2 * (x & y) 那么我们这两段异或相当于前缀和 + 2 * 分段使左右两块&最大 记当前前缀异或和为S, 那 ...

  4. js 数组的crud操作

    增加push(); 向数组尾添加元素unshift(); 向数组头添加元素向数组指定下标添加元素:可以用Array提供的splice(); var arr = ['a','b','c']; arr.s ...

  5. sql生成随机不重复字符串 可指定长度

    存储过程: create procedure dbo.GetRandStr () output) AS BEGIN ), ), @ss varchar DECLARE @I INTEGER, @cou ...

  6. 好久没玩docker了,温下手

    好久没玩docker了,温下手 安装 Docker Docker 软件包已经包括在默认的 CentOS-Extras 软件源里.因此想要安装 docker,只需要运行下面的 yum 命令: yum i ...

  7. 27.Docker集群部署

    对于scrapy的部署方式 1.Scrapyd 安装扩展组件,远程控制scrapy任务,包括部署源代码,启动任务,监听任务.scrapy-client .scrapyd api 协助完成部署和监听操作 ...

  8. jupyter notebook 小笔记

    安装直接按这个步骤了: https://hub.mybinder.org/user/ipython-ipython-in-depth-xj8fraz8/notebooks/binder/Index.i ...

  9. NDK samples以及部分博客

    谷歌的ndk samples Android NDK samples with Android Studio http://developer.android.com/ndk 引用C/C++文件请参考 ...

  10. C# IIS 服务器上传图片500解决办法