日期:2014-05-18  浏览次数:20376 次

◆散分+提问◆ 关于存储过程调用动态链接库执行WebService. 【涉及CLR】
在实现存储过程扩展的过程中遇到了一个比较麻烦的问题:

我希望通过编写一个动态链接库和一个WebService,实现一些涉及数据库的操作,具体的思路如下,  
(1)创建一个CLR存储过程,存储过程调用DLL  
(2)Dll调用WebService

DLL中实际就是通过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.

求教。有没有问和我遇到一样的问题。多谢。

------解决方案--------------------
正常情况下:request = (HttpWebRequest)System.Net.HttpWebRequest.Create(url);
这个可以获取到页面内容么?
没看到你的存储过程怎么调用的DLL,要给web地址参数吧?可以贴出来给大家看看。
------解决方案--------------------
xue学习

------解决方案--------------------
学习
------解决方案--------------------
既然散分 哪有不接之理
------解决方案--------------------