我有以下问题:
我为SqlServer函数编写了c#assembly,它必须删除,复制或移动内部网络计算机上的文件。
遵循以下代码:
public Class FunzioniIO
{
[SqlFunction()]
public static SqlString DeleteFile (SqlString PathFile)
{
try
{
File.Delete(PathFile.Value);
return new SqlString("True");
}
catch (Exception ex)
{
return new SqlString(ex.Message + " \n" + ex.StackTrace);
}
}
}
Sql Server在win 2008服务器上的NetworkService下运行。
当我想要访问另一个网络计算机的一个文件时,给他一个像
这样的共享路径'\\\192.168.0.xx\SharedFolder\file.txt'
它返回以下错误:
访问路径 '\\ 192.168.0.xx \ SharedFolder \ file.txt的' 被拒绝。
我认为这是因为它试图像NetworkService那样访问,并且从FileHosting计算机拒绝权利。
我试图首先在远程计算机上给予共享权限,比如NetworkService没有成功,并且最后给每个人,但是这个版本是相同的。
问题是我必须做些什么才能使sql server能够远程访问文件?
答案 0 :(得分:1)
本地NetworkService实际上是DOMAIN\MACHINENAME$
共享。因此,对该共享的基础NTFS / Samba上的共享和授予此帐户