Не open server + foxpro | |
---|---|
ventall Автор Сообщений: 132 Дата регистрации: 29.11.2013 |
подскажите пожалуйста
создал форму, создал курсор адаптер, через data environment все добавил. все работает. подключается к sql серверу, данные изменяются, записываются. и это все работает ровно до паузы в 15 секунд. дальше вылетает ошибка: Connectivity error: unable to retrieve specific error information. Driver is probably out of resources нажимаем продолжить, и дальше опять все работает пока еще не сделаешь паузу на 15 секунд. Вычитал про SQLSETPROP(0, "ConnectTimeOut", 0), ставлю в лоад формы - не помогает, или я ее не правильно применяю... как изменить таймаут соединения? Исправлено 1 раз(а). Последнее : ssa, 08.09.19 09:35 |
Re: Не open server + foxpro | |
---|---|
ssa Сообщений: 12999 Откуда: Москва Дата регистрации: 23.03.2005 |
И с чего вы решили что дело во времени ожидания установки соединения с сервером? У вас процесс соединения с сервером не укладывается в 15 секунд?
Если да, то может заняться установлением и устранением причин такой задержки. Если нет, то каким боком тут Connection timeout и на что вы собрались влиять меняя этот параметр? Или вы еще ничего не выяснили, а просто наугад решили что раз 15 секунд, то это может быть только Connection timeout? ------------------ Лень - это неосознанная мудрость. |
Re: Не open server + foxpro | |
---|---|
ventall Автор Сообщений: 132 Дата регистрации: 29.11.2013 |
по этой ошибке здесь на сайте 2 темы, но там другая проблема, хотя тоже упоминалось похожее поведение при сворачивании программы. дальше просто гуглил и на зарубежных сайтах указывалась такая проблема и предположение что причина именно длительности соединения, и я решил что этот параметр устанавливает длительность соединения...
Исправлено 2 раз(а). Последнее : ventall, 08.09.19 10:25 |
Re: Не open server + foxpro | |
---|---|
ssa Сообщений: 12999 Откуда: Москва Дата регистрации: 23.03.2005 |
При обрыве соединения выдается совсем другое сообщение. Так что прежде чем кидаться что-то где-то исправлять поищите причину происходящего
------------------ Лень - это неосознанная мудрость. |
Re: Не open server + foxpro | |
---|---|
ventall Автор Сообщений: 132 Дата регистрации: 29.11.2013 |
начал с начала, создал форму,
в лоад формы PUBLIC lcDSN, lnConnHandle lcDSN="DRIVER=MariaDB ODBC 3.1 Driver;"+; "UID=root;"+; "STMT=;"+; "OPTION=16;"+; "PASSWORD=;"+; "SERVER=192.168.0.5;"+; "DATABASE=testdb;"+; "DESC=" lnConnHandle=SQLSTRINGCONNECT(lcDSN) WITH thisform SQLEXEC(lnConnHandle,"select * from fipa", "afipa") endwith далее на форме грид, все колонки прописаны, рекордсорс формы тоже. работает, для сохранения изменений добавил кнопку в клик a = afipa.id SQLEXEC(lnConnHandle, "update fipa set NAME = ?afipa.name,; ADRESA = ?afipa.adresa,; region = ?afipa.region where id = ?a") и работает так же, тоесть какое то время работает, данные обновляются, и потом уже без ошибки перестает обновляться. где копать, не знаю. настройки сервера? |
Re: Не open server + foxpro | |
---|---|
ssa Сообщений: 12999 Откуда: Москва Дата регистрации: 23.03.2005 |
Сообщение об ошибке отсылает к драйверу. Возможно надо принудительно закрывать/открывать соединение между запросами. ------------------ Лень - это неосознанная мудрость. |
Re: Не open server + foxpro | |
---|---|
ventall Автор Сообщений: 132 Дата регистрации: 29.11.2013 |
Вы правы, если закрывать/открывать - работает. Но как закрывать/открывать соединение в data environment используя курсор адаптер?
Исправлено 2 раз(а). Последнее : ventall, 08.09.19 13:23 |
Re: Не open server + foxpro | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
В общем и целом лучше не использовать DE - он довольно туго управляем. Свой контейнер для курсорадаптеров (или даже просто хранить их в свойствах формы - их не так уж и часто требуется 100 штук использовать на 1 форме ) и свой же код по открытию/обновлению/перезапросу.
Касаемо исходной проблемы с таймаутом - читать документацию по используемой версии сервера и ODBC драйвера. Вполне возможно что требуется всего лишь настройка соединения (опциями драйвера, или командами типа set session ...) Ну к примеру для MariaDB имеются различные "таймеры неактивности", принудительно закрывающие соединения mariadb.com Если поменять настройки сервера/соединения нельзя, или же проблема где-то посередине (например какой-то промежуточный сервер разрывает соединения) то нужно создать инфраструктуру для подключения/отключения адаптеров (это довольно муторное дело, если делать всё по уму и не плодить по 100500 отдельных соединений на каждый чих - против чего сервер, и его DBA тоже может сильно возражать ) или как минимум для реконнекта в случае ошибок - поиск по форуму в части SQLIdleDisconnect должен дать пищу для размышлений. ------------------ WBR, Igor |
Re: Не open server + foxpro | |
---|---|
ventall Автор Сообщений: 132 Дата регистрации: 29.11.2013 |
спасибо всем! SQLIdleDisconnect помог
|
Re: Не open server + foxpro | |
---|---|
rvc44 Сообщений: 2211 Откуда: Тамбов Дата регистрации: 06.12.2005 |
ventall, посмотрите готовое решение DBFToMySQL v1.0 - инструмент, который позволит вам экспортировать вашу базу данных и свободные DBF-таблицы Visual FoxPro в MySQL и MariaDB.
Ссылочка: developervfp.blogspot.com Исправлено 1 раз(а). Последнее : rvc44, 22.09.19 03:12 |
Re: Не open server + foxpro | |
---|---|
ventall Автор Сообщений: 132 Дата регистрации: 29.11.2013 |
спасибо!
|
© 2000-2024 Fox Club  |