我在 C# 中为 DID 创建了一个 CLR 用户定义函数,您的意思是在我的网站上实现,并在 SQL Server 2008 中部署了 DLL。
但是读取文本文件后的字典返回空白。
以下是代码的一部分,但问题在于读取文本文件:
public Spelling()
{
try
{
string fileContent = File.ReadAllText("C:/Bgtext/big.txt");
List<string> wordList = fileContent.Split('\n').ToList();
foreach (var word in wordList)
{
string trimmedWord = word.Trim().ToLower();
if (_wordRegex.IsMatch(trimmedWord))
{
if (_dictionary.ContainsKey(trimmedWord))
_dictionary[trimmedWord]++;
else
_dictionary.Add(trimmedWord, 1);
}
}
}
catch (Exception ex)
{
ex.Message.ToString();
}
}
[SqlFunction(Name = "CorrectWords", DataAccess = DataAccessKind.Read)]
public static string correctwords(string words)
{
string[] arr = words.Split(' ');
for (int i = 0; i <= arr.Length - 1; i++)
{
arr[i] = Correct(arr[i]);
}
StringBuilder correctedwords = new StringBuilder();
foreach (string value in arr)
{
correctedwords.Append(value);
correctedwords.Append(' ');
}
return correctedwords.ToString();
}
在将 DLL 部署到 SQL Server 之后,是否需要将我的 big.txt 文件放在任何特定位置,或者是权限问题,还是有其他方法可以读取文本文件?