• DİKKAT !

    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 Dosya Yükleme tamamen ücretsizdir.

Soru Ado bağlantı geç açılması açık dosyada

Refaz

Destek Ekibi
Katılım
11 Ağu 2021
Mesajlar
5,172
Çözümler
655
Aldığı beğeni
5,072
Excel V
Office 2024 TR
Konu Sahibi
Merhaba.
Office 2024 32bit excelde ado ile bağlanırken open kısmı en az 6 saniye sürüyor yani kendi açık dosyaya bağlanırken uzun sürüyor erken açılması oşayını bilen var mıdır?
Not:Kapalı dosyaya bağlanma 1 saniye sürüyor.
 
hocam ben açık dosyalarda OpenDatabase kullanıyorum, veri büyüklüğüne ve yapacağınız işleme göre hız değişiyor
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Açıklama:
Set db = DBEngine.OpenDatabase(Name, Options, ReadOnly, Connect)
Options: Opsiyonel bir parametredir. _
Veritabanını yalnızca yerel mi yoksa paylaşımlı modda mı açacağınızı belirler. _
Aşağıdaki değerleri kullanabilirsiniz:
* True: Veritabanını özel (exclusive) modda açar. Yani yalnızca tek bir kullanıcı erişebilir.
* False: Paylaşımlı modda açar, bu da diğer kullanıcıların veritabanına erişmesine olanak tanır.

ReadOnly: Veritabanını yalnızca okuma modunda açmak isterseniz bu parametreyi kullanırsınız:
* True: Veritabanı sadece okunabilir olur, yazma veya değiştirme işlemleri yapılamaz.
* False: Veritabanı hem okunabilir hem de yazılabilir durumda açılır.
Connect: Opsiyonel bir parametre olup, uzak bir veritabanına bağlanmak için kullanılır. _
Özellikle ODBC (Open Database Connectivity) gibi bağlantı yöntemlerini kullanıyorsanız, _
bu parametreye bağlantı dizesini girersiniz. _
Set db = DBEngine.OpenDatabase("C:\Veritabani\Dosya.accdb", False, True, ";PWD=12345")
 
Konu Sahibi
Halil hocam Dao kullanmışsınız Ado avantajlı duymuştum.Aslında excel ilk açılışta open yaptırıyorum ve dosya kapanana kadar açık kalıyor zararı olmuyor ama Afo için öğrenmek istemiştim.Sanki önceki excel versiyonlarda hızlı gibiydi ama eminde değilim.A.ıklamalar içinde sağolun Daoyuda denerim yarın felan müsait olunca.
 
Refaz hocam gerekli olmadıkça bağlantı açık kalması uygun değil diye biliyorum. Yani veritabanından bir veri çekerken ya da veritabanına bir veri gönderirken her zaman bağlantıyı aç kapa yapmanın daha avantajlı olduğunu düşünüyorum.

Belki fark edilemeyecek kadar küçük bir bellek kullanımı vardır ama yine de bellekte yer tutar. Güncel teknolojilerde RAM miktarları oldukça fazla tabi ama sınırsız değil :)

İkisi arasındaki farkı test edip bizimle de paylaşır mısınız?
 
