MySql.Data.MySqlClient.MySqlException使用ServiceStack ORMLite

我正在与ServiceStack合作,对MySql的ORMLite提供程序进行评估,以用于.NET Core 1.1项目。 我遇到一个奇怪的问题,我不知道是什么问题,并寻找一些指导如何解决这个进一步或可能的修复。

我在一个标准的docker容器中运行.Net核心应用程序,在标准的MySql容器中运行MySql。 我已经能够成功运行MySQL并连接到工作台工具。

我不能做的是获取Web应用程序的执行代码,以成功连接到MySQL容器。 我曾尝试过各种组合。 那些IP地址或主机名是错误的我收到一个有意义的错误,说主机是未知的。

但是,在使用适合于MySQL容器的服务器名称或IP地址值的情况下,我收到一个通用的MySQLException错误。 用户名和密码是正确的。 我甚至使用root帐户来确保没有任何潜在的安全隐患。

这里是我尝试连接的地方的代码片段。 这个设置使用本地SQL数据库文件运行良好,只是我缺lessDocker或MySQL的configuration,我还没有能够隔离。

const string connectionString = "Server=3400f112c973:3306;Database=ServiceDB;Uid=root;Pwd=my-secret-pw;"; container.Register<IDbConnectionFactory>( new OrmLiteConnectionFactory(connectionString, MySqlDialect.Provider )); using (var db = container.Resolve<IDbConnectionFactory>().Open()) { if (db.CreateTableIfNotExists<TypeExample>()) { //Add seed data } } 

我已经想出了我的情况。

在MySQL连接string中,如果使用的是非标准端口,则需要使用端口参数来指定不同的端口,如果使用标准端口,则需要完全省略端口。

我的问题是我总是使用“服务器= servername端口 ;” 这是一个不正确的格式,应该是“Server = servername ; Port = port ;” 在我使用非标准端口号的情况下,否则Port =可以省略。