| 
 | 
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Здравствуйте! У меня приложение на Windows Forms.Я подключаюсь к базе данных с использованием Entity Framework. Периодически то выключается то включается интернет . При выключении приложение зависает. Нужно что бы все данные из базы данных скачивались сразу при первом подключении и формы работали нормально при разрыве соединения, а при восстановлении соединения происходила синхронизация. Пользователя пока всего три. Как достичь такого результата? Благодарю. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 30.12.2020, 10:51 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  То есть каждый пользователь работает с локальной копией БД? Один удалил внешний ключ, другой добавил запись с этим внешним ключом, а потом всё должно волшебным образом синхронизироваться? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 30.12.2020, 11:30 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Shocker.Pro То есть каждый пользователь работает с локальной копией БД? Один удалил внешний ключ, другой добавил запись с этим внешним ключом, а потом всё должно волшебным образом синхронизироваться? Я думал может есть вариант с приоритетом пользователей по времени изменения. Если нет, то нужно что бы форма работала только для чтения. Возможно так? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 30.12.2020, 12:29 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Ну так тебе EF не поможет, тебе нужно саму архитектуру базы прежде всего адаптировать. К примеру, все ID не должны быть автоинкрементными, а, например, GUID-ами jeanssp Я думал может есть вариант с приоритетом пользователей по времени изменения. jeanssp Если нет, то нужно что бы форма работала только для чтения. В общем, если ты считаешь, что есть волшебная пилюля для существующей БД - нет, ее нет. Работа с отвязанной БД должна быть продумана на уровне ТЗ и архитектуры, потом спроектирована, а потом реализована. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 30.12.2020, 12:57 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Shocker.Pro, Может как нибудь выкачивать бд, сохранять ее в XML на локальном компьютере , и менять подключение то к одной то к другой бд? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 30.12.2020, 13:11 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  вопрос не в том, как работать с локальной копией, а в том, что ты будешь делать при слиянии изменений нескольких пользователей ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 30.12.2020, 13:41 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Shocker.Pro, Пользователи не будут ничего менять. Но должны иметь возможность просматривать данные. Ничего страшного если данные не совсем свежие. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 30.12.2020, 14:16 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  jeanssp Пользователи не будут ничего менять ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 30.12.2020, 14:27 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Shocker.Pro, Это система учета для розничного магазина. Я еще к ней интернет магазин пристраиваю на blazor.(почти готов, спасибо Вам) Там сидят продавцы в отделе(2 отдела) и им надо посмотреть товар на остатках по артикулу, найти клиента по номеру телефона с его заказами. Интернет конечно можно сделать стабильный , но это получится 10000 в год. А так он у меня бесплатный. Если не решу вопрос с локальной бд, придется интернет налаживать. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 30.12.2020, 14:51 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  ну если это готовое, а не пишущееся изделие, но надо смотреть конкретику, информации слишком мало ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 30.12.2020, 15:06 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Shocker.Pro, Я его только написал. Сейчас внедряю. БД заполнил уже реальными данными. Вот код формы. Код: 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. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 30.12.2020, 15:38 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Изучай тему  Репликация БД . Если у тебя клиенты только читают БД, то обновление копии вполне просто можно организовать встроенными средствами MS SQL. В твоей проге ничего менять не надо. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 30.12.2020, 16:26 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  jeanssp Shocker.Pro, Я его только написал. Сейчас внедряю. БД заполнил уже реальными данными. Вот код формы. Код: 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. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. Вот как написал, так и работает. Почитайте что-ли про SOLID, гексагональную архитектуру, Microsoft Application Architecture... Ну или если хотите готовенькое, то выкидывайте Entity Framework и берите старый добрый DataSet, он как раз для работы в отсоединённом режиме придуман был. В этом, кстати, в каждой книжке по ADO.NET, что я в руках держал, написано. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 30.12.2020, 19:09 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  jeanssp Я подключаюсь к базе данных с использованием Entity Framework. Периодически то выключается то включается интернет . База данных торчит в интернет - это пять! Безопасность на уровне. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 30.12.2020, 19:12 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  skyANA База данных торчит в интернет - это пять! Безопасность на уровне. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 31.12.2020, 00:21 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  skyANA, Что я делаю неправильно, поясните, пожалуйста ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 31.12.2020, 10:44 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  >jeanssp, вчера, 10:51  https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1332189&msg=22256940][22256940]  >... Нужно что бы все данные из базы данных скачивались сразу... < Периодически, каждый раз с построением нового соединения, качивай данные в кеш. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 31.12.2020, 11:32 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Я бы сказал, что тут две проблемы: 1) Классическая проблема конкурентного доступа. Решения два: пессимистичный (блокировка записи до сохранения сущности), оптимистичный (фетч более свежей копии данных, основываясь на дифф row_version); 2) Отсутствие алгоритма поллинга данных. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 31.12.2020, 12:30 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Я еще думаю попробовать выполнять операцию извлечения данных из БД в асинхронном режиме. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Этот код выдает ошибку. Как исправить? И еще обернуть это в try catch может быть ? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.01.2021, 13:15 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  jeanssp ошибку Нафига ты вообще материализуешь всю коллекцию до выполнения фильтрации? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.01.2021, 15:50 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Shocker.Pro, Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Все равно не пашет. Ну не понимаю я! ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.01.2021, 16:29 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Слушай, ну надо же в конце концов прочитать текст ошибки, тебе же компилятор четко говорит, в чем проблема. Или ты так и будешь куски кода сюда выкладывать? Что ты тут пытаешься ожидать с помощью await? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.01.2021, 16:45 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Когда ты наводишь мышиный курсор на метод, студия показывает тебе, какой тип возвращается. Не используй var, если не можешь сходу сообразить, какого типа у тебя переменная, хотя студия это тоже подсказывает. Ну про то, что учебник надо прочесть до того, как писать код, это я уже, кажется, тебе говорил. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.01.2021, 16:48 | 
  
  
  
   | 
||
| 
 
Подключение к базе данных при нестабильном интернете. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Shocker.Pro, При помощи await я хочу добиться что бы форма не зависала при кратковременном отключении интернета. Код: c# 1. вот так ошибок нет, но когда кабель выдергиваю, при событии Код: c# 1. все зависает и вываливается ошибка (SqlException: Ошибка на транспортном уровне при получении результатов с сервера. (provider: Session Provider, error: 19 - Физическое подключение не используется) ) Как бы ее обработать, что бы форма не зависала ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.01.2021, 17:24 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=17&msg=40032619&tid=1349042]:  | 
    0ms | 
get settings:  | 
    8ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    62ms | 
get topic data:  | 
    11ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    57ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 12ms | 
| total: | 173ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...