|
Путь в качестве переменной
|
|||
---|---|---|---|
#18+
Добрый день! Не проходите мимо помогите, кто сталкивался, плизз есть процедура необходимо ее доработать в качестве входной переменной сделать путь к файлу (запихнуть C:\Users\Documents\1.xml в переменную) create PROCEDURE [dbo].[OPENXML] AS BEGIN SELECT * into #T FROM OPENROWSET(Bulk 'C:\Users\Documents\1.xml',SINGLE_CLOB) .... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 15:47 |
|
Путь в качестве переменной
|
|||
---|---|---|---|
#18+
Qiwi1, временную таблицу нужно будет создавать заранее или использовать постоянную/глобальную временную. Запрос заполнения таблицы из OPENROWSET записываете в переменную @sql_str типа nvarchar(max). Затем выполняете запрос через EXEC (@str_str) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 15:59 |
|
Путь в качестве переменной
|
|||
---|---|---|---|
#18+
ptr128, обычно делают наоборот - пишут скрипт или приложение, которые загружает документы на сервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 02:46 |
|
Путь в качестве переменной
|
|||
---|---|---|---|
#18+
Владислав Колосов, обычно, я отвечаю на вопрос ТС, так как причин выбрать необычное решение - множество. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 09:35 |
|
Путь в качестве переменной
|
|||
---|---|---|---|
#18+
ptr128, Пишу ... declare @FileName nvarchar(255) ; set @FileName = 'C:\Users\Documents\1.xml'; declare @DOC nvarchar(max); DECLARE @hdoc int; SET @DOC=(select * from(SELECT * FROM OPENROWSET(BULK '''+@FileName+''', SINGLE_CLOB) )); -----------------далее уже работаю с файлом---------------------------------- EXEC sp_xml_preparedocument @hdoc OUTPUT, @DOC; -------------------------------- SELECT id,name FROM OPENXML (@hdoc, 'root/items/item',2) WITH (id int , name Varchar(255) ); EXEC sp_xml_removedocument @hdoc; ... Ругается "Корреляционное имя должно быть указано для группового набора строк в предложении FROM." В чем ошибка? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 10:04 |
|
Путь в качестве переменной
|
|||
---|---|---|---|
#18+
И еще вопрос: Загружаемый hml файл содержит первую строку <?xml version="1.0" encoding="UTF-8"?> как ее удалить не вручную? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 11:12 |
|
Путь в качестве переменной
|
|||
---|---|---|---|
#18+
ptr128 Qiwi1, временную таблицу нужно будет создавать заранее или использовать постоянную/глобальную временную. Запрос заполнения таблицы из OPENROWSET записываете в переменную @sql_str типа nvarchar(max). Затем выполняете запрос через EXEC (@str_str) Вот так наконец-то получилось, спасибо! ... declare @FileName nvarchar(255) ; set @FileName = 'C:\Users\1.xml'; declare @DOC nvarchar(max); DECLARE @hdoc int; CREATE TABLE #BulkImport (BulkColumn nvarchar(max)) --Загружаем файл в xml переменную exec ('Insert into #BulkImport SELECT * FROM OPENROWSET(BULK '''+@FileName+''', SINGLE_CLOB) AS x ') SET @DOC=(select BulkColumn from #BulkImport) EXEC sp_xml_preparedocument @hdoc OUTPUT, @DOC; ---------------------работаю с xml----------- SELECT id,name FROM OPENXML (@hdoc, 'root/ss/s',2)----? WITH (id int , name Varchar(255) ); EXEC sp_xml_removedocument @hdoc; ... Теперь еще одну проблему решить не могу-убрать из xml декларацию (<?xml version="1.0" encoding="UTF-8"?>) пока убираю ее вручную, но это не вариант, тк файлов много. Как это сделать, кто знает подскажите, пожалуйста! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 16:10 |
|
Путь в качестве переменной
|
|||
---|---|---|---|
#18+
обычный REPLACE не предлагать? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 16:51 |
|
Путь в качестве переменной
|
|||
---|---|---|---|
#18+
Konst_One обычный REPLACE не предлагать? Нафига козе баян? substring достаточно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 17:01 |
|
Путь в качестве переменной
|
|||
---|---|---|---|
#18+
aleks222, попробую, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 17:45 |
|
|
start [/forum/topic.php?fid=46&msg=40036005&tid=1685207]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
163ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 294ms |
total: | 550ms |
0 / 0 |