"MQL5'ten (MQL4) MySQL Veritabanına Nasıl Erişilir" makalesi için tartışma - sayfa 5

 

Merhaba efendim , MT4 şovum : Bağlantı başarısız oldu! Hata: Maksimum bağlantılar aşıldı - bu sorunla nasıl başa çıkabilirim? Sanırım Maksimum bağlantılar 32 , bağlantıları 64 gibi nasıl yükseltebilirim?

Yardımınız için teşekkürler, efendim.

 
illman:

Merhaba efendim , MT4 şovum : Bağlantı başarısız oldu! Hata: Maksimum bağlantılar aşıldı - bu sorunla nasıl başa çıkabilirim? Sanırım Maksimum bağlantılar 32 , bağlantıları 64 gibi nasıl yükseltebilirim?

Yardımınız için teşekkürler efendim.

Merhaba,

Evet, maksimum bağlantı sayısı 32'dir

MQLMySQL.dll tabanlı MQL programınızı aynı anda 32'den fazla grafik üzerinde mi kullanmaya çalışıyorsunuz?

Yoksa programınızdaki bağlantıyı kapatmayı mı unuttunuz?

Maksimum bağlantıyı 32'den diğerine değiştirmek için MQLMySQL.DLL'yi yeniden oluşturmanız gerekir. Kaynaklar makaleye eklenmiştir, yapmanız gerekenler:

1. "MQLMySQL DLL Project MSVS-2010.zip" dosyasından kaynakları açın

2. Projeyi MS Visual Studio 2010 veya daha yüksek bir sürümüne yükleyin

3. "MQLMySQL.h" dosyasını açın

4. dizesini bulun:

// veritabanı tanımı
#define  MAX_CONNECTIONS 32

'yi bulun ve 32 değerini 64 ile veya ne istiyorsanız onunla değiştirin

// veritabanı tanımı
#define  MAX_CONNECTIONS 64

5. Projeyi yeniden oluşturun

6. Metatrader veri klasörünüzdeki eski bir DLL'yi yeni derlenmiş ile değiştirin.

Saygılar,

Eugene

 

elugovoy:

Çok net bir şekilde açıkladınız, çünkü indeksim için çok fazla gereksiz veri kullanıyorum, bu yüzden bağlantılar çok büyük oluyor, 32'den fazla olduğunda MT4 "hata" gösterecek ve indeks pencerelerinde hiçbir şey göstermeyecek.

nazi̇k yardiminiz ve bunlari geli̇şti̇rme çabalariniz i̇çi̇n teşekkür ederi̇z!


Merhaba,

Evet, maksimum bağlantı sayısı 32'dir

MQLMySQL.dll tabanlı MQL programınızı aynı anda 32'den fazla grafik üzerinde mi kullanmaya çalışıyorsunuz?

Yoksa programınızdaki bağlantıyı kapatmayı mı unuttunuz?

Maksimum bağlantıyı 32'den diğerine değiştirmek için MQLMySQL.DLL'yi yeniden oluşturmanız gerekir. Kaynaklar makaleye eklenmiştir, yapmanız gerekenler:

1. "MQLMySQL DLL Project MSVS-2010.zip" dosyasından kaynakları açın

2. Projeyi MS Visual Studio 2010 veya daha yüksek bir sürümüne yükleyin

3. "MQLMySQL.h" dosyasını açın

4. dizesini bulun:

'yi bulun ve 32 değerini 64 ile veya ne istiyorsanız onunla değiştirin

5. Projeyi yeniden oluşturun

6. Metatrader veri klasörünüzdeki eski bir DLL'yi yeni derlenmiş ile değiştirin.

Saygılar,

Eugene

 

Öncelikle, kütüphane için teşekkürler, açık ara en iyi çözüm ve en çok belgelenmiş olanı.

Güncellenen kayıtlar 0 ise (güncelleme başarılı olur, sadece "where" filtre koşulları nedeniyle herhangi bir kaydı güncellemez) bir ekleme yapmak için bir güncelleme ifadesinden sonra etkilenen satırları almanın herhangi bir yolu olup olmadığını merak ediyordum.

