2017-09-07 41 views
0

我不太了解DB的驱动程序。asp.net core 2 MySQL驱动程序3.51需要ODBC吗?

首先,我试图使用PHP DB正常使用“的MySQL”的方法来连接,但我收到错误的DB用户更新密码,因为它是旧版本的MySQL。但我不能改变它或升级MySQL,所以我发现在PHP中我可以使用PDO和ODBC来使用MySQL驱动程序3.51,它的工作原理。

现在我想后端改写为asp.net核心2.如果我发现有任何ODBC。我如何连接到数据库?我可以使用MySQL.DATA吗?如果是,我该如何提供驱动程序?

回答

1

不幸的是,我最后一次检查MySQL.Data没有任何稳定的(非预发布)版本.NET的核心连接到MySQL。然而,他们的预发布版本工作得很好。我用它与许多应用程序并没有面临任何错误。有4种方法来安装预发布。你可以选择任何一个:

  1. 在visual studio nuget manager中,选中Include prerelease复选框,然后将MySQL.Data更新为最新版本。
  2. 在你的包管理器控制台在Visual Studio中,输入以下代码安装最新抢鲜

Install-Package MySql.Data -Version 8.0.8-dmr

  • 在命令提示符窗口,cd到你的项目的位置并使用以下代码为最新的预发布
  • dotnet add package MySql.Data --version 8.0.8-dmr

  • 手动从这里下载您喜欢的版本:https://www.nuget.org/packages/MySql.Data/
  • 由于进行连接的,我使用以下格式的连接字符串。

    Server=;Uid=;Database=;password=;SslMode=none

    +0

    谢谢,帮助:)没有即时得到同样的错误,就像在PHP之前我用ODBC - “MySql.Data.MySqlClient.MySqlException(0X80004005):与旧的密码不再支持的身份验证,使用4.1风格密码“。所以我知道我在解决它的好方法。也许你知道如何解决它?当然,正如我提到的那样,我不能更改密码。这将是简单的:P – skicek

    +0

    以及根据这个链接https://forums.mysql.com/read.php?38,593423,593431#msg-593431停产让旧密码格式的新版本。正如我所说.net核心只支持新版本的mysql.data 如果有帮助,你可以查看链接内的链接。 如果你不能以任何方式改变的分贝,你唯一的选择就是使用正确的格式 –

    +0

    酵母密码,我看到了。呃所以唯一的办法将是迫使从DB侧这一变化......我不知道,如果公司将同意为该但我们会看到:)谢谢内维尔Nazerane求助 – skicek

    相关问题