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

Откуда:
Сообщений: 1
Добрый день. Помогите, пожалуйста, не знаю как получать данные каждый день на последнюю актуальную дату с сайта НБРБ. Получилось собрать данные за месяц с помощью запроса
declare @val_1 datetime
declare @val_2 datetime
declare @url varchar(255)

select @val_2 = GetDate()
select @val_1 = DateAdd(day,1-Day(@val_2), @val_2)

select @url = 'http://www.nbrb.by/Services/XmlExRatesDyn.aspx?curId=145&fromDate=05/01/2019&toDate=05/20/2019'

exec LoadXMLFromFile
@url,
@xmlString output

declare @h int

exec sp_xml_preparedocument @h output, @xmlString

select
[Date],
Convert(money, replace(Rate, ',', '.')) 'Rate'
from
OpenXML (@h, '//Record', 0)
with
(
[Date] char(10) '@Date',
Rate varchar(10) './Rate'
)

exec sp_xml_removedocument @h

Но не совсем понимаю, какой запрос нужно написать чтобы получать актуальные данные за каждый день и сделать так, чтобы данные обновлялись раз в день. Пробовала писать так, но уже здесь выдает ошибку.

declare @xmlString varchar(8000)
declare @val_1 varchar (5)
declare @val_2 varchar (10)
declare @val_3 varchar (1)
declare @val_4 varchar (50)
declare @val_5 varchar (10)
declare @url varchar(255)


select @url = 'http://www.nbrb.by/Services/XmlExRates.aspx?ondate=05/20/2019'


exec LoadXMLFromFile
@url,
@xmlString output

declare @h int

exec sp_xml_preparedocument @h output, @xmlString

К сообщению приложен файл. Размер - 2Kb
20 май 19, 17:53    [21889090]     Ответить | Цитировать Сообщить модератору
 Re: Как получить данные с USD на последнюю дату с сайта НБРБ?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7757
IRYNA77780,

SQL Server как раз подходит для решения таких задач, но лучше поискать другое средство разработки.
20 май 19, 18:19    [21889112]     Ответить | Цитировать Сообщить модератору
 Re: Как получить данные с USD на последнюю дату с сайта НБРБ?  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 940
IRYNA77780,

Ну так и разберитесь, почему у вас процедура LoadXMLFromFile падает.
У нас просто все телепаты в отпуске - гадать по скриншотам сейчас некому.

Могу предположить, что если верхняя половина кода работает, то нужно изменить формирование url:
DECLARE @onDate DATE = GetDate()
SET @url = 'http://www.nbrb.by/Services/XmlExRatesDyn.aspx?curId=145&fromDate=' + CONVERT( VARCHAR(10), @onDate, 101) + '&toDate=' + CONVERT( VARCHAR(10), @onDate, 101)
20 май 19, 18:56    [21889139]     Ответить | Цитировать Сообщить модератору
 Re: Как получить данные с USD на последнюю дату с сайта НБРБ?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31355
IRYNA77780
но уже здесь выдает ошибку.
Так ижите ошибку в вашей процедуре LoadXMLFromFile
Написано, в 58 строке.
20 май 19, 19:26    [21889158]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить