在实现存储过程扩展的过程中遇到了一个比较麻烦的问题:我希望通过编写一个动态链接库和一个WebService,实现一些涉及数据库的操作,具体的思路如下,
(1)创建一个CLR存储过程,存储过程调用DLL
(2)Dll调用WebServiceDLL中实际就是通过GET方法向WebService传递一个URL地址,WebService通过URL中不同的参数执行不同的操作。现在的问题是,编写的DLL和WebService联调后通过,但在存储过程中调用DLL时出现异常。DLL的主函数如下
[Microsoft.SqlServer.Server.SqlFunction]
public static void Get_Http(string tUrl)
{
string str = string.Empty;
string url = tUrl;
HttpWebRequest request;
HttpWebResponse response;
try
{
//此处就开始有问题了
request = (HttpWebRequest)System.Net.HttpWebRequest.Create(url);
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 5.5; Windows server 2003)";
response = (HttpWebResponse)request.GetResponse();
System.IO.Stream stream = response.GetResponseStream();
Encoding source;
source = Encoding.UTF8;
StreamReader sr = new StreamReader(stream, source);
str = sr.ReadToEnd();
sr.Close();
stream.Close();
SqlContext.Pipe.Send("0");
}
catch(Exception msg)
{
SqlContext.Pipe.Send(msg.Message);
}
}
---------------------
request = (HttpWebRequest)System.Net.HttpWebRequest.Create(url); 这一句有问题,从存储过程中看显示的错误信息为:Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.求教。有没有问和我遇到一样的问题。多谢。
(1)创建一个CLR存储过程,存储过程调用DLL
(2)Dll调用WebServiceDLL中实际就是通过GET方法向WebService传递一个URL地址,WebService通过URL中不同的参数执行不同的操作。现在的问题是,编写的DLL和WebService联调后通过,但在存储过程中调用DLL时出现异常。DLL的主函数如下
[Microsoft.SqlServer.Server.SqlFunction]
public static void Get_Http(string tUrl)
{
string str = string.Empty;
string url = tUrl;
HttpWebRequest request;
HttpWebResponse response;
try
{
//此处就开始有问题了
request = (HttpWebRequest)System.Net.HttpWebRequest.Create(url);
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 5.5; Windows server 2003)";
response = (HttpWebResponse)request.GetResponse();
System.IO.Stream stream = response.GetResponseStream();
Encoding source;
source = Encoding.UTF8;
StreamReader sr = new StreamReader(stream, source);
str = sr.ReadToEnd();
sr.Close();
stream.Close();
SqlContext.Pipe.Send("0");
}
catch(Exception msg)
{
SqlContext.Pipe.Send(msg.Message);
}
}
---------------------
request = (HttpWebRequest)System.Net.HttpWebRequest.Create(url); 这一句有问题,从存储过程中看显示的错误信息为:Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.求教。有没有问和我遇到一样的问题。多谢。
解决方案 »
- .net上传图片限制大小,上传到服务器上后,上传大于限制的图片就超时
- Mvc的问题
- 请问flashpaper在服务器里iis怎么配置权限
- 求教一个按最贴近比例分配数值的算法
- 谁来帮帮我?
- 两个文件A.aspx,cs,B.aspx.cs,在B.aspx.cs文件里这么写:A a=new A(),为什么不行呀?
- ###有关ASP.Net 2.0发布后的问题### 立等结帖
- 页面间如何安全地存取Session
- 我的TreeView 控件为什么在客户端不能正常显示?
- OleDbType.VarChar和OleDbType.VarWChar有什么区别?
- 多图片上传时如何给每张图片添加描述信息---散分题
- 再问个问题啊,如何让百度收录我的网站啊
这个可以获取到页面内容么?
没看到你的存储过程怎么调用的DLL,要给web地址参数吧?可以贴出来给大家看看。