Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Проверка наличия файла перед OPENDATASOURCE  [new]
shef6
Member

Откуда:
Сообщений: 1
SET NOCOUNT ON 
DECLARE @FileName varchar(255) 
DECLARE @File_Exists int
SELECT @FileName='C:\price\1.xls' 
EXEC Master.dbo.xp_fileexist @FileName, @File_Exists OUT 

IF @File_Exists = 1 


begin

SELECT 
       *
FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source=C:\price\1.xls' ;Extended Properties="Excel 8.0;MaxScanRows=0;HDR=No;IMEX=1"')...[xxx$]


end

ELSE 
print 'нет файла'


Если нет файла при выполнении провер происходит ошибка. OPENDATASOURCE проверяет наличие фала до выполнения if

Сообщение 7399
Поставщик OLE DB "Microsoft.Jet.OLEDB.4.0" для связанного сервера "(null)" сообщил об ошибке. Поставщик не предоставил данных об ошибке.
Сообщение 7303
Не удалось проинициализировать объект источника данных поставщика OLE DB "Microsoft.Jet.OLEDB.4.0" для связанного сервера "(null)". 

Посоветуйте как ещё можно организовать проверку наличия файла перед выполнением OPENDATASOURCE
17 ноя 09, 11:52    [7938396]     Ответить | Цитировать Сообщить модератору
 Re: Проверка наличия файла перед OPENDATASOURCE  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
автор
Если нет файла при выполнении провер происходит ошибка. OPENDATASOURCE проверяет наличие фала до выполнения if


Да, на этапе построение плана выполнения запроса.

автор
Посоветуйте как ещё можно организовать проверку наличия файла перед выполнением OPENDATASOURCE


проверку так и оставьте, а вот OPENDATASOURCE заверните в динамический sql.
17 ноя 09, 13:22    [7939294]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить