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

 

Merhaba, bu belgeyi ilgiyle okudum.

Size bir soru sorabilir miyim?

MySQL ile bağlantıyı nasıl onaylayacağımı bilmek istiyorum.

Lütfen bana bağlantıyı nasıl onaylayacağımı öğretin.


Orijinal japonca hakkında: Ve Pazartesi günü, piyasa başladığında, projede bir hata bulundu. Bu nedenle, sunucu yapılandırmasında belirtilen zaman aşımından daha küçük aralıklarla bağlantıyı onaylamanızı ve/veya veritabanına yeniden bağlanmanızı şiddetle tavsiye ederiz.

Bu şu anlama gelir: o zamandan sonra, Pazartesi günü projenizde bir hata bulacaksınız. Bu nedenle, bağlantının canlı veya ölü olduğunu bir seferde onaylamanızı tavsiye ederim zaman aşımı sunucu ayarlarından daha kısa aralık.


Teşekkür ederim.

 

Merhaba,...

Şu an için kodu aşağıdaki gibi yazdım. 1.

Bağlantıyı onayladığında zaman kaydı olan bir tablo oluşturun. 2. Bağlantıyı onayladığında zaman kaydı olan bir tablo oluşturun.

Bağlantıyı onayladığınızda zaman kaydı olan bir tablo oluşturun.

UpSert başarısız olursa, MySQL ile yeniden senkronize etmeyi deneyin.

Lütfen bana bağlantıyı onaylamak için bazı yöntemler olup olmadığını söyleyin.

Lütfen bağlantıyı onaylamak için bazı yöntemler olup olmadığını söyleyin.

//+------------------------------------------------------------------+
//| MySQL bağlantısını kontrol edin ve yeniden bağlayın &nbsp ; & nbsp; |
//+------------------------------------------------------------------+
bool DBAccess::resync(void)
{
    string  qry = "";

    string  update_time = (string)TimeCurrent();

    qry += "INSERT INTO `" + sync_table + "` (id, update_time) ";
    qry += "VALUES (\'sync\', \'" + update_time + "\') ";
    qry += "ON DUPLICATE KEY UPDATE update_time = \'" + update_time + "\';";
    
    if (MySqlExecute(DBID, qry))    { return true; }
    
    echo("[Try] Database has been disconnected. EA will try resynchronization.");

    bool    sync        = syncDB();
    
    if(!sync)   { return false; }

    return true;
}
for the time beingの意味・使い方 - 英和辞典 Weblio辞書
  • ejje.weblio.jp
for the time beingの意味や使い方 当分の間, さしあたり, 目下. - 約1037万語ある英和辞典・和英辞典。発音・イディオムも分かる英語辞書。
 
Burada MQL5'ten MS SQL'e bir sarmalayıcı yazabilecek ve ayrıca VOLTDB için bir sarmalayıcı ile ilgilenen biri var mı?
 

Sormak istiyorum, veritabanı işleminin bağlantısını kesmedim, ancak veritabanı verileri normal verilere zaman içinde bağlamaya yeni başlıyor, doğrudan veritabanı bilgilerini okuyor, ancak herhangi bir hata mesajı yok

MT4 kullanıyorum

Dosyalar:
20180412.log  2067 kb
 
cikahun:

Merhaba Alain,

Çok teşekkürler! Neyin yanlış olduğunu anlayabildim.

Benim durumumda komisyoncu bana £ işaretli para birimi sembolü veriyor. Onu sildim ve çalışıyor.

Tekrar teşekkürler.

Ayrıca, aracım sembolleri (£) ile sonlandırdığı için bu hatayla da karşılaşıyorum. Bunun neden bir soruna neden olduğunu ve çözümünün ne olduğunu bilen var mı? SQL dizesi MYSQL Workbench'e girildiğinde sorunsuz çalışıyor ancak sorguyu bu kütüphane aracılığıyla çalıştırırken "Sorgu boştu" mesajını alıyorum.
 
Eugeniy Lugovoy:

