• Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü SQL hızlı veri çekmek

Bu sorun verilen destek sayesinde çözüme ulaştırılmıştır.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

dogan.importexport

Yeni Üye
Kullanıcı Bilgileri
Katılım
9 Eyl 2021
Mesajlar
206
Çözümler
2
Aldığı beğeni
17
Excel Versiyonu
Office 365 TR
Konuyu Başlatan
Arkadaşlar excele sql den veri çekiyorum ama o kadar çok veri oldu ki artık çok yavaş çekmeye başladı. Tabi buda hızlansın diye yapılan iş daha da yavaş hal aldı. Hızlı aktarım yapmanın bir yolu yokmudur. Ben genel de tüm tablolarda aşağıdaki kodları kullanıyorum.

C++:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Çözüm
aşağıdaki dosyayı dener misiniz bende sorunsuz çalışıyor sadece
ServerName = "HALIL\SQLEXPRESS"
DatabaseName = "MikroDB_V16_FIRATOZEL" alanları sizdeki tanımlara göre değişmeli başka bir şey değişmeyecek
eğer bu da çalışmazsa aklıma başka bir şey gelmiyor
dediğim gibi sadece
ServerName ve DatabaseName değişecek başka bir şey değil
Arkadaşlar excele sql den veri çekiyorum ama o kadar çok veri oldu ki artık çok yavaş çekmeye başladı. Tabi buda hızlansın diye yapılan iş daha da yavaş hal aldı. Hızlı aktarım yapmanın bir yolu yokmudur. Ben genel de tüm tablolarda aşağıdaki kodları kullanıyorum.

C++:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
Arkadaşlar excele sql den veri çekiyorum ama o kadar çok veri oldu ki artık çok yavaş çekmeye başladı. Tabi buda hızlansın diye yapılan iş daha da yavaş hal aldı. Hızlı aktarım yapmanın bir yolu yokmudur. Ben genel de tüm tablolarda aşağıdaki kodları kullanıyorum.

C++:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.

Merhaba.Kodları kod içine almalısınız foruma eklerken.
İkinci olarak ise örnek dosya ekleyin demekten hem parmaklarız yoruluyor hemde dosya olmayınca cevaplayanda az olur hemde bıkkınlık geliyor aynı kelimeleri yazmaktan abey.
Konunuz için ise getrows dizi içine alınır ve o şekilde yüklenebilir.Dosya olursa akşam bakabilirim yardım gelmezse.
 
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
Yukarıdaki döngü gereksiz olmuş. Bütün verileri tek seferde almak için;
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
kodu bütün veriyi tek seferde sayfaya aktarmanızı sağlar.
 
Dosyanın neredeyse % 90 kısmını silerek gönderdim. yükleme yapamadığım için. Esas SQL den veri çekerken düzeltme yapılabilirmi yavaşlama oradan kaynaklanıyor çünki. Veri Çok olduğu için.
 

Ekli dosyalar

  • SQL VERİ HIZLANDIRMA.xlsm
    1.6 MB · Gösterim: 12
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
Yukarıdaki döngü gereksiz olmuş. Bütün verileri tek seferde almak için;
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
kodu bütün veriyi tek seferde sayfaya aktarmanızı sağlar.
Bu döngü neredeyse 40 satır arasından seçildi ama. sizin kodlarınızı koyarsam bu sefer diğerleride mecburen sayfaya gelecek bu sefer çok farklı düzenlemeler yapmış olacağım yanılıyormuyum. Kolonları seçtim çünki çok fazla olduğu için
 
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
Yukarıdaki döngü gereksiz olmuş. Bütün verileri tek seferde almak için;
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
kodu bütün veriyi tek seferde sayfaya aktarmanızı sağlar.

Farklı sütunlardan veri geldiği için bence copyfromrecordset olmaz abey yada select içine tek tek yazılırsa olabilir diye düşünüyorum.
 
