|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
Здравствуйте. Создал новый проект в MS Visual C# Express. Установил на комп ADO.NET от Firebird, указа ссылку на его DLL. Firebird использую Embedded-версию. Все отлично коннектится, SQL-запросы отлично выполняются. Но возникла проблема там, где не ждали: на закрытие программы уходит несколько секунд (в среднем - от 4 до 10). Нашел, что на это влияет Connection.Open(). Но как теперь исправить - не понимаю. Только начинаю изучать C#, поэтому что и как делать в таких случаях пока не знаю. Код: Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 15:06 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
WebDebug Нашел, что на это влияет Connection.Open(). Каким образом ты это нашел? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 15:12 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
С конца кода в try{...} комментировал по одному блоку кода. Когда только закомментил Open(), все стало закрываться моментально. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 15:16 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
WebDebugС конца кода в try{...} комментировал по одному блоку кода. Когда только закомментил Open(), все стало закрываться моментально . bugua.... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 16:50 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
Это что значит? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 16:52 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
WebDebugЭто что значит? Из того, что вы написали... следует, что долгоиграющей операцией является Open. Отсюда следствие - нужно оптимизировать именно эту часть кода. Возможно, следует использовать пул соединений , не знаю правда... работает ли он в embeded... правда это не спасет от лагов при первом соединении... Варианты - скачать провайдера посвежее с http://www.firebirdsql.org/en/additional-downloads/ или попробовать http://www.ibprovider.com/eng/download.html ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 17:36 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
buserдолгоиграющей операцией является Open. Да, я об этом и писал в первом посте. Но проблема кроется уже не в моем коде, поэтому еще глубже локализовать не знаю как. buser http://www.firebirdsql.org/en/net-examples-of-use/#connection_pooling Задавать именно эти параметры пула пробовал, без результатно. buserскачать провайдера посвежее с http://www.firebirdsql.org/en/additional-downloads/ Именно последняя версия и используется, с самого начала. buser http://www.ibprovider.com/eng/download.html Спасибо за ссылку. Посмотрю, что такое. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 17:41 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
WebDebug, попробовать другого эмбедеда? SQLite... как вариант ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 17:43 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
buserWebDebug, попробовать другого эмбедеда? SQLite... как вариант Нужен хорошо защищенный. В SQLite, насколько я помню, даже мастер-пароля нет. Или я ошибаюсь? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 17:50 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
buserWebDebug, попробовать другого эмбедеда? SQLite... как вариант Так-то он мне больше симпатизирует, и сам по себе простой, и работа с ним проста. Но у меня проект, где придется хранить в БД персональные данные работников компании. А SQLite-файл, как я понимаю, можно будет без проблем открыть любому человеку и смотреть... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 17:52 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
WebDebug, ...хм .. если уж персональные данные штата компании, то уж как минимум можно MS SQL Express поставить .... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 17:57 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
WebDebug, а... вот оно в чем причина тормозов http://www.firebirdsql.org/manual/fbmetasecur-embedded.html ну и по поводу безопасности... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 18:01 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
carrotikWebDebug,...хм .. если уж персональные данные штата компании, то уж как минимум можно MS SQL Express поставить .... С радостью :) На компах в компании уже он установлен. Но необходима именно переносная версия, без зависимости от SQL-сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 18:08 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
buserWebDebug, а... вот оно в чем причина тормозов http://www.firebirdsql.org/manual/fbmetasecur-embedded.html ну и по поводу безопасности... Читаю-то англ. нормально, но как это "перевести" под мою проблему? Никаких упоминаний о производительности не увидел в статье. По поводу безопасности - понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 18:13 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
WebDebug, авторWhen an application links to this library it loads the server Но поди это только при первом обращении... х.з... не знаю как оно работает :) ну открывайте коннект сразу при старте и закрывайте токмо на выходе из приложения... да и шифровать можно налету сами данные... объем-то небольшой... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 18:19 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
WebDebug, Вы попробуйте пулинг в строке соединения указать, и там же поиграться временем жизни соединения. провайдеры у них всегда воняли немного, зы какие то странные у вас миро ощущения - каждому пользователю по базе данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 18:24 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
buserну открывайте коннект сразу при старте и закрывайте токмо на выходе из приложения... Это чем может помочь? Мне кажется, это толку не даст. Самое интересное - полгода назад делал именно на этих же библиотеках (т.е. просто скопировал) для php DevelStudio - так там все получилось идеально, без сучка как говорится.. Т.е. проблема связана наверное не с сервером, а с ADO.NET. Посмотрел IBProvider. Наверное хорошая штука. Но слишком дорогая. В форуме нашел последнюю из бесплатных (для FB<=2.0) версий - но ссылка на DLL не подключается: "Убедитесь, что файл доступен и является допустимой сборкой или компонентом COM". ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 18:29 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
Где-то в степиWebDebug, Вы попробуйте пулинг в строке соединения указать, и там же поиграться временем жизни соединения. провайдеры у них всегда воняли немного, зы какие то странные у вас миро ощущения - каждому пользователю по базе данных. Попробую, хотя уже пробовал с Connection lifetime. Каждому пользователю по БД - нет, не совсем так. Работников много, но программа только у нескольких руководителей, но у этих нескольких руководителей очень много рабочих мест, в т.ч. домашние компьютеры. И они будут переносить программу между своими рабочими местами. А сами данные у всех - свои. Т.е. например, у директора - одно (полные данные), у бухгалтера - только нужные ему данные, и т.д. Задача такова, что внесение, и обработку каждый выполняет у себя, т.е. единая БД не нужна. Это слово заказчика :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 18:34 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
Какие еще есть хорошие варианты embedded-БД для нормальной работы с MS Visual C#? Например, из этих . ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 18:37 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
WebDebugКакие еще есть хорошие варианты embedded-БД для нормальной работы с MS Visual C#? Например, из этих . Подозреваю, что SQL Server Compact должно быть нормальной заменой FB? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 18:40 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
WebDebug, авторЭто слово заказчика гы бред какой то.. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 18:47 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
Я бы тоже подумал что бред. Если бы не участвовал в обсуждении с заказчиком. Я сам программист, хотя только в веб, но с позицией заказчика почти полностью согласен. Ну не нужна там единая база. Это просто как своя личная прикладная программа для каждого из руководителей и бухгалтера. Это не система учета. Это просто блокнот с персональными данными. Но их нужно загнать в защищенную паролем БД, т.к. этого требует, как я понял, законодательство. Уж не знаю, какое именно, не мое это дело. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2014, 18:56 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
Решил проблему. Заменил все пять необходимых DLL из более старой версии: было: Firebird-2.5.3.26780 (последняя на сегодня) стало: Firebird-2.0.7.13318 Пробовал еще с несколькими версиями, которые были у меня - пришел к выводу, что эта проблема во всех версиях, выше 2.0.x Теперь все работает, и прога закрывается мгновенно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2014, 10:55 |
|
Долго закрывается приложение после открытия FB-соединения
|
|||
---|---|---|---|
#18+
WebDebugbuser http://www.ibprovider.com/eng/download.html Спасибо за ссылку. Посмотрю, что такое. На всякий случай подскажу как именно надо смотреть: 1. Поставить IBProvider (оба MSI - для 32-х и 64-х бит) - это OLEDB, не ADO.NET. 2. Поставить LCPI ADO.NET для OLEDB - это уже ADO.NET (альтернатива для System.Data.OleDb). 3. Добавить ссылки на сборки "LCPI ADO.NET для OLEDB" 4. Использовать компоненты из пространства имен lcpi.data.oledb В дистрибутиве .NET провайдера есть примеры (продублированы на сайте). Должны компилироваться без проблем :) Пул подключений будет OLEDB-шный. Его можно либо включить, либо выключить. По-умолчанию он включен. А, ну да - путь к DLL embedded-сервера надо указывать через свойство инициализации dbclient_library (dbclient_library_64). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2014, 13:26 |
|
|
start [/forum/topic.php?fid=20&msg=38844758&tid=1402072]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
35ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 334ms |
total: | 469ms |
0 / 0 |