Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
New try
0 / 0 / 2
Регистрация: 28.04.2013
Сообщений: 75
1

Ошибка авторизации при попытке доступа к БД

28.02.2017, 23:57. Просмотров 525. Ответов 14
Метки нет (Все метки)

Добрый день, у базы данных стоит проверка подлинности: "Проверка подлинности Windows" и при попытке авторизоваться на другой машине получаю ошибку

System.Data.SqlClient.SqlException (0x80131904): Cannot open database "DataBaseV12" requested by the login. The login failed.
Login failed for user 'ANGELOS\Bohdan

Как можно настроить доступ к базе, на любой другой машине? Потому как имена пользователей всегда будут разные

Добавлено через 22 минуты
Пробовал менять Integrated Security = False; не помогло
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2017, 23:57
Ответы с готовыми решениями:

Ошибка при авторизации в БД
Постараюсь раскрыть всю суть, в C# я новичок, ошибка заключается в Базе данных с Access. Считываю...

Ошибка при авторизации пользователя
Доброго времени суток!!! Делаю форму авторизации по логину и паролю из MSSQL(textbox). Подключение...

Ошибка при попытке редактирования DataGridView
Здравствуйте. Помогите, пожалуйста, разобраться. Есть несколько форм: основная и запускаемые по...

Ошибка при попытке установить соединение с БД
В общем у меня проблема с подключением к БД, в ней у меня находится хранимая процедура, но не думаю...

Ошибка при попытке обновить содержимое в таблице
Здравствуйте, столкнулся с проблемой, помогите если не сложно) При попытке обновить записи в БД...

14
Козадоев
112 / 108 / 26
Регистрация: 05.03.2013
Сообщений: 613
01.03.2017, 07:49 2
Пользователей сети нужно добавлять в группы. А на сервере в имени входа указывать эти группы.
0
New try
0 / 0 / 2
Регистрация: 28.04.2013
Сообщений: 75
01.03.2017, 23:43  [ТС] 3
Но ведь это даже не сеть, а просто независимая отдельная машина. Можете немного подробнее объяснить про эти группы и как их подключить?

Добавлено через 1 час 30 минут
Это для приложения, на каждой новой машине я создаю локальную базу через sqllocaldb create "v11.0" и мне каждый раз необходимо создавать пользователей с определёнными правами, или группы, как Вы сказали? Наверняка, этого всего можно каким-то образом избежать. В идеале я должен скинуть программу на флешку, установить на целевой машине sql express и на этом вся процедура должна окончиться
0
insite2012
Модератор
Эксперт .NET
4878 / 3831 / 1096
Регистрация: 12.10.2013
Сообщений: 11,101
Записей в блоге: 2
02.03.2017, 05:18 4
Цитата Сообщение от New try Посмотреть сообщение
В идеале я должен скинуть программу на флешку, установить на целевой машине sql express и на этом вся процедура должна окончиться
В идеале, если программа планируется как переносимая, достаточно только скопировать все файлы на другую машину, и работоспособность программы должна остаться прежней.
А для этого используйте тип БД, не требующий сервера (MsSqlCE, SQLite).
1
Козадоев
112 / 108 / 26
Регистрация: 05.03.2013
Сообщений: 613
02.03.2017, 07:07 5
Цитата Сообщение от New try Посмотреть сообщение
Это для приложения, на каждой новой машине я создаю локальную базу через sqllocaldb create "v11.0"
Тогда сделайте вход по паролю. Пароль пропишите в программе. Будет работать везде.
0
New try
0 / 0 / 2
Регистрация: 28.04.2013
Сообщений: 75
02.03.2017, 18:49  [ТС] 6
Я пробовал делать вход по паролю, ставлю Integration security = false. User Id = 123; Password = 123. Предварительно создав такого пользователя, сохраняю, переношу проект на другую машину, а оно всё равно пытается провести аутентификацию через Windows. Я так понимаю, это нужно настраивать каждый раз сервер на каждой новой машине, что неприемлемо.

