-1

DID 用に C# で CLR ユーザー定義関数を作成しました。これは、Web サイトでの実装を意味し、DLL を SQL Server 2008 にデプロイしました。

ただし、テキスト ファイルを読み取った後の辞書は空白で返されます。

以下はコードの一部ですが、問題はテキスト ファイルの読み取りにあります。

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 ファイルを配置する必要がある特定の場所はありますか?それともアクセス許可の問題ですか?それともテキスト ファイルを読み取る別の方法がありますか?

4

1 に答える 1