Acaba BAKİYE ve (B) (A) daki kolonlardaki formülleri elle giriyorum ve uzun bunlar da yük getirir sanırım BAKİYE VE B A kısmını makro ile yapabilirsem dosya braz daha küçülür ve hızlanır mı ?
 
peki bunu nasıl düzeltebilirim. en büyük veri orada zaten.zaten siz bakınca görmüşsünüzdür. ve bu dosyayı bitirince sitede paylaşmak istiyorum. siz ve üstadların çok faydası oldu. Dosyanın bütününde çok faydalı raporlama ve kodlar var. Sadece SQL kısmını değiştirmek isteyen kullanabilir.ama nasıl yüklerimbittikten sonra.
 
peki bunu nasıl düzeltebilirim. en büyük veri orada zaten.zaten siz bakınca görmüşsünüzdür. ve bu dosyayı bitirince sitede paylaşmak istiyorum. siz ve üstadların çok faydası oldu. Dosyanın bütününde çok faydalı raporlama ve kodlar var. Sadece SQL kısmını değiştirmek isteyen kullanabilir.ama nasıl yüklerimbittikten sonra.
Dosyayı inceleyemdim,akşam bakabilirim abey.
 
hücreler sıralı gidiyor dolayısıyla siz veriyi çekerken sadece ihtiyacınız olan alanları eklemeniz yeterli
@aeGNoR un belirttiği gibi copyrecordset en mantıklısı
SELECT * FROM kullanmak yerine ayın Refaz ın belirttiği SELECT alan4Adi,alan5adı,alan6adı...... FROM şeklinde çekerseniz copyfromrecordset kullanabilirsiniz
 
Üstad sıralı gitmiyor. SQL de çok fazla kolon var. Aslında yavaşlatan olay bakiye ve B - A kısmını sayfa içinde yaptığım manuel formul yapıyor. Ve çok seri evrak girdiği için 25 000 satır veri var ise ben mecbur 27-28 000 formül yapmak zorunda kalıyorum. Çünki her seferinde formül ekleyemem. Bakiye ve B A olayını makrolu yapabilirseniz daha da hızlanır
 
Alanlar sıralı gider çünkü sütunlar 1..9 arası atlamadan düzgün ilerliyor sizin sorgunuzdaki
rs(3), rs(4),rs(5), rs(6), rs(7), rs(10), rs(16), rs(20), rs(21) alanlarının adları ne?
 
Ayrıca emin değilim ama serverdan verileri alırken > ise < ise gibi kodlarda sorguda kullanılabiliyor dolayısıyla verileri alırken siz excelde işlem yapmak yerine serverdan işlenmiş olarak alabiliyorsunuz
Serverda deneyimli değilim nasil olacağını tam olarak bilmiyorum ama varmış gibi geliyor
Not: Dosyanızı eklerken exceldeki sayfa isimlerini kullanmışsınız oysaki serdardaki tablo ve alan adlarını kullansaydınız en azından biz kendimiz servera yükler onun üzerinde denme yapardık
Tabloadlariyla sayfalari oluşturduktan sonra da şu tablodaki verileri exceldeki şu tabloya benzer şekilde aktarmak istiyorum derdiniz biz de denme yanılma çözmeye çalışırdık
 
msg_s_0077 msg_s_0197 msg_s_300 gibi alan adları var. başlık isimleri kendim veriyorum
 
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
gibi servardaki gerekli alanları atanacağı sütun sırasına gore yerleştirirseniz copyfromrecordset kullanırken sorun çıkmaz
 
dosyanizi serverdaki tablo ve alan adlariyla ne kadar çabuk yüklerseniz o kadar çabuk çözüme ulaşabiliriz
 
Son düzenleme:
Deneyeceğim üstadım. Ama Bakşye formülü ve Bakiye B A kısmını da çözersek çok daha hızlı olur sanırım. ?
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

Konuyu okuyanlar

Geri
Üst