Kinneth Custodio Tianchon Ответов: 2

Как исправить ошибку входа в систему для пользователя "сервер/гость". C# SQL


Привет, я создал программу C# windows app с помощью visual studio и подключил ее к базе данных SQl Server уже с помощью проверки подлинности SQL server и разместил свой код подключения:
namespace ContactDirectory
{
    class connection
    {
        SqlConnection conn;
        public SqlConnection getConnect()
        {
            conn = new SqlConnection("Server=ITSTAFF\\ACOSTA,1433; Database=Contacts; User ID=ACOSTA Password=itacosta; Trusted_Connection=True");
            return conn;
        }
    }
}


Программа, которую я создал, больше ориентирована на поиск по тому, что я ввел в базу данных.
Я опубликовал программу. Сначала я установил его на свой компьютер, где находится моя база данных, и он работает нормально. Я установил его на компьютер(подключил тот же маршрутизатор, и оба уже сделали правила брандмауэра) программа работает нормально, но после использования окна поиска произошла ошибка =логин не удалось для пользователя "ITSTAFF/Guest".

Кто-нибудь может мне помочь.
пожалуйста

Что я уже пробовал:

namespace ContactDirectory
{
    class connection
    {
        SqlConnection conn;
        public SqlConnection getConnect()
        {
            //conn = new SqlConnection("Data Source=ITDEPT\\ACOSTA; Initial Catalog=Contacts;Integrated Security=True");
            //return conn;
            //connectionString="Data Source=ACER\SQLEXPRESS;Initial Catalog=Contacts;Integrated Security=True"
            //conn = new SqlConnection("Server=ITDEPT\\ACOSTA,1433; Database=Contacts; User ID=itstaffacosta Password=acostait; Trusted_Connection=True");
            conn = new SqlConnection("Server=ITSTAFF\\ACOSTA,1433; Database=Contacts; User ID=ACOSTA Password=itacosta; Trusted_Connection=True");
            return conn;
        }
    }
}

2 Ответов

Рейтинг:
7

Richard Deeming

Все строки подключения, которые вы показали, используют проверку подлинности Windows, а не проверку подлинности SQL.

Объект sqlconnection.Свойство ConnectionString (System.Data.SqlClient) | Microsoft Docs[^]

Integrated Security=True и Trusted_Connection=True это означает то же самое: используйте проверку подлинности Windows.

Вы также пропускаете точку с запятой между идентификатором пользователя и паролем.

И наконец, это действительно плохая идея-хранить соединение в поле уровня класса. Создайте соединение как можно позже и избавьтесь от него, как только закончите с ним. Там, где это возможно, заверните его в using блок, чтобы убедиться, что он всегда утилизируется.

namespace ContactDirectory
{
    static class connection
    {
        public static SqlConnection getConnect()
        {
            return new SqlConnection("Server=ITSTAFF\\ACOSTA,1433; Database=Contacts; User ID=ACOSTA; Password=itacosta;");
        }
    }
}
Поставщик данных Microsoft SqlClient для строк подключения SQL Server - ConnectionStrings.com[^]


Kinneth Custodio Tianchon

СПАСИБО ВАМ ЗА БОЛЬШУЮ ПОМОЩЬ!!

Рейтинг:
0

OriginalGriff

Сообщение об ошибке довольно ясно - или, по крайней мере, так ясно, как это может быть без ущерба для безопасности.
Сервер, к которому вы подключаетесь, не имеет пользователя SQL с такой комбинацией идентификатора пользователя и пароля.

Мы не можем исправить это для вас: у нас нет доступа к серверу, и это пользовательские таблицы. И вы, как я подозреваю, тоже, судя по сообщению об ошибке!


Kinneth Custodio Tianchon

да, это так. вот почему он работал на компьютере, где я его программирую. но после того, как он опубликовал его и установил на другой компьютер, произошла эта ошибка.

F-ES Sitecore

С какой учетной записью этот компьютер вошел в систему?