Forum

SQL sorgusuyla serb...
 
Bildirimler
Hepsini Temizle

[Çözüldü] SQL sorgusuyla serbest piyasa kuru çekmek

Gökhan Erdoğdu
(@adaliadam)
Üye

Merhabalar,

Bazı sitelerden power query yardımıyla anlık kurları alabiliyoruz. Ancak bazen sorgu içinde de kullanmak lazım geliyor.

Bunu yapmanın bir yolu var mıdır?

Yardımlarınızı rica ederim.

Botek Otomasyon
Raporlama ve Analiz Uzmanı

Alıntı
Konu başlatıcı Gönderildi : 25/12/2021 11:54
Konu Etiketleri

Mehmet Sucu
(@mehmetsucu)
Üye

Merhaba @adaliadam

Bunula alabilirsin. Sp den delete silip, tabloya İnsert tarihi ya da CreatedDate ekleyip hangi tarihlerde kur ne kadarmış onu da alabilirsin.

 
sp_configure 'show advanced options' , 1
reconfigure with override
sp_configure 'Ole Automation Procedures' , 1
reconfigure with override

 
CREATE TABLE [dbo].[DovizKurlari]
([Tarih] [DATE] NULL
, [Unit] [VARCHAR] (50) NULL
, [Isim] [VARCHAR] (100) NULL
, [ParaBirimi] [VARCHAR] (100) NULL
, [DovizAlis] [FLOAT] NULL
, [DovizSatis] [FLOAT] NULL
, [EfektifAlis] [FLOAT] NULL
, [EfektifSatis] [FLOAT] NULL) ON [PRIMARY] ;
GO

 
CREATE PROC DovizKurbilgisi
AS
DECLARE @url AS VARCHAR (8000) ;
SET @url = 'https://www.tcmb.gov.tr/kurlar/today.xml' ;
DECLARE @OBJ AS INT ;
DECLARE @RESULT AS INT ;
EXEC @RESULT = sp_OACreate 'MSXML2.XMLHTTP', @OBJ OUT ;
EXEC @RESULT = sp_OAMethod @OBJ, 'open', NULL, 'GET', @url, false ;
EXEC @RESULT = sp_OAMethod @OBJ, send, NULL, '' ;
CREATE TABLE #XML
(STRXML VARCHAR (MAX)) ;
INSERT INTO #XML
(STRXML)
EXEC @RESULT = sp_OAGetProperty @OBJ, 'responseXML.xml' ;

DECLARE @XML AS XML ;
SELECT @XML = STRXML
FROM #XML ;
DROP TABLE #XML ;
DECLARE @HDOC AS INT ;
EXEC sp_xml_preparedocument @HDOC OUTPUT, @XML ;
DELETE FROM DovizKurlari
WHERE Tarih = CONVERT( DATE, GETDATE()) ;
INSERT INTO DovizKurlari
(Tarih
, Unit
, Isim
, ParaBirimi
, DovizAlis
, DovizSatis
, EfektifAlis
, EfektifSatis)
SELECT CONVERT( DATE, GETDATE())
, *
FROM
OPENXML( @HDOC, 'Tarih_Date/Currency' )
WITH
(
Unit VARCHAR ( 50 ) 'Unit'
, Isim VARCHAR ( 100 ) 'Isim'
, ParaBirini VARCHAR ( 100 ) 'CurrencyName'
, DovizAlis FLOAT 'ForexBuying'
, DovizSatis FLOAT 'ForexSelling'
, EfektifAlis FLOAT 'BanknoteBuying'
, EfektifSatis FLOAT 'BanknoteSelling'
) ;

 
EXEC DovizKurbilgisi ;

 
SELECT *
FROM [dbo].[DovizKurlari] ;

Mehmet SUCU
HBYS Yazılım Uzmanı
[email protected]
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 25/12/2021 12:19

Gökhan Erdoğdu
(@adaliadam)
Üye

@mehmetsucu Merhabalar Mehmet Bey

yanıtınız için teşekkür ederim ancak halihazırda logo kullanıyoruz ve merkez bankası kurları sistemde mevcut.

