2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 316
|
||||||
1 | ||||||
Ошибка при подключении к локальной базе данных22.06.2020, 15:25. Показов 1197. Ответов 8
Метки нет (Все метки)
Добрый день
Пишу приложение, в котором необходимо записывать данные в локальную базу данных. Всё прекрасно записывается, считывается, редактируется, но бывают случаи когда при первом включении возникает следующая ошибка: "При установлении соединения с sql server произошла ошибка, связанная с сетью или с определенным экземпляром. сервер не найден или недоступен. убедитесь, что имя экземпляра указано правильно и что на sql server разрешены удаленные соединения. (provider: sql network interfaces, error: 50 - произошла ошибка local database runtime.Во время запуска экземпляра localdb произошла ошибка: ошибка запуска процесса SQL Server". Подскажите, в чем может быть проблема?
0
|
22.06.2020, 15:25 | |
Ответы с готовыми решениями:
8
Ошибка при подключении к локальной базе Ошибка при подключении к базе данных Ошибка при подключении к базе данных Ошибка при подключении к SQL базе данных при переносе программы |
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 316
|
|
07.08.2020, 15:42 [ТС] | 2 |
Так и не нашел я решение Подскажите, пожалуйста, в чем моя ошибка
0
|
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 316
|
|
12.08.2020, 16:59 [ТС] | 4 |
ashsvis, а с чем может быть связана эта ошибка? Возможно ее устранить как-то возможно?
0
|
12079 / 8388 / 1281
Регистрация: 21.01.2016
Сообщений: 31,601
|
|
13.08.2020, 06:16 | 5 |
В тексте ошибки расписывается с чем это может быть связано. Я вообще не понимаю, зачем это нужно явно повторять, когда вы сами можете на своём скриншоте прочитать, благо, что даже на русском.
0
|
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 316
|
|
13.08.2020, 12:16 [ТС] | 6 |
Usaga, я вижу, что там написано. Но просто не понимаю, из-за чего появляется эта ошибка. Она обычно возникает только при первом включении компьютера и если он постоит и запустить программу погодя, то этой ошибки не будет. Такое чувство как будто sql server express запуститься не успевает. Возможно сделать как-то проверку на запуск сервера?
0
|
12079 / 8388 / 1281
Регистрация: 21.01.2016
Сообщений: 31,601
|
|
13.08.2020, 13:41 | 7 |
Может быть, если у вас какой-то совсем в хлам медленный ПК, с HDD умирающим и ОС забита другими службами под завязку.
Но в любом случае, это уже не косяк вашего приложения.
0
|
13.08.2020, 17:54 | 8 | |||||
Делайте несколько автоматических попыток соединения с сервером, это нормально для такого вида приложений.
Добавлено через 21 минуту как-то так:
1
|
1496 / 1238 / 244
Регистрация: 04.04.2011
Сообщений: 4,362
|
|
13.08.2020, 20:02 | 9 |
При попытке установить соединение SQL-сервером вступает в силу время ожидания ответа. Оно есть по-умолчанию для каждого провайдера, но можно его "регулировать".
Это время провайдера может быть меньше времени, установленного на самом сервере, поэтому надо либо "подкрутить" сервер, либо узнать у сисадмина серверное время и подкрутить время на "провайдере". В большинстве случаев все решается на клиенте, т.е. надо просто снабдить его некоторым "терпением", как было указано выше. Далее. Незачем при каждом чихе устанавливать соединение, вполне достаточно установить его при первом обращении к БД, а в дальнейшем все запросы слать уже в контексте этого открытого соединения. Не нужно беспокоиться о том, что сервер слишком напряжется от лишнего "висячего" коннекшена. Он прекрасно разбирается с миллионами соединений и не кашляет А вот открытые серверные курсоры действительно сервер напрягают, особенно если там по нескольку тысяч записей. Метод наши дедов и пресловутыми Table-ами реально тормозит всю систему. Избегайте их и используйте разовые селекты и точечные апдейты, инсерты и делеты с последующим селектом и будет Вам счастье Добавлено через 23 минуты Есть несколько простых правил, соблюдая которые можно избежать "тормоза" на SQL-сервере. 1. Не тащите с сервера слишком много данных. Еще не родился тот юзер, который может эффективно взаимодействовать с таблицей из нескольких тысяч, а то и десятков тысяч записей. Стройте интерфейс с функциями поиска, сортировки, группировки и фильтрации данных. 2. Избегайте "эксельную" технологию внесения правок в таблицы - помимо геморроя с обработкой всевозможных событий получите тучу непоняток со стороны юзеров, которые будут жаловаться на то, что программа "теряет данные" или "неверно запоминает". Любое изменение - в модальном окне ! 3. Сложные изменения в БД, касающихся нескольких таблиц, старайтесь реализовать через StoredProc на стороне сервера. Если это невозможно (сисадмин - Ваш личный враг), то либо пишите скрипты и выполняйте их, либо учитесь управлять транзакциями. Это непросто, но, научившись, Вы поймете как это прекрасно ! 4. Обрабатывайте исключения после ЛЮБОГО запроса к серверу. ЛЮБОГО ! Помните, что SQL-сервер как любимая женщина - любит-то любит, но может свалить в любой момент Т.е. может отлететь коннектор, умереть ПК с сервером, злобный электрик перережет провод, на подстанции слетит генератор и пропадет свет в серверной, уборщица мокрой тряпкой ткнет в попу Вашего системного блока и т.д. Мир полон неожиданностей, 99% из которых мы не можем предвидеть. 5. Не бойтесь держать открытыми несколько соединений к одному серверу и через них выполнять разные запросы к серверу в фоновом режиме (асинхронно). Это не только может сделать работу с Вашим приложением приятной для юзера, но и существенно повысит эффективность Вашего приложения в целом. Особенно, если оно будет работать на сотнях ПК (например, в крупной организации или корпорации)
1
|
13.08.2020, 20:02 | |
13.08.2020, 20:02 | |
Помогаю со студенческими работами здесь
9
Ошибка при подключении к базе данных Ошибка при подключении к базе данных Ошибка при подключении к базе данных Ошибка при подключении к базе данных Ошибка при подключении к базе данных QtSql Неопознанная ошибка при подключении к базе данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |