lostyazilim
tr.link

Aynı anda 10 veri tabanına bağlanıp, içiçe veri çekmek...

22 Mesajlar 2.349 Okunma
lstbozum
tr.link

BEYAZMASTER BEYAZMASTER YÜCE ALLAH'IN aciz 1 kulu Kullanıcı
  • Üyelik 04.02.2020
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım...
  • Konum Diğer
  • Ad Soyad O** B**
  • Mesajlar 597
  • Beğeniler 154 / 153
  • Ticaret 0, (%0)
Merhabalar.

$connn_1 = new PDO("mysql:host=localhost;dbname=veritabani_abc", ...

Şeklinde vt bağlanıyorum ve veri çekiyorum.

Bu yapı yapmak istediklerim için yetersiz.

10 ve daha fazla veri tabanına bağlanıp hepsinden veri çekmem ve tüm çektiğim verileri aynı listeye dahil etmem ve alfabetik sıraya göre listelemem gerek.

AMA NASIL! ; )


(Tüm veritabanlarını tek bir vt haline getiremem hepsi çok büyük diye düşünelim...)


NASIL BİR VT BAĞLANTI KODU VE VERİ ÇEKME SORGUSU YAZMAM GEREK ARKADAŞLAR?

AYDINLATIRSANIZ ÇOK SEVİNİRİM...
 

 

ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.
wmaraci
reklam

forces forces WM Aracı Kullanıcı
  • Üyelik 23.01.2016
  • Yaş/Cinsiyet 45 / E
  • Meslek bilgisayar mühendisi
  • Konum İstanbul Avrupa
  • Ad Soyad M** E**
  • Mesajlar 1366
  • Beğeniler 9 / 379
  • Ticaret 0, (%0)
Şöyle olabilir

select Email, 0 as order_column from db_mdone
UNION
select Email, 1 as order_column from db_mdtwo
ORDER BY order_column









<%
'=============================================================
' xxx.xxx.xxx.xxx = IP Address for the SQL Server
' yyyyyyyy = User Id for the database
' zzzzzzzz = Password for the database
'=============================================================
strWebDSN = "Provider=SQLOLEDB;server=xxx.xxx.xxx.xxx;uid=yyyyyyyy;pwd=zzzzzzzz;database=db_mdone"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strWebDSN
set rs = Server.CreateObject("ADODB.recordset")
rs.Open "Select * from DATABASETABLENAME", conn

