![]() |
1
4
您必须将CLR标记为EXTERNAL_ACCESS才能访问系统。IO命名空间,然而,随着事情的发展,这并不是一个糟糕的方式。
|
![]() |
2
5
也许CLR存储过程就是您要找的。当您需要以某种方式与系统交互时,通常会使用这些功能。 |
![]() |
3
3
我仍然相信CLR过程可能是最好的选择。所以,我接受这个答案。然而,要么我不是那么聪明,要么实施起来非常困难。我们的SQL Server服务在本地帐户下运行,因为根据Mircosoft的说法,这是使iSeries链接服务器从64位SQL Server 2005实例运行的唯一方法。当我们将SQL Server服务更改为使用域帐户运行时,xp_fileexist命令对位于网络上的文件工作良好。 我创建了这个CLR存储过程,并使用设置为“外部”的权限级别构建了它,并对其进行了签名:
然后我运行了这些TSQL命令:
然后,我从Visual Studio将CLR存储过程部署到目标数据库,并使用此TSQL从使用windows身份验证登录的Contoso执行:
无论我尝试本地文件还是网络文件,我总是得到0。我以后可能会再试一次,但现在,我要试着走另一条路。如果有人能提供一些帮助,我们将不胜感激。 |
![]() |
4
0
|