提一个关于SQL Server 2005的CLR的问题,请了解的人帮帮我...

xiaomaolover 2007-06-21 01:56:57
要在数据库中实现一个复杂逻辑.但这个复杂的逻辑已经用C#程序已经实现(如果再用T-SQL来实现一次的话,有相当的难度和工作量)

现在想把C#所实现的程序封装成为方法.
利用SQL的CLR,在数据库中使用,

但这个封装好的方法中使用了一些数库操作.还有读Web.config节的地方.
现在把DLL 放入SQL CLR中 ,运行时报错.错误信息意思是读不到web.cofing这里面的内容.

这样问题应该怎么解决.???
请了解的朋友给些意见/

这是将DLL注册到CLR中

USE EngineDB
GO

EXEC sp_changedbowner 'sa'


Alter Database EngineDB
SET TRUSTWORTHY ON
go


create assembly MHLSQLFunction

FROM 'E:\Engine\iSec\SqlServerProject1\bin\Debug\SqlServerProject1.dll'

WITH permission_set = UNSAFE;

错误信息:
消息 6522,级别 16,状态 2,第 1 行
在执行用户定义例程或聚合 ' ' 期间出现 .NET Framework 错误:
System.NullReferenceException: Object reference not set to an instance of an object.
System.NullReferenceException:
at BC.Engine.DBHelper.SysConfig.GetConfigString(String name)
at BC.Engine.DBHelper.SysConfig.get_DataBaseType()
at BC.Engine.DBHelper.Factory.CreateDBAccess()
at BC.Engine.iSec.UserRight..ctor()
at BC.Engine.iSec.SecurityEngine..ctor()
at SqlServerProject1.Class1.GetUserRightList(SqlString userid)

-----------------------


at BC.Engine.DBHelper.SysConfig.GetConfigString(String name)
这句就是说明没有读到Web.config节


MSN:mmmhhhlll@hotmail.com

大家有了解的互相交流一下呀
...全文
464 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaomaolover 2007-06-25
  • 打赏
  • 举报
回复
哦。问题找到了。
是我的业务逻辑里有一个地方Connection没有关闭。
导至报错
这错误不太好找。有时报有时不报。
后来查SQL活动监视器才找到。
谢谢大家。结贴了。
SassyBoy 2007-06-22
  • 打赏
  • 举报
回复
参考这个,希望对lz有所帮助。
http://www.cnblogs.com/DavidFan/archive/2007/05/16/748300.html
不是道为什么,cnblogs老是很慢。
gyf19 2007-06-22
  • 打赏
  • 举报
回复
可以用xml文件保存参数,xml文件是要绝对路径。
yan63 2007-06-21
  • 打赏
  • 举报
回复
clr可以做身份模拟,这样看来应该可以做磁盘的io
等等看谁做过这方面的事情
ofei 2007-06-21
  • 打赏
  • 举报
回复
在一个表里存储web相关的设置

读取该表来得到相关的设置值
duke731 2007-06-21
  • 打赏
  • 举报
回复
俩裤衩的来顶了.
xiaomaolover 2007-06-21
  • 打赏
  • 举报