"insert on duplicate key update" kullanmak istemiyorum çünkü güncelleme deyimi %99,9 oranında etkin bir şekilde 1 kaydı güncelleyecektir (zaten var) ve bu nedenle ekleme işlemini yürütmeye gerek yoktur. Sanırım ihtiyaç olmadan her zaman ekleme yapmaya çalışmanın bir performans etkisi var.

Şimdiden teşekkürler!

 
jmhoms:

Öncelikle, kütüphane için teşekkürler, açık ara en iyi çözüm ve en çok belgelenmiş olanı.

Güncellenen kayıtlar 0 ise (güncelleme başarılı olur, sadece "where" filtre koşulları nedeniyle herhangi bir kaydı güncellemez) bir ekleme yapmak için bir güncelleme ifadesinden sonra etkilenen satırları almanın herhangi bir yolu olup olmadığını merak ediyordum.

"Yinelenen anahtar güncellemesinde insert" kullanmak istemiyorum çünkü güncelleme deyimi %99,9 oranında etkin bir şekilde 1 kaydı güncelleyecektir (zaten var) ve bu nedenle insert'i çalıştırmaya gerek yoktur. Sanırım ihtiyaç olmadan her zaman ekleme yapmaya çalışmanın bir performans etkisi var.

Şimdiden teşekkürler!

Merhaba sevgili dostum,

MSVC 2010'a sahipseniz, MQLMySQL.DLL'nin kaynaklarını indirebilir ve ihtiyacınız olan işlevi ekleyebilirsiniz; MySQL C++ API'sinde böyle bir işlev vardır (http://dev.mysql.com/doc/refman/5.0/en/mysql-affected-rows.html)

Ya da sizin için yapabilirim, ama şu anda bunun için zamanım yok, hafta sonu (7-8 Mart 2015) yapabilirim, sizin için uygun mu?

Saygılar,

Eugene

 
elugovoy:

Merhaba sevgili dostum,

MSVC 2010'a sahipseniz, MQLMySQL.DLL'nin kaynaklarını indirebilir ve ihtiyacınız olan işlevi ekleyebilirsiniz; MySQL C++ API'sinde böyle bir işlev vardır(http://dev.mysql.com/doc/refman/5.0/en/mysql-affected-rows.html)

Ya da sizin için yapabilirim, ama şu anda bunun için zamanım yok, hafta sonu (7-8 Mart 2015) yapabilirim, sizin için uygun mu?

Saygılar,

Eugene

Tabii ki benim için çalışıyor !!!

Çok teşekkür ederim.

Josep M.

 

Merhaba Eugeniy,

"etkilenen satırlar" özelliğine göz atma şansınız oldu mu?

Selamlar,

Josep M.

 
jmhoms:

Merhaba Eugeniy,

"etkilenen satırlar" özelliğine göz atma şansınız oldu mu?

Selamlar,

Josep M.

Merhaba Josep,

Özel mesajla cevap verdim.

Her neyse, buraya v2.2'yi gönderiyorum. MT4 üzerinde test edildi. MT5 (x32/x64) ile ilgili sorunlarınız varsa bana bildirin.

Mutlu çalışmalar!

Dosyalar:
MQL4_x32.zip  1073 kb
MQL5_x32.zip  1073 kb
MQL5_x64.zip  1076 kb
MQLMySQL_v2_2.zip  5072 kb
 
elugovoy:
x64 platformları için aşağıdaki kütüphaneyi kullanın (tartışmayla birlikte)
Erişim ihlali 0x72656472'ye okundu
 

Merhaba, hangi MT5 terminal sürümünü kullanıyorsunuz?

MT5 terminalinin hangi sürümünü kullanıyorsunuz?

lütfen buraya eklenmiş olan MQLMySQL kütüphanelerinin en son güncellemesini deneyin.

Dosyalar:
MQL4_x32.zip  1073 kb
MQL5_x32.zip  1073 kb
MQL5_x64.zip  1076 kb
MQLMySQL_v2_2.zip  5072 kb