powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Замена connectionString пр иработе программы?
25 сообщений из 28, страница 1 из 2
Замена connectionString пр иработе программы?
    #38547215
den_first
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все привет!
Запустил прогу с ConnectionString своим, потом например, подменили App.config и ConnectionString уже другой, у клиента прога висит, мне надо в проге сравнить два конекшина, до и после. До выбирается ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString, а вот после подмены тем же способом ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString выбирает все тот же старый конекшен? как выбрать уже новый конекшен?
Заранее спасибо!
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #38548222
Sergey S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй простой файл с настройками - например сделать свой класс и сериализовать его в хмl потом сохранить в файл и наоборот...
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #38548425
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
den_first как выбрать уже новый конекшен?

Код: c#
1.
 ConfigurationManager.RefreshSection



позволяет прочитать конфигурацию с диска еще раз.
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #38550876
den_first
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем, вот решение моей задачки, кому интересно:

System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.None);
string connectionStringChanged = config.ConnectionStrings.ConnectionStrings["connectionString"].ConnectionString;
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #38550893
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129den_first как выбрать уже новый конекшен?

Код: c#
1.
 ConfigurationManager.RefreshSection



позволяет прочитать конфигурацию с диска еще раз.+1
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #38552760
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем эти танцы с бубнами?
Пароль чтоль добавить?
Ну не важно
можно так, на старте ПО (ну или когда нужно) подмени саму ConnectionString
Код: c#
1.
2.
3.
4.
string c = Properties.Settings.Default.ConnectionString;
System.Data.SqlClient.SqlConnectionStringBuilder sbb = new System.Data.SqlClient.SqlConnectionStringBuilder(c);
sbb.Password = pwd
Properties.Settings.Default["ConnectionString"] = sbb.ToString();


Т.е.
Properties.Settings.Default.ConnectionString = newConnStr - так сделать нельзя.
Properties.Settings.Default["ConnectionString"] = newConnStr - а вот так можно.
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #38553084
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fortibransaА зачем эти танцы с бубнами?В первом посте написано.
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #38553655
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAfortibransaА зачем эти танцы с бубнами?В первом посте написано.Мой вопрос, зачем подменять? В первом посте ответа нет.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Замена connectionString пр иработе программы?
    #39810382
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попался чей-то проект (возможно, даже мой, но опыта у меня мало, даже не помню, какой там EF и есть ли он там вообще)
Нужно в рантайме менять строку коннекта, для коннекта к разным БД:
есть список из нескольких БД, в рантайме надо менять коннект на любую из них


Опыта работы с c# + database не хватает, потому пришлось пробовать всякую пришедшую в голову хрень:


1. глянул в файл UserDB_DataSet.Designer.cs в public partial class UserDB_DataSet : global::System.Data.DataSet {
2. увидел, что в каждом public partial class MyTableAdapter : global::System.ComponentModel.Component {
есть свой private global::System.Data.SqlClient.SqlConnection _connection;
3. и что он у всех свой уникальный:
Код: c#
1.
2.
3.
4.
        private void InitConnection() {
            this._connection = new global::System.Data.SqlClient.SqlConnection();
            this._connection.ConnectionString = global::WebAsuMenuTreeAdmin.Properties.Settings.Default.UserDB_ConnectionString;
        }





4. написал в нужном месте
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
        private void ChangeConnectionString(
                System.Data.SqlClient.SqlConnection Connection,
                string connectionString)
        {
            Connection.Close();
            Connection.ConnectionString = connectionString;
            Connection.Open();
        }

        // и так вызываю
        ChangeConnectionString(TableAdapter1.Connection, "Data Source=****;Initial Catalog=UserDb;Integrated Security=True");
        ChangeConnectionString(TableAdapter2.Connection, "Data Source=****;Initial Catalog=UserDb;Integrated Security=True");
        ChangeConnectionString(TableAdapter3.Connection, "Data Source=****;Initial Catalog=UserDb;Integrated Security=True");


дальше глобальный рефреш все адаптеров

так вроде работает, но мне это не нравится совсем :(
Датаадаптеров десятки, под каждый менять я задолбаюсь, и это не наш метод :)

Как это сделать правильно?
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #39810400
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxДатаадаптеров десятки, под каждый менять я задолбаюсь
Тут уж ничего не поделать. Если через джоппу сделали изначально, то теперь подрочитесь с этим. В следующий раз у вас будут умнее и не будут задавать вопросы типа "а зачем это усложнять, можно просто накидать баттонов на форму"
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #39826428
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatЕсли через джоппу сделали изначально

пошёл в обход через джоппу


добавил сет
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
        public string UsersDB_ConnectionString {
            get
            {
                return ((string)(this["MyDB_ConnectionString"]));
            }
            // 14-06-2019 AAM
            set
            {
                this["MyDB_ConnectionString"] = value;
            }
        }



добавил перед InitializeComponent
Код: c#
1.
2.
3.
                // 14-06-2019 AAM
                global::MyAdmin.Properties.Settings.Default.MyDB_ConnectionString = MyNewConnectionString;
                InitializeComponent();




Вроде работает
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #39826713
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
andreymx,

А это одна база на разных серверах, или разные бзы на разных серверах?
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #39826741
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2andreymx,

А это одна база на разных серверах, или разные бзы на разных серверах?одна бза
Прод дев тест
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #39826829
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
andreymx,

В Program.cs, в Main() первыми строками.
Код: c#
1.
2.
3.
string server ="дев"; 
Properties.Settings.Default["MyDB_ConnectionString"] = $"Data Source={server};Initial Catalog=UserDb;Integrated; Security=True";
Properties.Settings.Default.Save();
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #39826838
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2andreymx,

В Program.cs, в Main() первыми строками.
Код: c#
1.
2.
3.
string server ="дев"; 
Properties.Settings.Default["MyDB_ConnectionString"] = $"Data Source={server};Initial Catalog=UserDb;Integrated; Security=True";
Properties.Settings.Default.Save();

спасибо, попробую
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #39827902
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
andreymx,

Ну так чо там? Мне самому лень было пробовать, на Вас надеялся
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #39827915
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2andreymx,

Ну так чо там? Мне самому лень было пробовать, на Вас надеялсясорри, целый день совещания, некогда проверить, пока работает старый вариант
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #39827917
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2andreymx,

В Program.cs, в Main() первыми строками.


не делал
Код: c#
1.
string server ="дев"; 



сделал, вроде работает
Код: c#
1.
Properties.Settings.Default["MyDB_ConnectionString"] = $"Data Source={server};Initial Catalog=UserDb;Integrated; Security=True";




а это зачем? мне конфиг менять не надо
Код: c#
1.
Properties.Settings.Default.Save();
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #39827978
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ConnectionStringBuilder
SqlConnectionStringBuilder
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #39828013
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,

куда приткнуть?
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #39828105
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
andreymxа это зачем? мне конфиг менять не надо

Я точно не уверен, но без этого измененный параметр не будет действовать во всех модулях программы.
Что-то такое у меня было, сейчас уж и не помню.
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #39828189
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2andreymxа это зачем? мне конфиг менять не надо

Я точно не уверен, но без этого измененный параметр не будет действовать во всех модулях программы.
Что-то такое у меня было, сейчас уж и не помню.а оно конфигу не перезапишет?
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #39828538
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
andreymxCat2пропущено...


Я точно не уверен, но без этого измененный параметр не будет действовать во всех модулях программы.
Что-то такое у меня было, сейчас уж и не помню.а оно конфигу не перезапишет?
Перезапишет. Но какая разница?
Продакшен можно откомпилировать с "правильным" сервером
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #39828551
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Туплю канешно. А разве не профилях дэплоя настраиваются connection strings, что и куда?
...
Рейтинг: 0 / 0
Замена connectionString пр иработе программы?
    #39828558
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterТуплю канешно. А разве не профилях дэплоя настраиваются connection strings, что и куда?а если мне надо к разным бд?
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Замена connectionString пр иработе программы?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]