Не связано с доверенным соединением с SQL Server (MySQL) - PullRequest
0 голосов
/ 24 июня 2011

У меня проблемы с подключением к базе данных MySQL Server, и я получаю следующую ошибку:

Сообщение об ошибке

Ошибка входа пользователя root.Причина: не связан с доверенным соединением SQL Server.

Это код, в котором произошла ошибка:

        public bool IsValid(string username, string password)
        {

        using (var con = new SqlConnection("Server=localhost;Database = timekeeping; Uid = root; Pwd = admin;"))
        using (var cmd = con.CreateCommand())    
        {
            con.Open();
            cmd.CommandText = "SELECT count(*) FROM receptionist WHERE username = @username AND password = @password;";
            cmd.Parameters.AddWithValue("@username", username);
            cmd.Parameters.AddWithValue("@password", password);
            var count = (long)cmd.ExecuteScalar();
            return count > 0;
        }
        }

Снимок экрана:

enter image description here

Это мой конфигурационный файл:

 <?xml version="1.0" encoding="utf-8" ?>
 <configuration>
 <appSettings>
 <add key="ODBCDriver" value="Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=timekeeping;uid=root;pwd=admin;Option=3;"/>
 </appSettings>
 <connectionStrings>
 <add name="connStr" connectionString="Database=timekeeping;uid=root;pwd=admin;Option=3;" />
 </connectionStrings>
 </configuration>

Ответы [ 2 ]

2 голосов
/ 24 июня 2011

Используете ли вы MySQL ?В сообщении об ошибке четко указано, что оно не связано с надежным соединением SQL Server . Я также вижу, что вы используете SqlConnection (что подразумевается в SqlCommand, SqlDataAdapter, SqlDataReader и т. Д.), Которыепроисходит из пространства имен System.Data.SqlClient, которое является специфическим для SQL Server: http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.aspx ( Представляет открытое соединение с базой данных SQL Server. ).

Для подключенияк вашей базе данных MySQL из .NET вы можете использовать ODBC (возможны другие варианты) или, если вы хотите придерживаться ADO.NET, вы можете использовать MySQL Connector .

Думаю, это должно решить это за вас.Если я не ошибаюсь, пространство имен будет MySql.Data.MySqlClient, а классы будут называться MySqlConnection и так далее.Не уверен насчет реальных префиксов, пространств имен или именования - на данный момент на Mac.Нет. NET здесь: -D

1 голос
/ 24 июня 2011

Во-первых, вы никогда не должны запрашивать какую-либо базу данных из кода как «root» (если только ее код не выполняет задачи администратора; в данном случае это не так)

Вы уверены, что пароль «root»такое «админ»?(трудно предположить, что это!)

Попробуйте использовать логин, который вы успешно подключили к своей БД.т.е. учетные данные, которые вы можете использовать MySQL Workbench для подключения к вашей БД

...