İstediğim anlık serbest piyasa kurları.

Botek Otomasyon
Raporlama ve Analiz Uzmanı

CevapAlıntı
Konu başlatıcı Gönderildi : 25/12/2021 12:22

Mehmet Sucu
(@mehmetsucu)
Üye

Merhaba @adaliadam

Serbest piyasa kurları için de mutlaka bir url adresi ve xml içinde gelen alanların olması gerekiyor. Fiddler ile bu bilgilere erişebilirsin. Sp içindeki alanları değiştirdiğinde aynı şekilde geleceğini düşünüyorum.

Mehmet SUCU
HBYS Yazılım Uzmanı
[email protected]
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 25/12/2021 12:28

Gökhan Erdoğdu
(@adaliadam)
Üye

@mehmetsucu fiddler'in ne olduğunu bilmiyorum. Anlık kurlar için XML bulmakta ayrı mesele.

Anlık olması istenildiği için drop table, insert table yapmak sistemi yorar mı acaba?

çok kısa zaman aralığı olduğu farzedersek...

Botek Otomasyon
Raporlama ve Analiz Uzmanı

CevapAlıntı
Konu başlatıcı Gönderildi : 25/12/2021 14:41

Zülfü Mehmet ÖZÇİFÇİ
(@zulfumehmetozcifci)
Üye

php ile bot yazıp bunları tarihi ile birlikte db kaydebilirsiniz, ne yapmak istediğinizi tam olarak yazarsanız daha çok yardımcı olabiliriz.

Kişisel bir olay

CevapAlıntı
Gönderildi : 25/12/2021 17:37

Gökhan Erdoğdu
(@adaliadam)
Üye

merhaba

https://tr.tradingview.com/chart/pqkgb1M4/

örneğin bu sitede usd/try paritesi anlık değişiyor bende bu değerlere anlık sql'den ulaşmak istiyorum.

3 satır, 3 kolon işimi görür

 

TARİH/SAAT - DÖVİZ - FİYAT

2021-12-25 1800-USD-11,00465

2021-12-25 1800-GBP-14,49000

2021-12-25 1800-EUR-12,01720

 

kendimizin belirlediği aralıklarda bu değer güncellenecek.

 

Botek Otomasyon
Raporlama ve Analiz Uzmanı

CevapAlıntı
Konu başlatıcı Gönderildi : 25/12/2021 18:40

Gökhan Erdoğdu
(@adaliadam)
Üye

mesela böyle bir api var iş görür mü bilmiyorum

https://api.binance.com/api/v1/ticker/allPrices

Botek Otomasyon
Raporlama ve Analiz Uzmanı

CevapAlıntı
Konu başlatıcı Gönderildi : 25/12/2021 18:42

Zülfü Mehmet ÖZÇİFÇİ
(@zulfumehmetozcifci)
Üye

@adaliadam bu kripto para birimleri içeriyor. Anlık veri için bir websoket kullanmanız lazım. Yada anlık veri veren bir api bulmanız lazım. Harem altından alabilirsiniz. İstediğiniz formatta xml olarak php ile üretilebilir ya php bot ile dakkada bir cron oluşturup yada her dosyayı açtığınızda yade sorgu attığınızda veriler güncellenir. İstediğiniz formatta

Kişisel bir olay

CevapAlıntı
Gönderildi : 25/12/2021 21:06

Gökhan Erdoğdu
(@adaliadam)
Üye

@zulfumehmetozcifci haremaltına API başvurusu yapmak istedim ancak başvur butonu işlevsiz.

Tamda anlattığınız gibi bir sisteme ihtiyacım var.

Botek Otomasyon
Raporlama ve Analiz Uzmanı

CevapAlıntı
Konu başlatıcı Gönderildi : 25/12/2021 23:15

Zülfü Mehmet ÖZÇİFÇİ
(@zulfumehmetozcifci)
Üye

@adaliadam böyle bir sistem için destek sağlayabilirim.

Kişisel bir olay

CevapAlıntı
Gönderildi : 26/12/2021 10:29

Paylaş: