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

 
e-posta adresim: 178255721@qq.com
 
 
1982EAcsc :

Merhaba, görünüşe göre MySQL localhost üzerinde ODBC kullanıcısı için bağlantıyı reddediyor.

StackOverflow'u kontrol etmeyi deneyebilirsiniz: http://stackoverflow.com/questions/23950722/how-to-overcome-error-1045-28000-access-denied-for-user- odbclocalhost-u ;

how to overcome ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO) permanently
how to overcome ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO) permanently
  • stackoverflow.com
when am trying to open mysql in windows cmd by typing mysql. the following error is occuring. And then by looking similar queries i somehow got a temporary solution by using and then typing the password, is working...
 

Merhaba Eugeniy Lugovoy.

Ortak sorgu, ekleme, güncelleme, silme işlemlerini uygulamak için MQLMySQL kullandım, ancak bir sorun var, Çince ekleyemiyorum, Çince dışındaki sorgu da bozuk, sormak istiyorum, ara yazılım paketleme işlemi kodlamayı ayarladınız mı? Sormak istiyorum, ara yazılım paketleme süreci kodu ayarladı mı? Olay aşağıdaki gibidir:

DROP TABLE IF EXISTS `tb_test_pat`;

CREATE TABLE `tb_test_pat` (

id` int(10) unsigned NOT NULL AUTO_INCREMENT, `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `symbol` varchitecture

`symbol` varchar(255) NOT NULL, `start_time` datetime, `tb_test_pat`; CREATE TABLE

`start_time` datetime NOT NULL,

end_time` datetime NOT NULL, `trend` int(255)

`trend` int(10) NOT NULL, `noktalar` int(10)

`points` int(10) unsigned zerofill NOT NULL, `comments` text CHARacteristic

yorumlar` metin KARAKTER SETİ utf8,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Çince eklenemedi

Hata: Sorgu boştu sorgu: INSERT INTO tb_test_pat (trend, sembol, başlangıç_saati, bitiş_saati, puanlar, yorumlar) VALUES (1,' EURUSD ','2014.12.16 13:00 ','2014.12.17 20:00',8,'Test 12')

İngilizce Ekleme Başarılı Oldu

Başarılı: INSERT INTO tb_test_pat (trend, sembol, başlangıç_saati, bitiş_saati, puanlar, yorumlar) VALUES (1,'EURUSD','2014.12.16 13:00','2014.12.17 20 :00',8,'abc')


Bu ne için?

 
Jiayou Hu:

Merhaba Eugeniy Lugovoy.

Ortak sorgu, ekleme, güncelleme, silme işlemlerini uygulamak için MQLMySQL kullandım, ancak bir sorun var, Çince ekleyemiyorum, Çince dışındaki sorgu da bozuk, sormak istiyorum, ara yazılım paketleme işlemi kodlamayı ayarladınız mı? Sormak istiyorum, ara yazılım paketleme süreci kodu ayarladı mı? Olay aşağıdaki gibidir:

DROP TABLE IF EXISTS `tb_test_pat`;

CREATE TABLE `tb_test_pat` (

id` int(10) unsigned NOT NULL AUTO_INCREMENT, `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `symbol` varchitecture

`symbol` varchar(255) NOT NULL, `start_time` datetime, `tb_test_pat`; CREATE TABLE

`start_time` datetime NOT NULL,

end_time` datetime NOT NULL, `trend` int(255)

`trend` int(10) NOT NULL, `noktalar` int(10)

`points` int(10) unsigned zerofill NOT NULL, `comments` text CHARacteristic

yorumlar` metin KARAKTER SETİ utf8,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Çince eklenemedi

Hata: Sorgu boştu sorgu: INSERT INTO tb_test_pat (trend, sembol, başlangıç_saati, bitiş_saati, puanlar, yorumlar) VALUES (1,'EURUSD','2014.12.16 13:00 ','2014.12.17 20:00',8,'Test 12')

İngilizce Ekleme Başarılı Oldu

Başarılı: INSERT INTO tb_test_pat (trend, sembol, başlangıç_saati, bitiş_saati, puanlar, yorumlar) VALUES (1,'EURUSD','2014.12.16 13:00','2014.12.17 20 :00',8,'abc')


Bu ne için?

MySQL'e bağlandıktan sonra bir sonraki komutu çalıştırmayı deneyebilirsiniz.

character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8' olarak ayarlayın, character_set_server = 'utf8'

Bu tür ayarlardan bazıları UTF olarak ayarlanmamış olabilir.

 

Bağlantıdan sonra sonraki komutları tek tek çalıştırmak için başka bir çözüm.

İSİMLERİ 'utf8' OLARAK AYARLA

CHARACTER SET 'utf8' olarak ayarlayın

SET SESSION collation_connection = 'utf8_general_ci'

 
Eugeniy Lugovoy:

Bağlantıdan sonra sonraki komutları tek tek çalıştırmak için başka bir çözüm.

İSİMLERİ 'utf8' OLARAK AYARLA

CHARACTER SET 'utf8' olarak ayarlayın

SET SESSION collation_connection = 'utf8_general_ci'

Hala çalışmıyor, ama sorunu buldum

bool __stdcall MySqlExecute( int pConnection, wchar_t* pQuery)

{

...

char Sorgu[16384];

sprintf_s(Sorgu, wcslen(pSorgu)+10, "%S", pSorgu); // Bu satıra kadar çalıştırıldığında Çince ile karşılaşılır ve Sorgu boş bir dizeye dönüşerek bir hata mesajına neden olur: Hata: Sorgu boştu sorgu: UPDATE tb_test_pat SET comments_test_pat SET comments_test_pat SET comments_test_pat SET comments_test_pat SET comments_test_pat test_pat SET comments='Chinese'

Bu sorunu çözmek için yardımcı olabilir misiniz? Çok teşekkür ederim! Ben 64 bit kullanıyorum

 
Jiayou Hu:

Hala çalışmıyor, ama sorunu buldum

bool __stdcall MySqlExecute( int pConnection, wchar_t* pQuery)

{

...

char Sorgu[16384];

sprintf_s(Sorgu, wcslen(pSorgu)+10, "%S", pSorgu); // Bu satıra kadar yürütüldüğünde Çince ile karşılaşıldı ve Sorgu boş bir dize haline geldi ve bir hata mesajıyla sonuçlandı: Hata: Sorgu boştu sorgu: UPDATE tb_test_pat SET comments='Chinese'. test_pat SET comments='Chinese'

Bu sorunu çözmek için yardımcı olabilir misiniz? Çok teşekkür ederim! Ben 64 bit kullanıyorum

Evet, "sprintf_s" ve "sprintf's" Çince'yi desteklemiyor. Bu sorunu çözmek için size yardımcı olmaya çalışacağım
 
Ayrıca UTF-8 bu durumda kullanılamaz, yalnızca UTF-16 kullanılabilir
 
Eugeniy Lugovoy:
Ayrıca UTF-8 bu durumda kullanılamaz, sadece UTF-16 kullanılabilir!
Bu ne anlama geliyor? Veritabanı kodlamasını UTF-16 ile ayarlamak anlamına mı geliyor? Yoksa Çince dizgiyi UTF-16'ya dönüştürmek anlamına mı geliyor?