我们正在尝试在SQL Server 2005计算机上创建C clr存储过程。C代码通过OLEDB驱动程序连接到外部数据源以获取数据表。它已经在一个单独的控制台应用程序上进行了测试,运行起来没有问题。
(OLEDEB驱动程序是连接到专有数据库的专有驱动程序…)
在SQL Server上,我们已经设置了程序集的外部权限级别,它是强名称的,并且已经在SQL Server中为它创建了一个非对称密钥。
当我们尝试执行该过程时,会遇到以下两个问题:
-
用于联系OLEDB的凭据
SQL服务是
在,而不是凭证下运行
SQL内容中记录的用户
-
引发.NET框架:
System.Security.SecurityException:请求System.Data.OleDb.OleDbPermission类型的权限
我们似乎无法为运行OLEDB驱动程序的进程授予必要的权限。要么就是我们的配置不足,要么就是我们做错了什么。将权限级别设置为不安全也不是一个选项…
有人对这种问题有经验吗?
欢迎输入!