Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Openrowset - можно ли задать путь к файлу в виде переменной? / 5 сообщений из 5, страница 1 из 1
25.03.2019, 11:27
    #39790834
-SWAN-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Openrowset - можно ли задать путь к файлу в виде переменной?
Здравствуйте Гуру SQL!
Подскажите как задать параметры для openrowset
Так работает:
Код: sql
1.
select * from openrowset('Microsoft.ACE.OLEDB.12.0', 'Excel 8.0;Database=\\WDMYCLOUD\Public\обмен\TESTLebed.xlsx;HDR=YES;IMEX=1', 'select * from [лист1$]')




пытаюсь сделать через переменную (ругается)
Код: sql
1.
2.
3.
declare @ffilename as varchar(100)
set @ffilename='\\WDMYCLOUD\Public\обмен\TESTLebed.xlsx'
select * from openrowset('Microsoft.ACE.OLEDB.12.0', 'Excel 8.0;Database=' + @ffilename + ';HDR=YES;IMEX=1', 'select * from [лист1$]')



может openrowset для этого не подходит?
...
Рейтинг: 0 / 0
25.03.2019, 12:50
    #39790892
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Openrowset - можно ли задать путь к файлу в виде переменной?
-SWAN-Здравствуйте Гуру SQL!
Подскажите как задать параметры для openrowset
Так работает:
Код: sql
1.
select * from openrowset('Microsoft.ACE.OLEDB.12.0', 'Excel 8.0;Database=\\WDMYCLOUD\Public\обмен\TESTLebed.xlsx;HDR=YES;IMEX=1', 'select * from [лист1$]')




пытаюсь сделать через переменную (ругается)
Код: sql
1.
2.
3.
declare @ffilename as varchar(100)
set @ffilename='\\WDMYCLOUD\Public\обмен\TESTLebed.xlsx'
select * from openrowset('Microsoft.ACE.OLEDB.12.0', 'Excel 8.0;Database=' + @ffilename + ';HDR=YES;IMEX=1', 'select * from [лист1$]')



может openrowset для этого не подходит?
openrowset принимает только как строки константы
оберните exec
...
Рейтинг: 0 / 0
25.03.2019, 13:26
    #39790912
-SWAN-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Openrowset - можно ли задать путь к файлу в виде переменной?
HandKot,
сделал вот так
Код: sql
1.
2.
3.
4.
5.
declare @strSQL as varchar(4000),@ffilename as varchar(1000)
set @ffilename='\\WDMYCLOUD\Public\обмен\tmpLebed\TESTLebed.xlsx'
set @ffilename='Excel 8.0;Database=' + @ffilename + ';HDR=YES;IMEX=1'
set @strSQL='select * from openrowset(''Microsoft.ACE.OLEDB.12.0'', ''' + @ffilename + ''', ''select * from [лист1$]'')'
exec @strSQL



ругается
Код: sql
1.
The name 'select * from openrowset('Microsoft.ACE.OLEDB.12.0', 'Excel 8.0;Database=\\WDMYCLOUD\Public\обмен\tmpLebed\TESTLebed.xlsx;HDR=YES;IMEX=1', 'select * from [лист1$]')' is not a valid identifier.



вроде всё верно, но где-то я ошибаюсь(((
...
Рейтинг: 0 / 0
25.03.2019, 13:30
    #39790913
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Openrowset - можно ли задать путь к файлу в виде переменной?
Код: sql
1.
exec (@strSQL)
...
Рейтинг: 0 / 0
25.03.2019, 13:32
    #39790914
-SWAN-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Openrowset - можно ли задать путь к файлу в виде переменной?
Гавриленко Сергей Алексеевич
Код: sql
1.
exec (@strSQL)



Спасибо большое! Слона то я не приметил))))
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Openrowset - можно ли задать путь к файлу в виде переменной? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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