do until rs.EOF
for each x in rs.Fields
Response.Write(x.name)
Response.Write(" = ")
Response.Write(x.value & "
")
next
Response.Write("
")
rs.MoveNext
loop

rs.close
conn.close
%>




<%
BEYAZMASTER

kişi bu mesajı beğendi.

EmirKutlu EmirKutlu PHP | Sosyal Medya Kullanıcı
  • Üyelik 16.08.2012
  • Yaş/Cinsiyet 26 / E
  • Meslek Php |
  • Konum İstanbul Anadolu
  • Ad Soyad E** K**
  • Mesajlar 328
  • Beğeniler 39 / 85
  • Ticaret 40, (%100)
Bunun yerine, verileri almanız gereken yerlere istediğiniz verileri export eden bir api yazın ve almanız gereken kısımda apilere bağlanarak verileri çekin. Hem hız, hem stabillik açısından daha fazla iş görecektir.
BEYAZMASTER

kişi bu mesajı beğendi.

BEYAZMASTER BEYAZMASTER YÜCE ALLAH'IN aciz 1 kulu Kullanıcı
  • Üyelik 04.02.2020
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım...
  • Konum Diğer
  • Ad Soyad O** B**
  • Mesajlar 597
  • Beğeniler 154 / 153
  • Ticaret 0, (%0)

forces adlı üyeden alıntı

Şöyle olabilir

select Email, 0 as order_column from db_mdone
UNION
select Email, 1 as order_column from db_mdtwo
ORDER BY order_column









<%
'=============================================================
' xxx.xxx.xxx.xxx = IP Address for the SQL Server
' yyyyyyyy = User Id for the database
' zzzzzzzz = Password for the database
'=============================================================
strWebDSN = "Provider=SQLOLEDB;server=xxx.xxx.xxx.xxx;uid=yyyyyyyy;pwd=zzzzzzzz;database=db_mdone"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strWebDSN
set rs = Server.CreateObject("ADODB.recordset")
rs.Open "Select * from DATABASETABLENAME", conn

do until rs.EOF
for each x in rs.Fields
Response.Write(x.name)
Response.Write(" = ")
Response.Write(x.value & "
")
next
Response.Write("
")
rs.MoveNext
loop

rs.close
conn.close
%>




<%




Öncelikle cevabınız için çok teşekkür ederim.

Fakat yazdığınız yapıyı anlamak için bilgilerim yeterli değil.

Union biraz tanıdık geldi sadece.

Birazdan onu araştıracağım.

Sağolunuz.
 

 

ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.
wmaraci
wmaraci

BEYAZMASTER BEYAZMASTER YÜCE ALLAH'IN aciz 1 kulu Kullanıcı
  • Üyelik 04.02.2020
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım...
  • Konum Diğer
  • Ad Soyad O** B**
  • Mesajlar 597
  • Beğeniler 154 / 153
  • Ticaret 0, (%0)

EmirKutlu adlı üyeden alıntı

Bunun yerine, verileri almanız gereken yerlere istediğiniz verileri export eden bir api yazın ve almanız gereken kısımda apilere bağlanarak verileri çekin. Hem hız, hem stabillik açısından daha fazla iş görecektir.


Öncelikle çok teşekkür ederim ilginiz ve cevabınız için.

Söyledikleriniz nasıl yapılıyor hiç bilmiyorum ama kulağa çok mantıklı geliyor.

Şu api olayı her yerde karşımıza çıkıyor.

Çözmem gerek.

Temel ve stratejik bir yol haritası paylaşırsanız ayrıca makbule geçer.

Tekrar teşekkürler...
 

 

ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.

SizofrenikDev SizofrenikDev WM Aracı Kullanıcı
  • Üyelik 05.10.2016
  • Yaş/Cinsiyet 38 / E
  • Meslek Yazılım Uzmanı
  • Konum İstanbul Avrupa
  • Ad Soyad H** B**
  • Mesajlar 187
  • Beğeniler 8 / 49
  • Ticaret 2, (%100)
Veritabanı sistemin nedir ?
 

 

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
10 db deki veriyi, ayrı ayrı çekip, konsolide edip, sonrasında sort etme gereksinimi sebebi nedir?

Web, Mobil uygulama mıdır?

Buradaki büyüklük ile kasıt nedir? GB, TERABYTE filan mı, 10m, 100m gibi somutlaştırması gerek.


10 ayrı veri tabanına bağlanıp iş yapıp sonucunda veriyi birleştirmek, sort etmek DWH, BigData işlerinde oluyor genelde.

Onlarda farklı veri kaynaklarına paralel job'lar ile dalıp, o veriyi veri akışlarında konsolide edip, çıktı sağlıyorlar.. ETL bu işin DWH tarafındaki kısaltmasıdır.

Bu tür dağıtık datalar için joblar yazıp, veriyi konsolide edip, tek bir yerden sunmak en basit / temiz çözümdür. Cassandra/Scylla, MongoDb gibi nosql dbler mevcut. (onlarda yapacağın işe göre kullanımı değişiklik gösterir)
Crewx BEYAZMASTER

kişi bu mesajı beğendi.

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

BEYAZMASTER BEYAZMASTER YÜCE ALLAH'IN aciz 1 kulu Kullanıcı
  • Üyelik 04.02.2020
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım...
  • Konum Diğer
  • Ad Soyad O** B**
  • Mesajlar 597
  • Beğeniler 154 / 153
  • Ticaret 0, (%0)

ŞizofrenikDev adlı üyeden alıntı

Veritabanı sistemin nedir ?


Mysql
 

 

ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.

BEYAZMASTER BEYAZMASTER YÜCE ALLAH'IN aciz 1 kulu Kullanıcı
  • Üyelik 04.02.2020
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım...
  • Konum Diğer
  • Ad Soyad O** B**
  • Mesajlar 597
  • Beğeniler 154 / 153
  • Ticaret 0, (%0)

YazılımMimarı adlı üyeden alıntı

10 db deki veriyi, ayrı ayrı çekip, konsolide edip, sonrasında sort etme gereksinimi sebebi nedir?

Web, Mobil uygulama mıdır?

Buradaki büyüklük ile kasıt nedir? GB, TERABYTE filan mı, 10m, 100m gibi somutlaştırması gerek.


10 ayrı veri tabanına bağlanıp iş yapıp sonucunda veriyi birleştirmek, sort etmek DWH, BigData işlerinde oluyor genelde.

Onlarda farklı veri kaynaklarına paralel job'lar ile dalıp, o veriyi veri akışlarında konsolide edip, çıktı sağlıyorlar.. ETL bu işin DWH tarafındaki kısaltmasıdır.

Bu tür dağıtık datalar için joblar yazıp, veriyi konsolide edip, tek bir yerden sunmak en basit / temiz çözümdür. Cassandra/Scylla, MongoDb gibi nosql dbler mevcut. (onlarda yapacağın işe göre kullanımı değişiklik gösterir)



Öncelikle ilginiz ve cevabınız için gerçekten teşekkür ederim...


Üstadlığınızı göstermiş ve hem güzel sorular sormuşsunuz hem de çok güzel bir açılım yapmışsınız...
(Her ne kadar paylaştıklarınızı henüz tam anlamasam da...)


CEVAP 1

Gereksinimin nedeni şu;

10 Ayrı şehir için 10 Ayrı veri tabanı oluşturdum...

Hem veri tabanlarının şişmemesi, sayfaların kasılmaması için...

Hem de bir veri tabanına sızılırsa tüm veriler ele geçirilemesin diye...

Her şehir sayfası kendisine ait veri tabanına bağlanıp verilerini sorunsuzca çekiyor.

Lakin bunun yanında bir de tüm şehirlerdeki verileri tek bir sayfada göstermek istiyorum...

Bu ihtiyaç da buradan hasıl oldu.

10 veri tabanına bağlanabiliyorum ve verileri ayrı ayrı çekebiliyorum ama bu tek bir liste oluşturmamı sağlamıyor...

Bir sayfada 10 ayrı liste olmuş oluyor...

Sanırım şu an anladığınız üzere;
10 veri tabanı içindeki verileri tek bir listede toplayıp, hepsini iskambil kağıdı gibi karıştırıp isme yada başka bir sütun değerine göre listelemek istiyorum...


CEVAP 2

Şimdilik web sitesi, mobil uygulamaya da dönüştürmem gerekiyor sonraki aşamada...


CEVAP 3

Büyüklük terabyte değil ve hiçbirzaman da olacağını sanmam...


Sonraki yazdıklarınız, kullandığınız terimler ciddi birer araştırma konusu benim için...

Şu an bunu yapmam olanak dahilinde değil...


Paylaştığım cevaplar doğrultusunda ekleyeceğiniz bilgiler ve kod olursa çok sevinirim...


TEKRAR ÇOK TEŞEKKÜR EDİYORUM ÜSTADIM...
 

 

ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.

Qezgin Qezgin Php Kullanıcı
  • Üyelik 14.06.2019
  • Yaş/Cinsiyet 35 / E
  • Meslek Gezgin
  • Konum Denizli
  • Ad Soyad B** D**
  • Mesajlar 54
  • Beğeniler 9 / 11
  • Ticaret 0, (%0)
Öncelikle Merhabalar,

@EmirKutlu'nun dediği yol en mantıklısı gibi duruyor.

Bunu php json ile yapabilirsin oldukcada kolay olur

Örneğin
her sitenden data_ver.php dosyası oluştur buna get ile parametre yollayabilirsin ve o parametrelere göre sorgular yapıp dışa veri verebilirsin böylelikle

site1.com/data_ver.php?tur=yemek&listele=10 vb gibi yemek kategorisindekilerden 10 tane veri listelettin mesela bu veriyi

data_ver.php örnek olarak


$sorg= $db->prepare("SELECT firmaadi,adres FROM firmalar WHERE tur = '$_GET[tur]' LIMIT '$_GET[listele]'");
$sorg->execute();

$veri= $sorg->fetch(PDO::FETCH_ASSOC);
echo json_encode($veri);



Gelelim toplama olacak sitene

veri_al.php



$jsonurl = 'https://site1.com/data_ver.php?tur=yemek&listele=10';
$jsondata = file_get_contents($jsonurl);
$array = json_decode($jsondata,true);

print_r($array);




bu şekilde verileri dizi olarak alıp kullanabilirsin

umarım faydalı olur

DÜZELTME :

Ek olarak tüm sitelerden çektiğin dizi verilerini array_push() gibi bir fonksiyon kullanarak tek veri haline getirebilirsin
BEYAZMASTER

kişi bu mesajı beğendi.

The greates enemy will hide in the last place you would ever lock..
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al