Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Gikdar
0 / 0 / 1
Регистрация: 10.04.2016
Сообщений: 23
1

Подключение к обозревателю объектов SQL Server в app.config при инсталляции сборки

30.04.2016, 18:42. Просмотров 761. Ответов 3

Здравствуйте.
Возникла необходимость инсталлировать сборку на несколько машин, объединенных в сеть. При инсталляции пользователь должен указать обозреватель объектов, данные авторизации и базу данных. Собственно в чём сложность для меня: отображение списка обозревателей объектов доступных машине, проверка авторизации и отображение доступных баз данных для авторизированного пользователя. После этого необходимо сохранить выбранные или введённые параметры в конфиге и завершить или прервать инсталляцию, если данные отсутствуют.

Также по аналогии интересует подключение пользователя в проекте к базе данных, после ввода логина и пароля от имени входа в обозревателе объектов SQL Server.
Хотелось бы сделать, как при добавлении нового источника данных в проекте Windows Forms или запуске SQL Server.

Не знаю с чего начать, никогда не было необходимости создавать подобные инсталляторы.

Думаю для многих в этом нет ничего сложного и делается это за 10 минут, поэтому прошу помощи.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2016, 18:42
Ответы с готовыми решениями:

Подключение к БД по IP через App.Config (connectionStrings)
Добрый день! В работе с базой я совсем новичок, поэтому вопрос может показаться глупым. Но все же....

При попытке записать в app.config возникает ошибка NullReferenceException
Возникает NullReferenceException. Почему? App.config присутствует в проекте. Configuration...

app.config сборки
Заметил такую вещь. При запуске программы из разных каталогов создаются новые папки в...

Подключение SQL Server без Web.config
ASP MVC Подключения SQL Server без Web.config несколько вариантов Дело пойдет о подключении базы ...

Почему приложение ищет ИмяСборки.exe.config вместо app.config?
Вот с какого перепугу приложение ищет ИмяСборки.exe.config вместо app.config?

3
Gikdar
0 / 0 / 1
Регистрация: 10.04.2016
Сообщений: 23
02.05.2016, 16:59  [ТС] 2
На форуме нашёл способ отобразить список обозревателей объектов:
C#
1
2
3
SqlDataSourceEnumerator instance =
          SqlDataSourceEnumerator.Instance;
            System.Data.DataTable table = instance.GetDataSources();
Но на выходе:
ServerName GIKDAR InstanceName SQLEXPRESS IsClustered No Version 10.50.4000.0
ServerName GIKDAR InstanceName TEST IsClustered No Version 10.50.4000.0

Конечно можно написать метод для извлечения имени сервера, но может есть готовое решение?

И ещё, пока разбирался возник вопрос, как скрыть в коде приватные данные (пароли)?
0
some_name
Вежливость-главное оружие
229 / 229 / 86
Регистрация: 19.02.2013
Сообщений: 1,441
02.05.2016, 17:35 3
Цитата Сообщение от Gikdar Посмотреть сообщение
И ещё, пока разбирался возник вопрос, как скрыть в коде приватные данные (пароли)?
*попробовать заменить на хешь
*абфускация

з.ы. их там вообще быть не должно, я думаю

Добавлено через 2 минуты
с абфускацией я погорячился... она же строки не строгает
0
Gikdar
0 / 0 / 1
Регистрация: 10.04.2016
Сообщений: 23
02.05.2016, 19:05  [ТС] 4
Я так понял менять что то в app.config - дохлый номер, поэтому буду пробовать создавать подключение и хранить его в другом месте. Так, где лучше хранить имя сервера, чтобы можно было быстро извлечь их и добавить к ним логин и пароль, введённые при входе в приложение, чтобы сформировать строку подключения?

Также я всё ещё не могу понять, как после подключения вывести список каталогов обозревателя объектов доступных пользователю.

Вдруг кому пригодится, намалевал строку подключения и и организовал выполнение запросов с выводом в грид(правда не комментировал):
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 string __connectionString = "Data Source = GIKDAR\\TEST; Initial Catalog = Testting; User ID = Ivan; Password = 372347";
            connect = new System.Data.SqlClient.SqlConnection(__connectionString);
            connect.Open();
 
            SqlDataReader __dataReaderTestting;
            dataGridView1.Refresh();
 
            if (textBox1.Text == "")
            {
                MessageBox.Show("Введите запрос", "Ошибка", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
                return;
            }
            try
            {
 
                SqlCommand __sqlCommand = new SqlCommand(textBox1.Text, connect);
                __dataReaderTestting = __sqlCommand.ExecuteReader();
 
                ArrayList __arrayList = new ArrayList(0);
                foreach (DbDataRecord __record in __dataReaderTestting)
                {
                    __arrayList.Add(__record);
                }
                __dataReaderTestting.Close();
                dataGridView1.DataSource = __arrayList;
            }
            catch
            {
                MessageBox.Show("Неверный запрос", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
0
02.05.2016, 19:05
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2016, 19:05

Откуда сначал берутся настройки приложения, из user.config или App.config?
Собственно в чём проблема. Есть данные которые я хочу сохранить в файле настроек приложения. Я...

SQLite+Entity Framework+NET4.0 Без ADO NET, и App.config, packages.config
Тема не простая SQLite+Entity Framework Без ADO NET, и App.config, packages.config Вся Сборка...

Создать App.Config для хранения данных для подключения к MS SQL серверу-DataSource и InitialCatalog
Не работал не разу с файлами конфигурации. Нужно сделать следующий файл: В нем будут содержать...


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

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

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