powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / The specified path, file name, or both are too long
7 сообщений из 7, страница 1 из 1
The specified path, file name, or both are too long
    #38352055
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как бороться с этой эксцепцией?

Функция выбирает все файлы из указанной (сетевой \\...) директории + субдиректории и на одной директории нарвался на такую фигню

Код: c#
1.
The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.



Как быть?
...
Рейтинг: 0 / 0
The specified path, file name, or both are too long
    #38352082
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuh, если есть возможность, то замапь сетевую папку на имя диска. Это может оказаться достаточным чтобы длина пути уложилась в 260 символов. Если так сделать нельзя, то единственный выход это использование функций WinAPI т.к. через них можно работать с именами длиной до 32000 символов. Советую серию статей Long Paths in .NET .
...
Рейтинг: 0 / 0
The specified path, file name, or both are too long
    #38352096
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо, но мапить не получится.
Это функция в SQLCLR, и пути подсовываются из таблицы, мне-то и надо FileInfo, т.е. выбрать имена файлов с размерами.
...
Рейтинг: 0 / 0
The specified path, file name, or both are too long
    #38352112
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuh, а вне SQL Server это сделать нельзя? Если нет, то тогда видимо только через WinAPI что правда потребует UNSAFE уровень защиты. Еще можно на форуме по SQL Server вопрос задать. Может в T-SQL есть какие-то средства работы с файловой системой.
...
Рейтинг: 0 / 0
The specified path, file name, or both are too long
    #38352127
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazileWinnipuh, а вне SQL Server это сделать нельзя? Если нет, то тогда видимо только через WinAPI что правда потребует UNSAFE уровень защиты. Еще можно на форуме по SQL Server вопрос задать. Может в T-SQL есть какие-то средства работы с файловой системой.

у меня свои заморочки, мне надо в SQLCLR, буду переделывать с использованием winapi
...
Рейтинг: 0 / 0
The specified path, file name, or both are too long
    #38352912
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Взял список файлов с того компьютера, где появилась проблема, там есть десяток файлов с длиной имени 263 и 261 символ,
все имена файлов UNC, т.е. начинаются с \\server\folder1\....\file1 и т.д.

Пытаюсь смоделировать ситуацию на своем компьютере.
Назвал файл словом в 300 символов - нету ошибки в таком коде

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
List<string> results = new List<string>();
            try
            {
                string stringFileName = "";
                long lFileSize = 0;
                int nFileSize = 0;

                string[] stringFiles = Directory.GetFiles(strDirectoryName.ToString(), "*.*", bSubDirectories ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly);

                foreach (string stringFile in stringFiles)
                {
                    stringFileName = stringFile;
                    FileInfo objFileSize = new FileInfo(stringFileName);
                    lFileSize = objFileSize.Length;
                    nFileSize = (int)(lFileSize / 1000);
                    results.Add(stringFileName);
                }
            }
            catch (Exception x)
            {
                MessageBox.Show(x.Message);
            }




а в SQLCLR это же код дает ошибку.


Как смоделировать ошибку?
...
Рейтинг: 0 / 0
The specified path, file name, or both are too long
    #38353418
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuh, расшарь эту папку и обращайся к своему компьютеру по сетевому имени
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / The specified path, file name, or both are too long
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]