Попробую поступить как посоветовали выше и создать базу не требующую сервера (MsSqlCE, SQLite), пока понятия не имею что это и как с этим работать в вижуал студии, интернет мне в помощь)
0
Козадоев
112 / 108 / 26
Регистрация: 05.03.2013
Сообщений: 613
02.03.2017, 20:34 7
Вы подключаетесь как к серверу, с указанием имени сервера, базы и логина. А надо подключаться как к файлу с указанием пути к файлу. Строку подлючения надо особым образом писать. Сам файл базы можно таскать куда угодно, лишь бы в строке путь был. Сервер ставить при этом не обязательно. Есть спец. версия урезанная для установки пользователям подобно компакт серверу.
MsSqlCE не рекомендую инсрументы начиная с NET4 в студии с ним не работают, он устарел. LocalDB полностью его заменяет. Именно поэтому я перешел на него, удобнее СЕ и полностью поддерживается стандартными инструментами MSSQL.
0
insite2012
Модератор
Эксперт .NET
4878 / 3831 / 1096
Регистрация: 12.10.2013
Сообщений: 11,101
Записей в блоге: 2
02.03.2017, 21:30 8
Цитата Сообщение от New try Посмотреть сообщение
понятия не имею что это и как с этим работать в вижуал студии
А к чему вам Студия? Гуглите SQLiteBrowser, он бесплатный. В нем создаете базу, наполняете если надо.
Потом идете сюда, качаете под нужную версию .NET Framework свой пакет с SQLite.
Далее идете сюда, смотрите, какая строка соединения вам нужна, используете ее.
PROFIT!!!
0
New try
0 / 0 / 2
Регистрация: 28.04.2013
Сообщений: 75
02.03.2017, 22:02  [ТС] 9
В программе уже прописано множество операций со стандартной базой посредством SQLAdapter и тд, наверняка работа с базой SQLite должна отличаться
0
insite2012
Модератор
Эксперт .NET
4878 / 3831 / 1096
Регистрация: 12.10.2013
Сообщений: 11,101
Записей в блоге: 2
03.03.2017, 05:20 10
Цитата Сообщение от New try Посмотреть сообщение
наверняка работа с базой SQLite должна отличаться
Если не используются к-либо специфические для данного провайдера методы - то только именами классов, изменить которые большого труда не составит.
0
Козадоев
112 / 108 / 26
Регистрация: 05.03.2013
Сообщений: 613
03.03.2017, 07:31 11
New try, привожу пример как выглядят строки подключения для разных версий LocalDB, чтобы подключиться как к локальному файлу.

C#
1
2
3
4
5
6
7
8
9
10
//Путь к файлу (базе), например, можно запросить у пользователя или прописать в настройках. 
string Path = @"C:\MyDatabases\MyDataBase1.mdf"
 
//Далее просто подменить строку подключения, которую вы используете в своих DataSet и TableAdapter
 
//для SQLLocalDB 2012 
Properties.Settings.Default["MyConnectionString"] = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=" + Path + ";Integrated Security=True;Connect Timeout=30";
 
//для SQLLocalDB 2014
Properties.Settings.Default["MyConnectionString"] = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=" + Path + ";Integrated Security=True;Connect Timeout=30";
Добавлено через 19 минут
Проблем с авторизацией при копировании базы на другие компьютеры не возникало.
0
Козадоев
112 / 108 / 26
Регистрация: 05.03.2013
Сообщений: 613
03.03.2017, 08:05 12
На PC пользователей достаточно установить только это
Кликните здесь для просмотра всего текста
Ошибка авторизации при попытке доступа к БД
0
New try
0 / 0 / 2
Регистрация: 28.04.2013
Сообщений: 75
03.03.2017, 19:46  [ТС] 13
Моя текущая строка подключения:

C#
1
string connectionString = @"Data Source = (LocalDB)\v12; AttachDbFilename =" + Directory.GetCurrentDirectory() + "\\DataBaseV12.mdf " + "; Integrated Security = True;";
Её я подставляю вот например сюда:

C#
1
2
3
4
using (SqlConnection connection = new SqlConnection(connectionString))
{
 
}
И копируя всю папку с проектом,mdf файлом базы в том числе и пытаясь открыть базу на другой машине - получаю ошибку авторизации, которая говорит, что доступ есть только у пользователя, имя которого, соответствует имяМашины/ИмяПользователя ноута на котором написан проект

Добавлено через 26 минут
И при попытке подставить Properties.Settings.Default["MyConnectionString"] (и вся остальная строка) вместо connectionString получаю ошибку преобразования Object в String.
0
Козадоев
112 / 108 / 26
Регистрация: 05.03.2013
Сообщений: 613
03.03.2017, 21:13 14
New try Её я подставляю вот например сюда:
Если пользуйтесь DataSet , созданном в конструкторе слздавать новое соединение, подключаться ничего этого не надо. Он сам умеет подключаться когда надо и поддерживает соединение. От вас только Update и Fill в нужные моменты вызывать.

Добавлено через 4 минуты
New try И при попытке подставить Properties.Settings.Default["MyConnectionString"] (и вся остальная
MyConnectionString - для примера, у вас све название.
Properties.Settings.Default - это доступ к настройкам. Можете туда через обозреватель объектов зайти и посмотреть как ваша строка называется, увидите и значение строки.
0
New try
0 / 0 / 2
Регистрация: 28.04.2013
Сообщений: 75
03.03.2017, 23:38  [ТС] 15
Всё заработало через MSQLite, спасибо за помощь!
0
03.03.2017, 23:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2017, 23:38

Ошибка при попытке получить значение из SQLDataReader
Здравствуйте. При загрузке формы делаю запрос к базе данных. Выдает ошибку. Ругается на то, что в...

Ошибка при попытке отображения информации из базы данных
Здравствуйте есть такой вот вопрос. Подключил я к visual studio 2012 oracle database 11g xe,...

Выходит ошибка при попытке отправки файла по TCP
using System; using System.IO; using System.Net; using System.Net.Sockets; using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru