powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Долго закрывается приложение после открытия FB-соединения
25 сообщений из 27, страница 1 из 2
Долго закрывается приложение после открытия FB-соединения
    #38840673
WebDebug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Создал новый проект в 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.
private void button1_Click(object sender, EventArgs e)
{
		string ConnectionString = "ServerType=1;User=SYSDBA;Password=masterkey;Dialect=3;Database=db.fdb";
		FbConnection Connection = new FbConnection(ConnectionString);
		try
		{
				Connection.Open();
				FbCommand readCommand = new FbCommand("Select * From bottles", Connection);
				FbDataReader myreader = readCommand.ExecuteReader();
				while (myreader.Read())
				{
						listBox1.Items.Add(myreader[2]);
				}
				myreader.Close();
				readCommand.Dispose();
				MessageBox.Show("End!");
		}
		catch (Exception x)
		{
				MessageBox.Show(x.Message);
		}
		finally
		{
				Connection.Close();
		}

}
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38840688
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WebDebug Нашел, что на это влияет Connection.Open().


Каким образом ты это нашел?
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38840696
WebDebug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С конца кода в try{...} комментировал по одному блоку кода. Когда только закомментил Open(), все стало закрываться моментально.
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38840867
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WebDebugС конца кода в try{...} комментировал по одному блоку кода. Когда только закомментил Open(), все стало закрываться моментально .
bugua....
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38840872
WebDebug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это что значит?
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38840929
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WebDebugЭто что значит? Из того, что вы написали... следует, что долгоиграющей операцией является Open.
Отсюда следствие - нужно оптимизировать именно эту часть кода. Возможно, следует использовать пул соединений , не знаю правда... работает ли он в embeded... правда это не спасет от лагов при первом соединении...

Варианты - скачать провайдера посвежее с http://www.firebirdsql.org/en/additional-downloads/ или попробовать http://www.ibprovider.com/eng/download.html
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38840940
WebDebug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Спасибо за ссылку. Посмотрю, что такое.
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38840941
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WebDebug, попробовать другого эмбедеда? SQLite... как вариант
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38840951
WebDebug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
buserWebDebug, попробовать другого эмбедеда? SQLite... как вариант
Нужен хорошо защищенный. В SQLite, насколько я помню, даже мастер-пароля нет. Или я ошибаюсь?
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38840955
WebDebug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
buserWebDebug, попробовать другого эмбедеда? SQLite... как вариант
Так-то он мне больше симпатизирует, и сам по себе простой, и работа с ним проста. Но у меня проект, где придется хранить в БД персональные данные работников компании. А SQLite-файл, как я понимаю, можно будет без проблем открыть любому человеку и смотреть...
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38840966
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WebDebug,

...хм .. если уж персональные данные штата компании, то уж как минимум можно MS SQL Express поставить ....
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38840969
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WebDebug, а... вот оно в чем причина тормозов http://www.firebirdsql.org/manual/fbmetasecur-embedded.html
ну и по поводу безопасности...
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38840978
WebDebug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
carrotikWebDebug,...хм .. если уж персональные данные штата компании, то уж как минимум можно MS SQL Express поставить ....

С радостью :) На компах в компании уже он установлен. Но необходима именно переносная версия, без зависимости от SQL-сервера.
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38840982
WebDebug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
buserWebDebug, а... вот оно в чем причина тормозов http://www.firebirdsql.org/manual/fbmetasecur-embedded.html
ну и по поводу безопасности...

Читаю-то англ. нормально, но как это "перевести" под мою проблему? Никаких упоминаний о производительности не увидел в статье. По поводу безопасности - понятно.
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38840987
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WebDebug, авторWhen an application links to this library it loads the server
Но поди это только при первом обращении... х.з... не знаю как оно работает :)
ну открывайте коннект сразу при старте и закрывайте токмо на выходе из приложения...
да и шифровать можно налету сами данные... объем-то небольшой...
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38840990
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WebDebug,
Вы попробуйте пулинг в строке соединения указать, и там же поиграться временем жизни соединения.
провайдеры у них всегда воняли немного,
зы какие то странные у вас миро ощущения - каждому пользователю по базе данных.
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38840998
WebDebug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
buserну открывайте коннект сразу при старте и закрывайте токмо на выходе из приложения...
Это чем может помочь? Мне кажется, это толку не даст. Самое интересное - полгода назад делал именно на этих же библиотеках (т.е. просто скопировал) для php DevelStudio - так там все получилось идеально, без сучка как говорится..

Т.е. проблема связана наверное не с сервером, а с ADO.NET.

Посмотрел IBProvider. Наверное хорошая штука. Но слишком дорогая. В форуме нашел последнюю из бесплатных (для FB<=2.0) версий - но ссылка на DLL не подключается: "Убедитесь, что файл доступен и является допустимой сборкой или компонентом COM".
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38841006
WebDebug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Где-то в степиWebDebug,
Вы попробуйте пулинг в строке соединения указать, и там же поиграться временем жизни соединения.
провайдеры у них всегда воняли немного,
зы какие то странные у вас миро ощущения - каждому пользователю по базе данных.

Попробую, хотя уже пробовал с Connection lifetime.

Каждому пользователю по БД - нет, не совсем так. Работников много, но программа только у нескольких руководителей, но у этих нескольких руководителей очень много рабочих мест, в т.ч. домашние компьютеры. И они будут переносить программу между своими рабочими местами. А сами данные у всех - свои. Т.е. например, у директора - одно (полные данные), у бухгалтера - только нужные ему данные, и т.д. Задача такова, что внесение, и обработку каждый выполняет у себя, т.е. единая БД не нужна. Это слово заказчика :)
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38841010
WebDebug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какие еще есть хорошие варианты embedded-БД для нормальной работы с MS Visual C#?
Например, из этих .
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38841013
WebDebug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WebDebugКакие еще есть хорошие варианты embedded-БД для нормальной работы с MS Visual C#?
Например, из этих .

Подозреваю, что SQL Server Compact должно быть нормальной заменой FB?
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38841022
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WebDebug,
авторЭто слово заказчика
гы бред какой то..
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38841028
WebDebug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я бы тоже подумал что бред. Если бы не участвовал в обсуждении с заказчиком. Я сам программист, хотя только в веб, но с позицией заказчика почти полностью согласен. Ну не нужна там единая база. Это просто как своя личная прикладная программа для каждого из руководителей и бухгалтера. Это не система учета. Это просто блокнот с персональными данными. Но их нужно загнать в защищенную паролем БД, т.к. этого требует, как я понял, законодательство. Уж не знаю, какое именно, не мое это дело.
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38841397
WebDebug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил проблему. Заменил все пять необходимых DLL из более старой версии:

было:
Firebird-2.5.3.26780 (последняя на сегодня)

стало:
Firebird-2.0.7.13318

Пробовал еще с несколькими версиями, которые были у меня - пришел к выводу, что эта проблема во всех версиях, выше 2.0.x

Теперь все работает, и прога закрывается мгновенно.
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38844755
Коваленко Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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).
...
Рейтинг: 0 / 0
Долго закрывается приложение после открытия FB-соединения
    #38844758
WebDebug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Слишком дорогое решение для данной задачи. На сегодняшний день IBProvider стоит 18т.р.
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Долго закрывается приложение после открытия FB-соединения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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