Не удается подключиться к базе данных MySQL из Monodevelop в Linux Mint

Я не могу подключиться к базе данных MySQL из C #. При попытке запустить исполняемый файл он выдает эту ошибку (это ее начало):

Необработанное исключение: System.Data.SqlClient.SqlException (0x80131904): Snix_Connect (провайдер: SNI_PN7, ошибка: 40 — SNI_ERROR_40) Snix_Connect (провайдер: SNI_PN7, ошибка: 40 — SNI_ERROR_40) в System.DataIndsqlClient.SqlClient.SqlClient. System.Data.ProviderBase.DbConnectionPoolIdentity identity, System.Data.SqlClient.SqlConnectionString connectionOptions, System.Data.SqlClient.SqlCredential credential, System.Object providerInfo, System.String newPassword, System.Security.SecureInserString newSecurePassword .Data.SqlClient.SqlConnectionString userConnectionOptions, System.Data.SqlClient.SessionData reconnectSessionData, System.Boolean applyTransientFaultHandling, System.String accessToken) [0x0018b] в ‹2ebdad619de74d1389f27154469c7ebdad619de74d1389f27154469c7cSystemFreeConnection.SystemFreeClient.Secdataq7c Параметры .Common.DbConnectionOptions, System.Data.Common.DbConnectionPoolKey poolKey, System.Object poolGroupProviderInfo, Syste m.Data.ProviderBase.DbConnectionPool pool, System.Data.Common.DbConnection owningConnection, System.Data.Common.DbConnectionOptions userOptions) [0x00159] в ‹2ebdad619de74d1389f27154469c7cb1›: 0

Я могу нормально подключиться к базе данных из MySQL Workbench.

Я пробовал использовать Connector / Net но безрезультатно.

Это код:

dbCon = new SqlConnection(
    "Data Source=192.168.0.104, 3306; " +
    "Initial Catalog=Mundus; " + // Mundus is the database that I am trying to connect to
    "User ID=root;" + 
    "Password=[password that I use];"
);

dbCon.Open(); // from here it breaks
using(dbCon) { 
            
}

System.Data.SqlClient предназначен для Microsoft SQL Server, а не для MySQL. Что за ошибка при переходе на Connector / Net?   —  person Syndamia    schedule 09.05.2020

@LexLi Большое спасибо, я идиот. Я не понимал, что System.Data.SqlClient предназначен для Microsoft SQL, а не для MySQL. Я обновлю пост с решением. Моя проблема с Connector / Net в том, что я получил кучу ошибок ссылок на сборку csharp Program.cs(1,7): error CS0246: The type or namespace name `Gtk' could not be found. Are you missing an assembly reference? Program.cs(2,14): error CS0234: The type or namespace name `Data' does not exist in the namespace `Mundus'. Are you missing an assembly reference?   —  person Syndamia    schedule 10.05.2020

Когда вы найдете решение, опубликуйте его как ответ и примите его. По другим вопросам открывайте новые вопросы.   —  person Syndamia    schedule 10.05.2020

См. также:  Используйте препроцессор gcc, чтобы определить имя файла для #include
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. Syndamia

    Моя проблема заключалась в том, что я пытался использовать System.Data.SqlClient для подключения к базе данных MySQL (это для баз данных Microsoft SQL).

    Следуя этому комментарию StackOverflow, я использовал MySql.Data.MySqlClient для подключения. У меня сработал такой формат строки подключения:

    "server=localhost;" +
    "port=3306;" +
    "user id=root; " +
    "password=[my password]; " +
    "database=[the database I want to connect to]; " +
    "SslMode=none"
    
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: