Diskussion zum Artikel "Wie man auf die MySQL-Datenbank von MQL5 (MQL4) aus zugreift" - Seite 10

 
meine E-Mail: 178255721@qq.com
 
 
1982EAcsc :

Hallo, es sieht so aus, dass MySQL die Verbindung für den Benutzer ODBC auf localhost verweigert.

Sie können versuchen, StackOverflow zu überprüfen: 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...
 

Hallo Eugeniy Lugovoy.

Ich habe MQLMySQL verwendet, um die gemeinsame Abfrage zu implementieren, einfügen, aktualisieren, löschen Operationen, aber es gibt ein Problem, kann nicht einfügen Chinesisch, Abfrage aus dem chinesischen ist auch verstümmelt, möchte ich fragen, Sie Middleware-Paketierung Prozess haben die Codierung gesetzt? Ich möchte fragen, Sie Middleware-Paketierung Prozess hat den Code festgelegt? Das Phänomen ist wie folgt:

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, `Punkte` int(10)

Punkte` int(10) unsigned zerofill NOT NULL, `Kommentare` text CHARACTER

`Kommentare` text CHARACTER SET utf8,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Einfügen von Chinesisch fehlgeschlagen

Fehler: Abfrage war leer Abfrage: INSERT INTO tb_test_pat (trend, symbol, start_time, end_time, points, comments) VALUES (1, 'EURUSD ','2014.12.16 13:00 ','2014.12.17 20:00',8,'Test 12')

Englische Einfügung Erfolgreich

Succeeded: INSERT INTO tb_test_pat (trend, symbol, start_time, end_time, points, comments) VALUES (1,'EURUSD','2014.12.16 13:00','2014.12.17 20 :00',8,'abc')


Wozu ist das gut?

 
Jiayou Hu:

Hallo Eugeniy Lugovoy.

Ich habe MQLMySQL verwendet, um die gemeinsame Abfrage zu implementieren, einfügen, aktualisieren, löschen Operationen, aber es gibt ein Problem, kann nicht einfügen Chinesisch, Abfrage aus dem chinesischen ist auch verstümmelt, möchte ich fragen, Sie Middleware-Paketierung Prozess haben die Codierung gesetzt? Ich möchte fragen, Sie Middleware-Paketierung Prozess hat den Code festgelegt? Das Phänomen ist wie folgt:

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, `Punkte` int(10)

Punkte` int(10) unsigned zerofill NOT NULL, `Kommentare` text CHARACTER

`Kommentare` text CHARACTER SET utf8,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Einfügen von Chinesisch fehlgeschlagen

Fehler: Abfrage war leer Abfrage: INSERT INTO tb_test_pat (trend, symbol, start_time, end_time, points, comments) VALUES (1,'EURUSD','2014.12.16 13:00 ','2014.12.17 20:00',8,'Test 12')

Englische Einfügung Erfolgreich

Succeeded: INSERT INTO tb_test_pat (trend, symbol, start_time, end_time, points, comments) VALUES (1,'EURUSD','2014.12.16 13:00','2014.12.17 20 :00',8,'abc')


Wozu ist das gut?

Sie können versuchen, den nächsten Befehl nach der MySQL-Verbindung auszuführen.

SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', zeichen_set_server = 'utf8'

Möglicherweise sind einige dieser Einstellungen nicht auf UTF eingestellt.

 

Eine andere Lösung ist, die nächsten Befehle nach der Verbindung einzeln auszuführen.

SET NAMES 'utf8'

SET CHARACTER SET 'utf8'

SET SESSION collation_connection = 'utf8_general_ci'

 
Eugeniy Lugovoy:

Eine andere Lösung ist, die nächsten Befehle nach der Verbindung einzeln auszuführen.

SET NAMES 'utf8'

SET CHARACTER SET 'utf8'

SET SESSION collation_connection = 'utf8_general_ci'

Es funktioniert immer noch nicht, aber ich habe das Problem gefunden

bool __stdcall MySqlExecute( int pConnection, wchar_t* pQuery)

{

...

char Query[16384];

sprintf_s(Query, wcslen(pQuery)+10, "%S", pQuery); // Bei der Ausführung bis zu dieser Zeile wird Chinesisch angetroffen, und Query wird zu einem leeren String, was zu einer Fehlermeldung führt: Error: Query was empty query: UPDATE tb_test_pat SET comments_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='Chinesisch'

Können Sie mir helfen, dieses Problem zu beheben? Ich danke Ihnen sehr! Ich bin 64 Bit

 
Jiayou Hu:

Es klappt immer noch nicht, aber ich habe das Problem gefunden

bool __stdcall MySqlExecute( int pConnection, wchar_t* pQuery)

{

...

char Abfrage[16384];

sprintf_s(Query, wcslen(pQuery)+10, "%S", pQuery); // Bei der Ausführung dieser Zeile wurde Chinesisch angetroffen, und Query wurde zu einem leeren String, was zu einer Fehlermeldung führte: Error: Query was empty query: UPDATE tb_test_pat SET comments='Chinese'. test_pat SET kommentare='Chinesisch'

Können Sie helfen, dieses Problem zu beheben? Ich danke Ihnen sehr! Ich bin 64 bit

Ja, "sprintf_s" und "sprintf's" unterstützen kein Chinesisch. Ich werde versuchen, Ihnen zu helfen, dieses Problem zu beheben
 
Auch UTF-8 kann in diesem Fall nicht verwendet werden, sondern nur UTF-16
 
Eugeniy Lugovoy:
Auch UTF-8 kann in diesem Fall nicht verwendet werden, sondern nur UTF-16!
Was soll das bedeuten? Bedeutet es, dass die Datenbank mit UTF-16 kodiert werden soll? Oder bedeutet es, die chinesische Zeichenfolge in UTF-16 zu konvertieren?