2017-09-07 42 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

    相關問題