Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Merkez Bankası Döviz Kurları Hakkında
#11
Farklı bir metot da biz paylaşalım inşallah.

Kullanımı : 
BU GÜN
EXEC SP_GETMBCURREX 

TARİH
EXEC SP_GETMBCURREX  '20201025' 


CREATE PROC SP_GETMBCURREX (@DATE DATETIME = NULL)
AS
BEGIN

SET NOCOUNT ON
IF @DATE IS NULL SET @DATE = CONVERT(DATE,GETDATE())
DECLARE @url as nvarchar(1000)
if @DATE = CONVERT(DATE,GETDATE())
set  @url = 'http://www.tcmb.gov.tr/kurlar/today.xml'
else set @url = 'http://www.tcmb.gov.tr/kurlar/'+FORMAT(@DATE,'yyyyMM')+'/'+FORMAT(@DATE,'ddMMyyyy')+'.xml'
--print @url
DECLARE @status int
DECLARE @responseText as table(responseText XML)
DECLARE @res as Int;
EXEC sp_OACreate 'MSXML2.ServerXMLHTTP', @res OUT
EXEC sp_OAMethod @res, 'open', NULL, 'GET',@url,'false'
EXEC sp_OAMethod @res, 'send'
EXEC sp_OAGetProperty @res, 'status', @status OUT
INSERT INTO @ResponseText (ResponseText) 
EXEC sp_OAGetProperty @res, 'responseXML.xml'
EXEC sp_OADestroy @res
DECLARE @XML XML , @TEXT NVARCHAR(MAX)
SELECT @XML =responseText  FROM @ResponseText
DECLARE @Obj int 
SELECT @XML = responseText FROM @responseText
EXEC sp_xml_preparedocument @Obj OUTPUT, @XML;  

IF OBJECT_ID('TEMPDB..#TMPCURR') IS NOT NULL 
DROP TABLE #TMPCURR
SELECT * INTO #TMPCURR 
FROM OPENXML(@Obj, N'//Tarih_Date/Currency') 
WITH ( 
Tarihi  smalldatetime '../@Date'
,CurrencyCode   VARCHAR(10) '@CurrencyCode'
,CrossOrder  VARCHAR(10) '@CrossOrder'
,Unit VARCHAR(100) 'Unit'
,Isim VARCHAR(100) 'Isim'
,Alis VARCHAR(100) 'ForexBuying'
,Satis VARCHAR(100) 'ForexSelling'
,EfAlis VARCHAR(100) 'BanknoteBuying'
,EfSatis VARCHAR(100) 'BanknoteSelling'
) AS TCMB 
exec sp_xml_removedocument @Obj;  

SELECT * FROM #TMPCURR
END

TeS6ro.jpg
Mükemmel, Mümkünün Düşmanıdır 
Cevapla
#12
@bydelphi Örnek için çok teşekkür ederim...

Minik bir hatırlatma:
FORMAT fonksiyonu mssqlserver 2012 ve üzerinde varmış. kaynak: https://docs.microsoft.com/en-us/previou...dfrom=MSDN
benim gibi 2008 kullananlar için:
set @url = 'http://www.tcmb.gov.tr/kurlar/'+left(convert(varchar,@DATE,112),6)+'/'+replace(convert(varchar,@DATE,103),'/','')+'.xml'


şeklinde düzenledim.
Cevapla
#13
(26-11-2020, Saat: 12:23)forumcuali Adlı Kullanıcıdan Alıntı: @bydelphi Örnek için çok teşekkür ederim...

Minik bir hatırlatma:
FORMAT fonksiyonu mssqlserver 2012 ve üzerinde varmış. kaynak: https://docs.microsoft.com/en-us/previou...dfrom=MSDN
benim gibi 2008 kullananlar için:
set @url = 'http://www.tcmb.gov.tr/kurlar/'+left(convert(varchar,@DATE,112),6)+'/'+replace(convert(varchar,@DATE,103),'/','')+'.xml'


şeklinde düzenledim.

Teşekkürler , 

Bu arada senin şu sineğe hastayım.
Habire ekranı temizleyesim geliyor Smile
Mükemmel, Mümkünün Düşmanıdır 
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  random kod üretme hakkında mr.irregularr 9 339 07-06-2021, Saat: 19:38
Son Yorum: mustafaozpinar
  Delphi İle Mobil Geliştirme Hakkında furkan.Dev 14 1.233 29-05-2021, Saat: 20:18
Son Yorum: furkan.Dev
  Datasnap rest service türkçe karakter sorunu hakkında yanniosman 2 455 01-04-2021, Saat: 01:11
Son Yorum: yanniosman
  Çok biçimlilik hakkında (Çözüldü) vkamadan 2 621 09-02-2021, Saat: 15:47
Son Yorum: vkamadan
  SOAP işlemlerinde TMom yapısı hakkında adelphiforumz 13 2.415 29-01-2021, Saat: 11:50
Son Yorum: glagher



Konuyu Okuyanlar: 1 Ziyaretçi