哪位 有 sql server 调用 .net 中 非静态方法 的方法?
我想在sql server 中调用 c#类库中的 非静态方法,网上一些方法,我试了,最后都有错误:
create error 0x80131700 ODSOLE Extended Procedure NULL
method error 0x80042725 ODSOLE Extended Procedure sp_OAMethod 用法: ObjPointer int IN, MethodName varchar IN [, @returnval <any> OUT [, additional IN, OUT, or BOTH params]]
description error 0x80042728 ODSOLE Extended Procedure sp_OADestroy 用法: ObjPointerToBeDestroyed int IN。
不知道怎样调用 c# 类库中的 非静态方法了。
请高手帮忙!
--------------------编程问答-------------------- 我试过的是下面的方法,最后在 sql server 中执行 都出错
http://www.sudu.cn/info/html/edu/20071227/49802.html
--------------------编程问答-------------------- 非静态方法需要实例化对象啊采用使用啊 --------------------编程问答-------------------- 还有下面这个方法,也会出错
1:新建一个CS类库
注:类库要使用签名,编译成强命名的程序集。在ASSMBILY中最好手工将comvisible设为TRUE.
2、拷贝编译好的DLL文件到C:\WINDOWS\system32下 (此步路径需为系统path中的路径)
3、注册该类库:打开 SDK 命令提示 工具,输入 regasm /tlb: C:\WINDOWS\system32\BiSoftWare.tlb C:\WINDOWS\system32\BiSoftWare.dll /codebase 回车(此步骤不能简为 regasm C:\WINDOWS\system32\BiSoftWare.dll,否则在SQL SERVER中会提示“系统找不到”)
4、打开SQL SERVER 新建存储过程
在网上找出错答案也找不到,希望有遇到过这种情况或知道解决方法的人帮帮忙 --------------------编程问答-------------------- 非静态
Class1 c=new Class1();
c.方法(); --------------------编程问答--------------------
类库注册以后在 存储过程中调用,你看有什么不对吗?
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER procedure [dbo].[mydll2901]
as
DECLARE @object int
DECLARE @hr int
declare @return varchar(255)
declare @src varchar(255),@desc varchar(255)
EXEC @hr = sp_OACreate 'mydll2901.Class1', @object OUT
if @hr<>0
begin
exec sp_OAGetErrorInfo @object,@src OUT,@desc OUT
select 'create error',hr=convert(varbinary(4),@hr),Source=@src,Description=@desc
--return
end
EXEC @hr = sp_OAMethod @object,'hello',@return OUT
if @hr<>0
begin
exec sp_OAGetErrorInfo @object,@src OUT,@desc OUT
select 'method error',hr=convert(varbinary(4),@hr),Source=@src,description=@desc
end
print @return
EXEC @hr = sp_OADestroy @object
if @hr<>0
begin
exec sp_OAGetErrorInfo @object,@src OUT,@desc OUT
select 'description error',hr=convert(varbinary(4),@hr),Source=@src,description=@desc
end
--------------------编程问答--------------------
我在sql server 中调用
--------------------编程问答-------------------- 用静态方法封装一下呢? --------------------编程问答-------------------- 我类里面要调用 他人的webservice里的非静态方法,所以不好改成静态的吧?
补充:.NET技术 , C#