MSSQL存储过程调用 C#DLL
最近一个项目中遇到需要在存储过程中调用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相关推荐
- Golang调用mssql存储过程
由于项目需要使用GO来调用mssql存储过程,所以不得已研究一下,整个过程是比较费劲的,因为本人还处于GO小白状态,公司项目是基于网狐的棋牌平台,网狐项目不得不说还是比较整洁清晰的,但是由于出道以来一 ...
- mysql中leave和_MySQL数据库之Mysql存储过程使用LEAVE实现MSSQL存储过程中return语法
本文主要向大家介绍了MySQL数据库之Mysql存储过程使用LEAVE实现MSSQL存储过程中return语法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. DELIMITER ...
- C# 调用C++ dll 返回char*调用方式(StringBuilder乱码)
// CDLLDemo.cpp : 定义 DLL 应用程序的导出函数. // #include "stdafx.h" #include "string.h" # ...
- C#调用C++DLL类的方法
C++的优势在于高效灵活,C#的优势在于简单易用,两者结合起来对项目开发来说是件好事,而且C++不容易反编译,也保障了代码的安全性,如果一些核心算法使用C#编写,那么保密就是一个问题. C++ ...
- c怎么调用matlab dll,matlab和c++调用DLL方法(最新整理)
<matlab和c++调用DLL方法(最新整理)>由会员分享,可在线阅读,更多相关<matlab和c++调用DLL方法(最新整理)(6页珍藏版)>请在人人文库网上搜索. 1.M ...
- Python:使用ctypes库调用外部DLL 数据类型对应
Python:使用ctypes库调用外部DLL(转) 前言
- C#调用C++dll
1.添加命名空间 using System.Runtime.InteropServices; 2.dll的添加和函数的声明(注意一定要放在函数(方法)的外面) [DllImport("Use ...
- 存储过程和函数——概述||创建存储过程||调用存储过程||查看存储过程||删除存储过程
存储过程和函数概述 存储过程和函数是事先经过编译并存储在数据库中的一段 SQL 语句的集合, 调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理 ...
- 在一个解决方案中用C#测试调用C++ DLL
VS2015,在解决方案中新建一个C++ DLL项目,一个C# Winform项目: dllmain.cpp; #include "stdafx.h"BOOL APIENTRY D ...
- [.NET开发] C#编程调用Cards.dll实现图形化发牌功能示例
本文实例讲述了C#编程调用Cards.dll实现图形化发牌功能.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; usi ...
最新文章
- 读自动驾驶激光雷达物体检测技术(Lidar Obstacle Detection)(3):Segmentation
- idm 爬取网站 跳转路径_儋州网站案例基本流程,电子元件网络推广,浅析
- window.open在Safari中不能打开
- 牛客 - 街机争霸(bfs)
- Django从理论到实战(part16)--指定默认的参数
- dm365工作笔记20130731
- 把一个数插入c语言,[求助] 把一个数插入一个已经从小到大排列好的数列中
- 推理接口的调用过程(欢迎讨论,希望这是一个大坑~~~)
- 视频教程-交换技术(CCNA魔鬼训练营系列)-思科认证
- PyQt5+VTK环境搭建
- 通信系统中各网络设备时间同步要求
- 云数据库模糊查询与索引管理
- 教务管理系统的设计与实践
- flash乱码解决方案
- 黄杏元《地理信息系统概论》考研复习考点精讲(五)
- 【Arduino 101】霍尔编码器(增量,正交)与起停式闭环控制
- 第7章 - 多无人机系统的协同控制 --> 无人机飞行原理
- Windows 常见后缀名
- 破解/忘记Win7密码
- MapReduce之简单K-mer计数
热门文章
- java file 其他电脑上_将MultipartFile转换为java.io.File而不复制到本地计算机
- gitee java pdf转图片_openOffice word转pdf,pdf转图片优化版
- TSAP(4) : 时间序列采样[asfreq( ) VS resample( )]
- 算法:判断对称树 101. Symmetric Tree
- 算法:动态规划,最大子数组之和 Maximum Subarray
- linux 系统命令启动,Linux开关机及系统进程命令
- qt最大化和还原实现_Qt 窗口操作函数(置顶、全屏,最大化最小化按钮设置等)...
- ajax jq 图片上传请求头_前端常见面试 请求篇
- Regularization:The problem of overfitting过度拟合问题----吴恩达机器学习
- Boost Thread 编程指南、Boost线程入门教程