Bu makaleyi okuyarak zaman ayırdığınız için teşekkürler. Ayrıca(https://www.mql5.com/tr/code/11114) adresinizi de kontrol ettim, böyle bir çözümü uzun zaman önce buldum (MT4 yapı 600'den önce) ve MQL ve MySQL dostu yapma fikrini beğendim. Ancak kullanmak istemediğim tek şey, verileri veritabanından almak için diziler. Bu yüzden bu çözümü MT4 ve MT5 ile kullanmak için oluşturdum.

Ayrıca, x64 tabanlı projeyi makaleye eklemeyi unuttum, bu yüzden tartışmada buradan indirebilirsiniz. Kaynaklarda hiçbir şey değiştirilmedi, sadece DLL x64 için yeniden derlendi.

İyi şanslar,

Eugene

merhaba Eugeniy Lugovoy, makaleniz için teşekkürler, x32 tabanlı projemde (mql5 ile 64bit windows) kullandım ve bu hatayı aldım:

2018.06.04 17:58:52.879 MySQL-001 (XAUUSD,H1) Cannot load '..\libraries\MQLMySQL.dll' [126]

ve şimdi bu foruma yüklediğiniz x64 tabanlı projenizi kullanmaya çalışıyorum ama hala yukarıdaki hatayı alıyorum.

Komut dosyalarından birini 2 şekilde çalıştırmayı denedim,

Önce dll dosyalarını şu adrese koydum: ...\MQL5\Libraries

ikinci olarak onları şu adrese koydum: C:\Windows\SysWOW64

ama ikisi de işe yaramadı.

 

MerhabaEugeniy Lugovoy


Aşağıdaki hatayı alıyorum, ne olduğundan emin değilim!


Hatalar MQLMySQL.mqh dosyasında meydana gelir

'StrToInteger' - işlev tanımlanmamış MQLMySQL.mqh 224 10


'StrToDouble' - işlev tanımlanmamış MQLMySQL.mqh 229 10

aşağıdaki kod satırlarında:



int MySqlGetFieldAsInt(int pCursorID, int pField)

{

return (StrToInteger(MySqlGetRowField(pCursorID, pField)));

}


double MySqlGetFieldAsDouble(int pCursorID, int pField)

{

return (StrToDouble(MySqlGetRowField(pCursorID, pField)));

}


Saygılarımla,



 
MetaQuotes Software Corp.:

Yeni makale MQL5'ten (MQL4) MySQL Veritabanına Nasıl Erişilir yayınlandı:

Yazar Eugeniy Lugovoy

Merhaba Eugeniy Lugovoy,

Öncelikle, bu projeyi yapmak için zaman ayırdığınız için teşekkür ederim.

Haftalardır bir ticaret hesabındaki tüm açık / kapalı işlemlerin mümkünse gerçek zamanlı olarak bir MySQL tablosuna nasıl aktarılacağını / güncelleneceğini arıyordum. kütüphanenizi kullanarak bunu yapmanın bir yolu var mı?

Şimdiden çok teşekkürler.

Dragos

 

win2008 veya win10 X64

Çalıştırma Günlüğü


2018.09.15 20:10:26.742 MySQL-001 (EURUSD,H1) 'C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\ yüklenemiyor 67381DD86A2959850232C0BA725E5966\MQL5\libraries\MQLMySQL.dll' [193]

2018.09.15 20:10:26.742 MySQL-001 (EURUSD,H1) 'ReadIni' çağrısı yapılamıyor, '... \libraries\MQLMySQL.dll' yüklenmemiş

2018.09.15 20:10:26.742 MySQL-001 (EURUSD,H1) çözümlenmemiş içe aktarma işlevi çağrısı



Biri Yardım Etsin

 
Eugeniy Lugovoy:
x64 platformları için aşağıdaki kütüphaneleri kullanın (tartışmayla birlikte)

win2018R2 veya win10 X86


2018.09.15 20:10:26.742 MySQL-001 (EURUSD,H1) 'C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\ yüklenemiyor 67381DD86A2959850232C0BA725E5966\MQL5\libraries\MQLMySQL.dll' [193]
2018.09.15 20:10:26.742 MySQL-001 (EURUSD,H1) 'ReadIni' çağrısı yapılamıyor, '... \libraries\MQLMySQL.dll' yüklenmemiş
2018.09.15 20:10:26.742 MySQL-001 (EURUSD,H1) çözümlenmemiş içe aktarma işlevi çağrısı


????