Konu Sahibi
aeGNoR hocam sağolun.Yapay zekayada sordum ve alttaki gibi kod satırı tavsiye etti ve hiç denememiştim deneyip bakacağım hız için ve bilmiyorum çalışırmı.share ve persist gibi olanlat eklenmiş.
Dediğiniz devamlı bağlantı açık kalma olayını test etmiştim dosyamda sorun olmamıştı.Yani workbooks_open içinde açtırdım sadece excel açılırken dediğim dürelerde açılıyor.Benim projelerim vs.. yok sadece meraktan öğrenmek istiyorum ve kengim için gelir gider proğramı yapmıştım ve çok kodlar Ado ileydi geçen çalışınca farkettim geç bağlanmayı :(Önceden 2019 kullanıyordum sanki hızlıydı yada farketmemiştim.Benim pc ise 6gb ram ve sorun olmuyor devamlı açık kalma olayında.

HTML:
HTML:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Halil hocam Dao kullanmışsınız Ado avantajlı duymuştu
aslında haklısınız hocam ama bir kaç denememde özellikle accesse kapalı excelden veri alırken opendatabase kullandığımda oldukça belirgin bir hız farkı olmuştu. aklımda yanlış kalmadıysa açık excelde de daha hızlıydı ama çok fazla değildi. 1 milyon satır iççin 5-6 saniye kadar hız farkı olmuştu. diğer yöntemler 70 küsür saniye sürerken opendatabese 64-65 sn falan sürdü.
IMEX=1 kullanarak hızlandırılabilir yada eğer kayıtlar arasında ileri geri gezme ve güncelleme olmayacaksa
recordset bağlanma kodları aşağıdaki gibi yapılarak hız artırılabilir
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Konu Sahibi
Yani veritabanından bir veri çekerken ya da veritabanına bir veri gönderirken her zaman bağlantıyı aç kapa yapmanın daha avantajlı olduğunu düşünüyorum.
Ben select ile denemiştim excelde ve sorun olmamıştı performansta.Ve dediğim gibi devamlı açıktı open kısmı yani ado bağlantısı.Her defasında en az 6 saniye beklemekten daha iyidir bence :)
 
Halil hoca excelde hiç veri olmasa bile 6 saniye sürüyor bağlanma yani con.open olan satır.Diğer sorgu kısımları ayrı olay.
maalesef öyle hocam excelin dizi özelliği çok hızlı olduğundan her halde açık için gerekli görmemişler)
 
Ben select ile denemiştim excelde ve sorun olmamıştı performansta.Ve dediğim gibi devamlı açıktı open kısmı yani ado bağlantısı.Her defasında en az 6 saniye beklemekten daha iyidir bence :)

Bu neyi maliyet olarak gördüğümüz ile alakalı aslında.

RAM üzerinde sürekli iş yükü olan bir bağlantı mı? (ki bunun kolay kolay test edilebilir bir şey olduğunu sanmıyorum.)
Yoksa her sorguda 5-6 saniye daha fazla beklemek mi?
 
Konu Sahibi
RAM üzerinde sürekli iş yükü olan bir bağlantı mı? (ki bunun kolay kolay test edilebilir bir şey olduğunu sanmıyorum.)
Hocam o zaman bu mantıkla modül içindede public değişken kullanmamak gerekiyor örneğin object olarak bildiğim buda Ram da yer kaplıyor.Çok fazla bilgim yok ama dediğim gibi işimi görür açık olsa bile ama dediğim gibi kendim için kullanacağım için sorun olmaz bence.Daha testleri tam yapamadım sorun olursada dediğiniz gibi close ile felan kapatabilirim userformunun terminate kısmında vs.. ama gıcık olmuştum boş excelde bile 6 saniye sürmesiniki kod yapımda her select ten önce bağlantı kapat aç ile düşünün artıkki birde arama change ile yapılırken her karakter girmede işin diğer tarafı.Bu yüzden bana mantıklı gelen excel ilk açılışta yada userforminitalieze kısmında open yapıp excel close yada userfırterminate kısmında close yapmak.Böyle yapmazsam mesela textboxa her karaktet girdiğimde kapat aç en az 6 saniye sürmesi biraz mantıksızlık yada sadece recordset.close de yapıkabilir change de.Ben eğer alternatif belki biken vardır diye konu açmıştım Ado için.
 
Konu Sahibi
hocam ben açık dosyalarda OpenDatabase kullanıyorum, veri büyüklüğüne ve yapacağınız işleme göre hız değişiyor
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Halil hocam bu kodu denedim aynı yavaş çalıştı zaman olarak Ado ile.Kısaca açık excelde ikiside yavaş.7.Mesajdakilerden önce olduğu için o kısım ayrı bir durum.
 
Halil hocam bu kodu denedim aynı yavaş çalıştı zaman olarak Ado ile.Kısaca açık excelde ikiside yavaş.7.Mesajdakilerden önce olduğu için o kısım ayrı bir durum.
Peki veri almada fark yarattı mı?
 
Geri
Üst