Не удается подключиться к базе данных MySQL из Monodevelop в Linux Mint - PullRequest
0 голосов
/ 09 мая 2020

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

Unhandled Exception:
System.Data.SqlClient.SqlException (0x80131904): Snix_Connect (provider: SNI_PN7, error: 40 - SNI_ERROR_40)
Snix_Connect (provider: SNI_PN7, error: 40 - SNI_ERROR_40)
  at System.Data.SqlClient.SqlInternalConnectionTds..ctor (System.Data.ProviderBase.DbConnectionPoolIdentity identity, System.Data.SqlClient.SqlConnectionString connectionOptions, System.Data.SqlClient.SqlCredential credential, System.Object providerInfo, System.String newPassword, System.Security.SecureString newSecurePassword, System.Boolean redirectedUserInstance, System.Data.SqlClient.SqlConnectionString userConnectionOptions, System.Data.SqlClient.SessionData reconnectSessionData, System.Boolean applyTransientFaultHandling, System.String accessToken) [0x0018b] in <2ebdad619de74d1389f27154469c7cb1>:0 
  at System.Data.SqlClient.SqlConnectionFactory.CreateConnection (System.Data.Common.DbConnectionOptions options, System.Data.Common.DbConnectionPoolKey poolKey, System.Object poolGroupProviderInfo, System.Data.ProviderBase.DbConnectionPool pool, System.Data.Common.DbConnection owningConnection, System.Data.Common.DbConnectionOptions userOptions) [0x00159] in <2ebdad619de74d1389f27154469c7cb1>:0 

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

I пытался использовать 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) { 

}

1 Ответ

0 голосов
/ 10 мая 2020

Моя проблема заключалась в том, что я пытался использовать 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"
...