Sql server 2005 在Sql Server 2005的CLR方法中使用运行exe

Sql server 2005 在Sql Server 2005的CLR方法中使用运行exe,sql-server-2005,clr,Sql Server 2005,Clr,我为SQLServer2005编写了一个CLR方法,并试图通过它运行一个exe 代码如下: 部署后,当我尝试在sql server 2005中运行此CLR方法时,会出现以下错误: Msg 6522, Level 16, State 2, Line 1 A .NET Framework error occurred during execution of user defined routine or aggregate 'Function1': System.Security

我为SQLServer2005编写了一个CLR方法,并试图通过它运行一个exe

代码如下:

部署后,当我尝试在sql server 2005中运行此CLR方法时,会出现以下错误:

 Msg 6522, Level 16, State 2, Line 1
    A .NET Framework error occurred during execution of user defined routine or aggregate 'Function1': 
    System.Security.SecurityException: Request failed.
    System.Security.SecurityException: 
       at UserDefinedFunctions.Function1()

可以这样运行exe吗

我知道现在发布这个帖子已经太晚了,但如果其他人遇到这个问题,我会找到以下答案:

我尝试的第一件事是CLR方法将公共语言运行时设置为true,但这并没有解决问题。通过阅读更多内容并仔细查看错误,我意识到SQL无法访问计算机上的某些注册表信息,因为SQL server正在运行的ID无法访问密钥存储


因此,我将我的用户添加到管理员组,并修复了它。花了三个小时才弄明白,所以希望这能在将来节省一些时间

我知道现在发布这个帖子已经太晚了,但如果其他人遇到这个问题,我会找到以下答案:

我尝试的第一件事是CLR方法将公共语言运行时设置为true,但这并没有解决问题。通过阅读更多内容并仔细查看错误,我意识到SQL无法访问计算机上的某些注册表信息,因为SQL server正在运行的ID无法访问密钥存储


因此,我将我的用户添加到管理员组,并修复了它。花了三个小时才弄明白,所以希望这能在将来节省一些时间

事实上,我正在尝试读取images.jpg元数据,图像名称将通过一个db表。我正在使用System.Windows.Media.Imaging汇编方法来完成此操作。由于SqlServerProject不支持更多的汇编,我尝试调用exe作为映像名,这将进一步读取它的metadataHmmm,我发现了您的问题。然而,从SQL Server向EXE抛出总是一个潜在的安全风险。您是否考虑过将映像数据提供给客户端应用程序,然后在客户端上调用System.Windows.Media.Imaging方法?在SQL server中创建程序集时使用了什么权限选项?实际上,我正在尝试读取images.jpg元数据,映像名称将通过db表提供。我正在使用System.Windows.Media.Imaging汇编方法来完成此操作。由于SqlServerProject不支持更多的汇编,我尝试调用exe作为映像名,这将进一步读取它的metadataHmmm,我发现了您的问题。然而,从SQL Server向EXE抛出总是一个潜在的安全风险。您是否考虑过将映像数据提供给客户端应用程序,然后在客户端上调用System.Windows.Media.Imaging方法?在SQL server中创建程序集时使用了什么权限选项?
 Msg 6522, Level 16, State 2, Line 1
    A .NET Framework error occurred during execution of user defined routine or aggregate 'Function1': 
    System.Security.SecurityException: Request failed.
    System.Security.SecurityException: 
       at UserDefinedFunctions.Function1()