|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
||||||||||||||||
Строку подключения к SQL брать из .config файла21.02.2021, 14:39. Показов 7165. Ответов 45
Метки нет (Все метки)
Здравствуйте! Подскажите пожалуйста, как можно в коде прописать строку подключения, которая указана в файле .config?
На данный момент строка подключения вшита в код, и для того, чтобы программу можно было использовать на разных серверах приходиться менять строку в коде. Хочу сделать так, чтобы можно было поменять подключение в файле, а программа считывала его. Сейчас реализовано так: Объявил строку в класс
Файл конфигурации есть, но он не используется. Выглядит так:
0
|
||||||||||||||||
| 21.02.2021, 14:39 | |
|
Ответы с готовыми решениями:
45
Получить строку подключения из App.config Как получить строку подключения из app.config?
|
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
||
| 21.02.2021, 20:47 [ТС] | ||
|
У меня к примеру 2.
0
|
||
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
||
| 21.02.2021, 20:47 | ||
|
Вам просто нужно попрактиковаться
0
|
||
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
|
| 21.02.2021, 20:51 [ТС] | |
|
MsGuns, почему ерунду?
Как вы себе представляете создание базы на организации? Т.е. если только пользуясь backup/restore это значит мне нужно создать там пустую базу и выполнить restore? Не проще ли .mdf файл базы подложить и выполнить Attach?
0
|
|
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
||
| 21.02.2021, 20:51 | ||
|
"Сервер" у вас один. В смысле ПК. А "SQL-Server" у Вас два. Один Local(Express), а второй, возможно Enterprise. Почувствуйте разницу
0
|
||
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
||
| 21.02.2021, 20:53 [ТС] | ||
|
Изначальный вопрос, как сделать так, чтобы программа считывала "сервер" из app.config?
0
|
||
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
||||
| 21.02.2021, 20:58 | ||||
|
Вместо того, что просто найти в инете простые и надежные способы. Главное - результат. Абсолютно не влияющий на сценарий настройки Вашего приложения. Или Вы хотите с установкой приложения устанавливать и БД ? Что Вы хотите сделать ? Добавлено через 3 минуты Или Вы ручками туда пишете строку ? У меня уже мозги плавятся с Вами
0
|
||||
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
||||||||
| 21.02.2021, 21:00 [ТС] | ||||||||
|
Объясняю наверно раз восьмой, чего я хочу. Имеется строка подключения:
Добавлено через 1 минуту
0
|
||||||||
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
|
| 21.02.2021, 21:07 [ТС] | |
|
Вот пример другой программы, которая имеет программу настройки подключения.
Тут изображено, что выбирается адрес или имя сервера и после слеша задается серер (инстанс, экземпляр (SQLEXPRESS))
0
|
|
|
4695 / 2702 / 735
Регистрация: 02.08.2011
Сообщений: 7,236
|
|||||||||||
| 22.02.2021, 08:25 | |||||||||||
|
detrop, решение с чтением конфига через ConfigurationManager разве не рабочее?
Добавлено через 12 минут Адрес инстанса указывается в атрибуте Data Source строки подключения:
0
|
|||||||||||
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
||||||
| 22.02.2021, 09:01 [ТС] | ||||||
|
IamRain, рабочее, я сделал так:
Потому что Имя сервера берется из файла, но экземпляр sql сервера не считывается. Моя задача теперь сделать так, чтобы экземпляр тоже считывался из файла, но чтобы я туда не указывал - подключение не происходит. Пробовал разные варианты написания: connectionString="Server=DESKTOP-2J8JPAC/MSSQLEXPRESS; connectionString="Server=(DESKTOP-2J8JPAC)/MSSQLEXPRESS; connectionString="Server=DESKTOP-2J8JPAC\MSSQLEXPRESS; и т.п. Добавлено через 3 минуты Почему я не могу оставить builder.DataSource = Environment.MachineName + "\\MSSQLSERVER"; Потому что это привяжет программу к имени сервера и к экземпляру MSSQLSERVER. В таком случае при подключении она ВСЕГДА будет стучаться к данному экземпляру и к серверу, имя которого в Environment.MachineName. А нужно, чтобы стучался в указываемый МНОЙ сервер и указываемый экземпляр.
0
|
||||||
|
4695 / 2702 / 735
Регистрация: 02.08.2011
Сообщений: 7,236
|
|||||||||||||
| 22.02.2021, 09:13 | |||||||||||||
Просто вот так:
0
|
|||||||||||||
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
|
| 22.02.2021, 17:48 | |
|
IamRain, Фишка в том, что на каждом ПК, где устанавливается прога, свой SQL-сервер. То ли сетевой, то ли локальный (то ли его вообще нетути) - автор умалчивает.
И хочет написать некий код, который сам или с его помощью найдет нужный SQL-сервер, установит на него базу и впишет строку соединения в конфиг. Идея сама себе инвалидная, реализация, как видим, тоже ![]() Добавлено через 10 минут Ему уже был предложен вариант установочной программы, которая включается в install-пакет. Эта программа работает так: 1. Проверяет была ли уже установка ранее по сеттингам ? Если была вытаскивает из сеттингов строку соединения и проверяет есть ли в наличие SQL-server и нужная база на нем. Если все ок, то ничего не делает. 2. Если не было установки (сеттингов нет на ПК), ищет доступные SQL-сервера и предлагает выбрать нужный. 3. После выбора SQL-сервера проверяется есть ли на нем нужная БД и, если нет, предлагает ее создать и засунуть туда содержимое, взятое откуда-то, например из файла mdf, прилепленного в тот же install. 4. Когда все выбрано, база создана (или приаттачена, как желает ТС, хотя это неправильно), то создается сеттинг и в него суется строка кроме всего прочего соединения. 5. Основное приложение лезет в сеттинг, вытаскивает оттуда строку соединения, пихает ее в конфиг и далее по тексту
0
|
|
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
||
| 22.02.2021, 22:44 [ТС] | ||
|
Я сказал, что программа может установиться на ЛЮБОЙ ПК в сети, обращаться к сервер, где находится бд она будет через строку подключения в .config файле. Для изменения сервера, к которому будет подключаться программа нужно изменить адрес и инстанс сервера в вышеописанном файле. Неужели я так сложно объясняю?
0
|
||
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
|||
| 22.02.2021, 23:36 | |||
|
Если одна "организация". В ней есть N ПК и SQL-сервер. Один на всех. При установке приложения на ПК 1 устанавливается БД. При установке приложения на ПК 2 устанавливается БД опять ? Поверх уже установленной ? А если между этими событиями пользователь ПК1 уже чего-то в базу внес ? Вы сами не можете разобраться что Вам нужно. Пишете, что Вас не могут понять ? А Вы сами себя понимаете ?
0
|
|||
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
|||||
| 23.02.2021, 08:35 [ТС] | |||||
|
MsGuns, еще раз:
0
|
|||||
|
785 / 616 / 273
Регистрация: 04.08.2015
Сообщений: 1,713
|
|
| 23.02.2021, 10:02 | |
|
detrop, строка подключения для всех клиентов одинаковая. Если сервер переедет на другой ip, она изменится, но по-прежнему будет одинаковой для всех клиентов. Так что вам нужно сделать инсталлятор с конфиг-файлом, где будет строка подключения. При изменении строки подключения вы вносите изменения в конфиг-файл и отдаете инсталлятор пользователям для переустановки программы.
0
|
|
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
|
| 23.02.2021, 12:31 | |
|
detrop, Что Вы понимаете под "установкой приложения" и "установкой базы" ? Это все в одном" стакане" или в разных ? Ну и в [36] Вам написали то же, что было уже надцать раз сказано в этой ветке.
0
|
|
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
|
| 23.02.2021, 14:50 [ТС] | |
|
Я тоже уже надцать раз объяснял как все должно быть.
Изначальную проблему решил, я просто некорректно указывал инстанс, слеш писал не в ту сторону. Все ответы по теме учел, всем спасибо!
0
|
|
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
|||||||||||
| 24.02.2021, 09:36 [ТС] | |||||||||||
|
Почтальон, Код подключения у меня выглядит так:
1
|
|||||||||||
| 24.02.2021, 09:36 | |
|
Где располагается app.config, содержащий строку подключения Создать App.Config для хранения данных для подключения к MS SQL серверу-DataSource и InitialCatalog SQL: получить строку подключения Не видит строку подключения к SQL server брать строку не из файла а передать параметром в .exe Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|