回复
To:
gyf19(秋天的云)
也就是说一定不可以了,是吗?
:(
gyf19 2007-06-21
  • 打赏
  • 举报
回复
调用clr dll 的主线程是 sql server 2005 ,它怎么能读 web.cofing ?
xiaomaolover 2007-06-21
  • 打赏
  • 举报
回复
顶顶。。顶上去
jiangchuandong 2007-06-21
  • 打赏
  • 举报
回复
可以考虑吧webconfig的内容写在存储过程里
然后存储过程传值给你的clr函数
xiaomaolover 2007-06-21
  • 打赏
  • 举报
回复
amandag(高歌)

是的.但如果再用T-sql再写一次.是很复杂的一件事.我想已经有封装好的.就不想再写一次了.直接用C#的
xiaomaolover 2007-06-21
  • 打赏
  • 举报
回复
TO:CathySun118(斯年)
这个DLL文件不只是一个地方要用到.所以放到初始化接口中不可以的呀..
CathySun118 2007-06-21
  • 打赏
  • 举报
回复
可以把web.config的内容封装到dll的初始化接口中
amandag 2007-06-21
  • 打赏
  • 举报
回复
没有做过

不过数据库的事还是交给数据库而不是程序效率更好些
patrickpan 2007-06-21
  • 打赏
  • 举报
回复
把Web.config中的要用到的数据放在一个xml文件中,然后读XML文件的数据,然后把dll和xml一起发布。
内容概要:本文围绕基于CNN-BiLSTM-Attention混合神经网络模型的电力负荷预测展开研究,出一种结合卷积神经网络(CNN)、双向长短期记忆网络(BiLSTM)与注意力机制(Attention)的深度学习框架,并通过Python代码实现高精度的短期与超短期负荷预测。该模型充分利用CNN对局部特征的取能力,捕捉负荷数据中的周期性与趋势性模式;借助BiLSTM对时间序列前后向依赖关系的建模能力,增强对动态变化的感知;并通过Attention机制自适应地聚焦关键历史时刻,升预测准确性。文中详细阐述了数据预处理、模型结构设计、训练流程及超参数调优方法,并在真实负荷数据集上进行了实验验证,结果表明该混合模型相比传统单一模型和其他基准模型具有更优的预测性能,尤其在应对非线性、非平稳负荷波动方面表现突出。; 适合人群:具备一定Python编程能力和机器学习基础,从事电力系统分析、能源管理、智能电网或时序预测相关工作的科研人员、工程师及高校研究生。; 使用场景及目标:①应用于电网调度、电力市场出清、需求响应管理等场景下的精细化负荷预测;②为研究人员供一套完整的、可复现的深度学习负荷预测代码框架,推动AI技术在能源领域的落地应用;③帮助理解CNN、BiLSTM与Attention模块之间的协同机制及其在时序建模中的集成方式。; 阅读建议:建议读者结合所供的Python代码进行动手实践,重点掌握数据归一化、滑动窗口构造、模型搭建与训练技巧,并尝试在不同地区、不同季节的负荷数据上进行迁移测试,以深入理解模型泛化能力与调参策略。
内容概要:本文围绕“MATLAB具有储能的经济调度及机会约束和鲁棒优化”展开,系统研究了电力系统中融合储能技术的经济调度问题,重点探讨了机会约束规划与鲁棒优化方法在应对新能源出力不确定性、负荷波动及系统运行风险中的应用。内容涵盖风光储协同调度、多微网共享储能、电动汽车参与调度、低碳经济调度等多种典型场景,深入分析了储能的选址定容、功率协调控制、状态估计与优化调度模型。核心技术包括粒子群优化(PSO)、分布鲁棒机会约束(DRCC)、模型预测控制(MPC)、鲁棒优化、二阶锥规划(SOCP)等先进算法,并供了基于Matlab/Simulink的完整仿真代码实现,旨在升新型电力系统的运行灵活性、经济性与抗风险能力。; 适合人群:具备电力系统、自动化、电气工程或相关专业背景,熟悉Matlab/Simulink仿真环境与基本优化算法,从事新能源并网、微电网运行、储能系统规划、电力市场调度等领域的研究生、科研人员及工程技术人员。; 使用场景及目标:① 学习并构建含储能的电力系统经济调度优化模型;② 掌握机会约束与鲁棒优化在处理新能源不确定性问题中的建模思路与求解方法;③ 利用供的Matlab代码进行算法复现、仿真验证与性能对比,支撑科研项目攻关;④ 为撰写高水平学术论文、学位论文或工程优化方案供可靠的模型参考与代码支持。; 阅读建议:建议读者结合文档中具体的案例(如风电-水电联合调度、电动汽车集群调度、多微网共享储能等)和配套的Matlab代码进行动手实践,重点关注优化模型的构建逻辑、约束条件设定与求解器配置过程,同时可关注公众号“荔枝科研社”获取完整资源包、复现教程及持续的技术支持。

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