文章 "如何从 MQL5 (MQL4) 访问 MySQL 数据库" - 页 28

 
有可能获取列名吗?
 

它无法在 MT5 上运行。需要不同的 dll 吗?我看到存档中 MT4 和 MT5 的大小是一样的。

 
Dmitri Custurov #:

它无法在 MT5 上运行。需要不同的 dll 吗?我看到存档中 MT4 和 MT5 的大小是一样的。

使用 64 位 DLL
 

@Eugeniy Lugovoy

我不太懂数据库插件。

Connection failed! Error: Authentication plugin 'caching_sha2_password' cannot be loaded: Не найден указанный модуль.

MT4, MySQL 8.0.32 (localhost)

怎么办?

Eugeniy Lugovoy
Eugeniy Lugovoy
  • 2019.12.30
  • www.mql5.com
Профиль трейдера
 
Viktor Vasilyuk #:

@Eugeniy Lugovoy

我不明白他想要什么? 我对 DB 插件不在行

MT4,MySQL 8.0.32(本地主机)

怎么办?

此错误由 MySQL 生成,解决方案请参见https://stackoverflow.com/questions/49194719/authentication-plugin-caching-sha2-password-cannot-be-loaded
 
Eugeniy Lugovoy #:
此错误由 MySQL 生成,解决方案请参见 https://stackoverflow.com/questions/49194719/authentication-plugin-caching-sha2-password-cannot-be-loaded。
谢谢。建议有效。
 
Eugeniy Lugovoy #:

3.0 版支持 UTF-8

我得到的是问号而不是西里尔字符。

部分 DDL 表:

ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

列类型 -> 文本(非 varchar)

MT4 dll:

MQLMySQL v3.0 x32 Copyright © 2014-2019, FxCodex Laboratory
 
Viktor Vasilyuk #:

返回的是问号,而不是西里尔字母。

部分 DDL 表:

列类型 -> 文本(非 varchar)

MT4 dll:

UTF8使用两个字节,可以说是经典,而您在定义表格时使用的是四个字节。这很可能就是问题所在。MySQL 驱动程序级别的文本类型与 varchar 没有区别。
 
Viktor Vasilyuk #:

返回的是问号,而不是西里尔字母。

部分 DDL 表:

列类型 -> 文本(非 varchar)

MT4 dll:

但有机会我会检查一下
 
Eugeniy Lugovoy #:
UTF8 使用两个字节,可以说是经典,而在定义表格时使用的是四个字节。这很可能就是问题所在。MySQL 驱动程序级别的文本类型与 varchar 没有区别。

谢谢你的解释。我不可能什么都知道,这就是我问这个问题的原因。

在这里 找到了自己的解决方案。

附:检查了 SELECT - 它工作了

Convert output of MySQL query to utf8
Convert output of MySQL query to utf8
  • 2013.04.17
  • orezvani orezvani 3,515 8 8 gold badges 43 43 silver badges 55 55 bronze badges
  • stackoverflow.com
but I want the mysql to return the in utf8 encoding. Is it any function in mysql to do such task? What is that?