|
Проверить доступность файла перед использованием OPENROWSET
|
|||
---|---|---|---|
#18+
Добрый день. Проверить наличие файла то это можно при помощи xp_fileexist. А как проверить, что файл в это время не открыт другим пользователем? При обращении OPENROWSET к открытому файлу вываливается ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2021, 13:07 |
|
Проверить доступность файла перед использованием OPENROWSET
|
|||
---|---|---|---|
#18+
_Gavrysh_, Вы должны понимать, что это не задачи SQL сервера... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2021, 16:28 |
|
Проверить доступность файла перед использованием OPENROWSET
|
|||
---|---|---|---|
#18+
Владислав Колосов, Файл Файл.xlsx открыт. if exists(select 1 FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;HDR=1;Database=D:\Файл.xlsx','SELECT * FROM [Sheet1$]') ) select 1 else select 0 Получаем: Сообщение 7399, уровень 16, состояние 1, строка 2 Поставщик OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "(null)" сообщил об ошибке. Поставщик не предоставил данных об ошибке. Сообщение 7303, уровень 16, состояние 1, строка 2 Не удалось проинициализировать объект источника данных поставщика OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "(null)". Есть возможность в процедуре обойти\отследить ошибку? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 11:09 |
|
Проверить доступность файла перед использованием OPENROWSET
|
|||
---|---|---|---|
#18+
А Try Catch не работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 11:11 |
|
Проверить доступность файла перед использованием OPENROWSET
|
|||
---|---|---|---|
#18+
uaggster, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Ой, кажется работает)) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 11:51 |
|
Проверить доступность файла перед использованием OPENROWSET
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 11:59 |
|
Проверить доступность файла перед использованием OPENROWSET
|
|||
---|---|---|---|
#18+
Причём проверяет не только доступность файла но и его наличие. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 12:01 |
|
Проверить доступность файла перед использованием OPENROWSET
|
|||
---|---|---|---|
#18+
_Gavrysh_, это уровень "что-то пошло не так", но вы не сможете понять - что именно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 14:27 |
|
Проверить доступность файла перед использованием OPENROWSET
|
|||
---|---|---|---|
#18+
Владислав Колосов, Согласен. Но круг поиска "что то не так" сильно сужается. Практически до нуля. В этом случае лучше будет не "Файл не доступен" а "С источником, что то не так" ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 18:28 |
|
Проверить доступность файла перед использованием OPENROWSET
|
|||
---|---|---|---|
#18+
_Gavrysh_, если нет прав доступа, то вы увидите ту же ошибку. В корпоративных системах, к примеру, права доступа могут неожиданно исчезнуть, и будете ломать голову - файл есть, но его нет :) Это, конечно, лучше, чем ничего. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 22:44 |
|
Проверить доступность файла перед использованием OPENROWSET
|
|||
---|---|---|---|
#18+
Владислав Колосов, Согласен. По крайне мере могу выдать сообщение на почту и продолжать дальнейшие действия без глобального выброса из процедуры. А дальше разбираться детально с причиной не доступности файла. В моём случае обращение к файлам всегда идёт от админа. Поэтому остаются варианты: 1.Имя файла не то 2.Файл открыт 3.Лист не тот (не Sheet1) 4.??? - пока не знаю Отсутствие доступа SQL сервера к папке с файлами... Ну это уже глобальный сбой. Да, согласен. Это лучше, чем вообще ни чего. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 23:07 |
|
|
start [/forum/topic.php?fid=46&fpage=14&tid=1684275]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
84ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 251ms |
total: | 416ms |
0 / 0 |