最近一个项目中遇到需要在存储过程中调用DLL,找了一些资料,实现的方法也有很多。下面是我的做法。

一、用VS新建一个类库工程取名为myDll
namespace myDll
{
    public class myClass
    {
        public string myFunction(string str)
        {
            return str;
        }
    }
}
二、将程序集中的类型设为对 COM 组件可见
    在AssemblyInfo.cs文件中找到[assembly: ComVisible(false)],并将false改成true

三、注册DLL
    在.net 命令行下输入 regasm /codebase Dllpath

四、存储过程调用DLL
Create  PROC P_testDLL(
@str VARCHAR(100)
)
AS
DECLARE @objectID INT
DECLARE @Functionreturn varchar(8000)
SET NOCOUNT ON
EXEC sp_OACreate 'mydll.myClass', @objectID OUT
EXEC sp_OAMethod @objectID,'myFunction',@Functionreturn OUT,@str
    
print @Functionreturn

EXEC sp_OADestroy @objectID
SET NOCOUNT OFF
RETURN

不知道大家有没有更好的方法,不妨拿出来分享分享!!!

转载于:https://www.cnblogs.com/feishanm/archive/2008/11/13/1332647.html

MSSQL存储过程调用 C#DLL相关推荐

  1. Golang调用mssql存储过程

    由于项目需要使用GO来调用mssql存储过程,所以不得已研究一下,整个过程是比较费劲的,因为本人还处于GO小白状态,公司项目是基于网狐的棋牌平台,网狐项目不得不说还是比较整洁清晰的,但是由于出道以来一 ...

  2. mysql中leave和_MySQL数据库之Mysql存储过程使用LEAVE实现MSSQL存储过程中return语法

    本文主要向大家介绍了MySQL数据库之Mysql存储过程使用LEAVE实现MSSQL存储过程中return语法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. DELIMITER ...

  3. C# 调用C++ dll 返回char*调用方式(StringBuilder乱码)

    // CDLLDemo.cpp : 定义 DLL 应用程序的导出函数. // #include "stdafx.h" #include "string.h" # ...

  4. C#调用C++DLL类的方法

    C++的优势在于高效灵活,C#的优势在于简单易用,两者结合起来对项目开发来说是件好事,而且C++不容易反编译,也保障了代码的安全性,如果一些核心算法使用C#编写,那么保密就是一个问题.     C++ ...

  5. c怎么调用matlab dll,matlab和c++调用DLL方法(最新整理)

    <matlab和c++调用DLL方法(最新整理)>由会员分享,可在线阅读,更多相关<matlab和c++调用DLL方法(最新整理)(6页珍藏版)>请在人人文库网上搜索. 1.M ...

  6. Python:使用ctypes库调用外部DLL 数据类型对应

    Python:使用ctypes库调用外部DLL(转) 前言

  7. C#调用C++dll

    1.添加命名空间 using System.Runtime.InteropServices; 2.dll的添加和函数的声明(注意一定要放在函数(方法)的外面) [DllImport("Use ...

  8. 存储过程和函数——概述||创建存储过程||调用存储过程||查看存储过程||删除存储过程

    存储过程和函数概述 存储过程和函数是事先经过编译并存储在数据库中的一段 SQL 语句的集合, 调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理 ...

  9. 在一个解决方案中用C#测试调用C++ DLL

    VS2015,在解决方案中新建一个C++ DLL项目,一个C# Winform项目: dllmain.cpp; #include "stdafx.h"BOOL APIENTRY D ...

  10. [.NET开发] C#编程调用Cards.dll实现图形化发牌功能示例

    本文实例讲述了C#编程调用Cards.dll实现图形化发牌功能.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; usi ...

最新文章

  1. 读自动驾驶激光雷达物体检测技术(Lidar Obstacle Detection)(3):Segmentation
  2. idm 爬取网站 跳转路径_儋州网站案例基本流程,电子元件网络推广,浅析
  3. window.open在Safari中不能打开
  4. 牛客 - 街机争霸(bfs)
  5. Django从理论到实战(part16)--指定默认的参数
  6. dm365工作笔记20130731
  7. 把一个数插入c语言,[求助] 把一个数插入一个已经从小到大排列好的数列中
  8. 推理接口的调用过程(欢迎讨论,希望这是一个大坑~~~)
  9. 视频教程-交换技术(CCNA魔鬼训练营系列)-思科认证
  10. PyQt5+VTK环境搭建
  11. 通信系统中各网络设备时间同步要求
  12. 云数据库模糊查询与索引管理
  13. 教务管理系统的设计与实践
  14. flash乱码解决方案
  15. 黄杏元《地理信息系统概论》考研复习考点精讲(五)
  16. 【Arduino 101】霍尔编码器(增量,正交)与起停式闭环控制
  17. 第7章 - 多无人机系统的协同控制 --> 无人机飞行原理
  18. Windows 常见后缀名
  19. 破解/忘记Win7密码
  20. MapReduce之简单K-mer计数

热门文章

  1. java file 其他电脑上_将MultipartFile转换为java.io.File而不复制到本地计算机
  2. gitee java pdf转图片_openOffice word转pdf,pdf转图片优化版
  3. TSAP(4) : 时间序列采样[asfreq( ) VS resample( )]
  4. 算法:判断对称树 101. Symmetric Tree
  5. 算法:动态规划,最大子数组之和 Maximum Subarray
  6. linux 系统命令启动,Linux开关机及系统进程命令
  7. qt最大化和还原实现_Qt 窗口操作函数(置顶、全屏,最大化最小化按钮设置等)...
  8. ajax jq 图片上传请求头_前端常见面试 请求篇
  9. Regularization:The problem of overfitting过度拟合问题----吴恩达机器学习
  10. Boost Thread 编程指南、Boost线程入门教程