gpt4 book ai didi

MySql.Data.MySqlClient.MySqlException 使用 ServiceStack ORMLite

转载 作者:行者123 更新时间:2023-11-29 02:13:54 26 4
gpt4 key购买 nike

我正在与 ServiceStack 一起评估 ORMLite 提供程序和 MySql,以便在 .NET Core 1.1 项目中使用。我遇到了一个奇怪的问题,我不确定问题出在哪里,正在寻找有关如何进一步解决此问题或可能的修复方法的指导。

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

我不能做的是让 Web 应用程序的执行代码成功连接到 MySQL 容器。我尝试过各种组合。如果 IP 地址或主机名错误,我会收到一条有意义的错误消息,指出主机未知。

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

这是我尝试连接的代码片段。此设置使用本地 SQL 数据库文件运行良好,只是我缺少一些我无法隔离的 Docker 或 MySQL 配置。

    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 连接字符串中,如果使用非标准端口,则需要使用端口参数指定不同的端口,如果使用标准端口,则完全省略端口。

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

关于MySql.Data.MySqlClient.MySqlException 使用 ServiceStack ORMLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44128225/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com