C# и Базы данных
От: STEEL  
Дата: 26.05.06 07:08
Оценка:
Я только начинаю осваивать ДОТНЕТ, да и вообще Студию .НЕТ, ранее работал с Дельфи. У меня такой вопрос закрался, как вообще работать с базами, помимо MS SQL Server ? Например с Interbase/FireBird ? Для Дельфи существует масса отличных компонентов для различных бд.
Re: C# и Базы данных
От: fmiracle  
Дата: 26.05.06 07:58
Оценка:
Здравствуйте, STEEL, Вы писали:

STE>Я только начинаю осваивать ДОТНЕТ, да и вообще Студию .НЕТ, ранее работал с Дельфи. У меня такой вопрос закрался, как вообще работать с базами, помимо MS SQL Server ? Например с Interbase/FireBird ? Для Дельфи существует масса отличных компонентов для различных бд.


Так же множеством отличных провайдеров для разных БД.

тут для для IB/FB:
http://www.firebirdsql.org/index.php?op=files&id=netprovider


Еще можно более-менее универсально через ODBC&OleDB, но "родной" .net-провайдер обычно лучше.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: C# и Базы данных
От: Andrew Merkulov Россия www.ibprovider.com
Дата: 29.05.06 07:44
Оценка:
Здравствуйте, fmiracle, Вы писали:

F>Здравствуйте, STEEL, Вы писали:


STE>>Я только начинаю осваивать ДОТНЕТ, да и вообще Студию .НЕТ, ранее работал с Дельфи. У меня такой вопрос закрался, как вообще работать с базами, помимо MS SQL Server ? Например с Interbase/FireBird ? Для Дельфи существует масса отличных компонентов для различных бд.


F>Так же множеством отличных провайдеров для разных БД.


F>тут для для IB/FB:

F>http://www.firebirdsql.org/index.php?op=files&amp;id=netprovider


F>Еще можно более-менее универсально через ODBC&OleDB, но "родной" .net-провайдер обычно лучше.


А можно поинтересоваться чем лучше .Net провайдер от связки OleDb Provider — ADO.Net ?


Немного обо мне, и моем круге
Мои профиль в LiveLib &mdash; книги
Re[3]: C# и Базы данных
От: fmiracle  
Дата: 30.05.06 06:36
Оценка:
AM>А можно поинтересоваться чем лучше .Net провайдер от связки OleDb Provider — ADO.Net ?

Убирается лишний посредник и имеется больше информации о том, с какой базой работаем, ее детали, что потенциально дает следующие бонусы:

1. Расширения, специфичные для данной базы (типа ConnectionBuilder и т.д.) — не критично, но иногда весьма удобно.
2. Более эффективные обращения к базе — например, для управления соединениями, запроса прекомпиляции команд или извлечения результатов.
3. Опять же, поскольку четко известно что за база, может предоставляться более подробная информация об ошибках — либо иерархией исключений, либо полями в единственном классе исключения.


В общем и целом родной .net провайдер для конекретной базы может быть эффективнее в работе и при этом удобнее чем OleDb, хотя, конечно же, всегда можно написать провайдер неудобным и неэффективным
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: C# и Базы данных
От: Andrew Merkulov Россия www.ibprovider.com
Дата: 30.05.06 07:25
Оценка:
Здравствуйте, fmiracle, Вы писали:

AM>>А можно поинтересоваться чем лучше .Net провайдер от связки OleDb Provider — ADO.Net ?


F>Убирается лишний посредник и имеется больше информации о том, с какой базой работаем, ее детали, что потенциально дает следующие бонусы:


F>1. Расширения, специфичные для данной базы (типа ConnectionBuilder и т.д.) — не критично, но иногда весьма удобно.


В некотором роде да:
OleDbConnectionStringBuilder cb = new OleDbConnectionStringBuilder(connection_string1);
Console.WriteLine("Provider: " + cb.Provider);
Console.WriteLine("Data Source: " + cb.DataSource);


F>2. Более эффективные обращения к базе — например, для управления соединениями, запроса прекомпиляции команд или извлечения результатов.


Все зависит от прямоты рук разработчика провайдера. Если сравнивать с System.Data.OleDb то там что-то совсем все плохо. Это лишь неудачная попытка использовать OleDb в контексте .Net.


F>3. Опять же, поскольку четко известно что за база, может предоставляться более подробная информация об ошибках — либо иерархией исключений, либо полями в единственном классе исключения.


Набор стандартных ошибок OleDb ~ 200. Набор контролируемым ошибок БД приложением определенно невелик. Гораздо эффективнее не контролировать, а исключать возможность их появления на уровне логики. Я обычно ограничиваюсь проверкой — была ошибка или нет с выводом её описания. Хотя если такие ошибки появляются — значит есть проблемы в реализации приожения Иерархия исключений — наверное плюс.

F>В общем и целом родной .net провайдер для конекретной базы может быть эффективнее в работе и при этом удобнее чем OleDb, хотя, конечно же, всегда можно написать провайдер неудобным и неэффективным


Насчет производительности Native Provider-a не могу судить. Хотя если оценить общую тенденцию производительности .Net based приложений не думаю, что он будет эффективнее работать с DB API чем его com-аналог.

Небольшое резюме:
1. Существующая реализация System.Data.OleDb имеет недоработки и весьма неэффективную реализацию. Есть подозрения, что все это следствия помыток обеспечить совместимость с наибольшим количеством типов баз данных, хотя наверное Правильно было бы реализовать весь потенциал OleDb интерфейсов, а их реализацию с другой стороны оставить на откуп разработчикам OleDb Provider-ов
2. Native провайдер безусловно при грамотной реализации способен обеспечить большую функциональность, специфичную для конкретной базы данных, но вместе с тем лишает разработчика использовать свои приложения с различными БД.


Немного обо мне, и моем круге
Мои профиль в LiveLib &mdash; книги
Re[4]: C# и Базы данных
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 30.05.06 11:59
Оценка:
Здравствуйте, fmiracle, Вы писали:

AM>>А можно поинтересоваться чем лучше .Net провайдер от связки OleDb Provider — ADO.Net ?


F>Убирается лишний посредник


Это декларировалось для каждой технологии доступа к БД. Потом народ наступал на грабли реализации и ему это было уже до.... фонаря.

F>1. Расширения, специфичные для данной базы (типа ConnectionBuilder и т.д.) — не критично, но иногда весьма удобно.

F>2. Более эффективные обращения к базе — например, для управления соединениями, запроса прекомпиляции команд или извлечения результатов.
F>3. Опять же, поскольку четко известно что за база, может предоставляться более подробная информация об ошибках — либо иерархией исключений, либо полями в единственном классе исключения.

Ты не поверишь, все это есть в рамках OLEDB интерфейсов. Расширения тоже можно сваять, но вот вопрос — зачем?
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[2]: C# и Базы данных
От: SergeVL  
Дата: 31.05.06 08:18
Оценка:
Здравствуйте, fmiracle, Вы писали:

F>Так же множеством отличных провайдеров для разных БД.


F>тут для для IB/FB:

F>http://www.firebirdsql.org/index.php?op=files&amp;id=netprovider

а при установке приложений, написанных с использованием этого провайдера, на
"голую" машину его нужно устанавливать?
Re[3]: C# и Базы данных
От: fmiracle  
Дата: 01.06.06 09:57
Оценка:
F>>тут для для IB/FB:
F>>http://www.firebirdsql.org/index.php?op=files&amp;id=netprovider

SVL>а при установке приложений, написанных с использованием этого провайдера, на

SVL>"голую" машину его нужно устанавливать?

Вроде нет..
Я почти не пользовался Firebird за исключением пробы применить его как embedded (но только пробы — окончательно я выбрал SQLite) — в виде embedded работало без дополнительных установок, насколько я помню.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: C# и Базы данных
От: Аноним  
Дата: 26.05.06 17:23
Оценка:
И только спустя некоторое время ты поймешь, что зря слез с Delphi...


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: C# и Базы данных
От: Аноним  
Дата: 27.05.06 09:58
Оценка:
> И только спустя некоторое время ты поймешь, что зря слез с Delphi..

тут нам деваться некуда. Microsoft решила все за нас


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: C# и Базы данных
От: Аноним  
Дата: 27.05.06 11:05
Оценка:
Делфи — это отстой.... Я сам раньше на нём писал.....но когда перешёл на .НЕТ — я попал в другой мир....где всё сделано для программиста и для разработки высококачественных продуктов...
Мало того, .НЕТ открывает гораздо больше возможностей и методов решения для любых хадач.... Поэтому, когда я слышу, что кто-то говорит, что .НЕТ по сравнению с Делфи фигня или, что возможности Делфи не намного ниже, чем .НЕТ — мне смешно это слышать. И складывается такое впечатление, что человек, кот. так говорит, пишет это из-за ограниченности в информации...или из-за того, что он просто должен сидеть на Делфи и у него нет возможности перейти на .НЕТ. Т.о. он пытается отстоять, что тем, чем он занимается — перспективно. Но тем самым он обманывает самого себя....
А что вы будете делать, когда выйдет новый пакет "Windows"? В которой не будет Вин Апи? М? Что тогда?
Понятно, что пройдёт лет 5 пока она станет на ноги, но всё равно, уже понятно, что Делфи — устаревает для разработки приложений....точно также, как ПХП для интернет приложений...
Вообщем, над этим можно много дискуссировать....
Сразу прошу прощения, если задел чьё-то самолюбие или кому-то показались мои слова обидными...

**Genius**



данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
C# и Базы данных
От: Аноним  
Дата: 27.05.06 11:12
Оценка:
Прочти книгу Сеппа... Там всё есть...
http://www.zipsites.ru/books/seppa_microsoft_ado_net/
Я тоже с Дельфей перешел
http://www.gotdotnet.ru/Forums/Common/316607.aspx#319907
No comments


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
C# и Базы данных
От: Аноним  
Дата: 27.05.06 11:12
Оценка:
А к FireBird Вам лучше коннектиться через ОЛЕ ДБ провайдер или через родной (но так я, по правде, не делал) провайдер.
Тут технология АДО.НЕТ, а не просто АДОшка. Концепция другая. Учите .НЕТ — вы на правильном пути

**Genius**



данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
C# и Базы данных
От: Аноним  
Дата: 27.05.06 11:21
Оценка:
Гениус Логитекович, школу закончи сначала...

Не так всё просто в этом мире.

Прежде чем что-то хаять, нужно это что-то знать. Я тебе могу привести КУЧУ примеров, когда дотнеть suxx по полной программе.

Compiling: for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
Compiling: Success.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
C# и Базы данных
От: Аноним  
Дата: 27.05.06 11:46
Оценка:
Вот именно о таком обиженном человеке я и говорил...и просил не принимать мои слова близко к сердцу, а тем более не писать оскорблений... Поэтому, если кто-то хочет что-то мне сказать, прошу это делать корректно, а не плеваться дурацкими шутками уровня подготовительной группы детского сада....

**Genius**



данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
C# и Базы данных
От: Аноним  
Дата: 27.05.06 14:29
Оценка:
Это я-то "обиженый"?!?!?!?

Хотя чего еще ожидать от человека с ТАКИМ ником...

Подрости немного.

Книжки и реальная жизнь зачастую ой как расходятся. А если еще вместо книжек руководствоваться только одним "правильным мнением"...

У каждой медали как минимум 3(три) стороны.

Успехов.


Compiling: for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
Compiling: Success.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
C# и Базы данных
От: Аноним  
Дата: 27.05.06 14:38
Оценка:
....ну с твоим "взрослым" ником не посоперничаешь.... Сразу видно опытный программист, который во многом разбирается....а особенно — в .НЕТ...
У меня тут весь офис сиеётся над твоими сообщениями

**Genius**



данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
C# и Базы данных
От: Аноним  
Дата: 27.05.06 16:11
Оценка:
Ну смейтесь дальше. Приятно людей повеселить.

Жаль, что тут в UK не продаются книги Задорнова и Жванецкого. Я бы вам в офис прислал — еще бы веселей стало.

Compiling: for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
Compiling: Success.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: C# и Базы данных
От: Аноним  
Дата: 27.05.06 16:15
Оценка:
>> Мало того, .НЕТ открывает гораздо больше возможностей и методов решения для любых хадач....

В чем заключается больше возможностей? Почему-то когда говорят о возможностях, то это только возможности для программистов. А где возможности для пользователей. Что выигрывает пользователь от увеличения эфемерных возможностей программиста? Если производитель выпускает новую видеокарту, вы ждете от нее лучшего быстродействия не так ли. Будете ли вы покупать эту видеокарту, если она будет медленнее уже установленной у вас, но зато вам скажут, что она сделана по новой технологии. А в виде плюсов технологии будут говорить, что в применяя эту технологию производителю стало гораздо легче работать. Вам как пользователю абсолютно безразлично насколько хорошо и комфортно работалось производителю. Вам нужен конечный результат.
Не кажется ли вам, что нет таких популярных продуктов типа офиса на NET не потому, что что-то там долго переписывать (за 5 лет то), а потому, что пользователь сможет сравнить с тем , что у него уже есть и отдать предпочтение старому доброму Win API. Честно говоря, мне все равно на чем написано приложение, но если мне есть с чем сравнить вы думаете я не буду учитывать как приложение работает на моем компьютере?

>>или из-за того, что он просто должен сидеть на Делфи и у него нет возможности перейти на .НЕТ. Т.о. он пытается отстоять, что тем, чем он занимается — перспективно. Но тем самым он обманывает самого себя....


А я не пойму, хоть убей, чем Delphi не перспективно. Что такое страшное грядет? Windows без Win API? Что-то с трудом верится. Даже если представить что это будет, то кому она будет нужна без поддержки Win API приложений. И самое смешное во всем этом то, что агитаторы NET все время пекутся о перспективах и будущем, такое ощущение, что они там уже живут. При социализме тоже все пеклись о будущем, забывая при этом о настоящем. И что в итоге? Будущее так и не наступило, а настоящее потеряли. Вы так и не поняли, что Хейльсберг специально ушел в MS, чтобы изнутри подточить ее NET’ом в пользу более производительного своего детища – Delphi.

Я ни в коем случае не умаляю возможностей NET, но не кажется ли вам господа, что закон сохранения работает и в данном случае. Выигрываете в скорости разработки, теряеете в производительности готового продукта. Убрали проблемы работы с памятью, получили проблемы работы с памятью самого GC. (Не надо только говорить что их нет в ресурсоемких приложениях). Как говорится чисто не там где метут, а там где не сорят. Что особенно актуально, когда вы, как программист даже не в курсе, кто у вас в приложении сорит, и кто и когда подметет.

Пару слов про ADO.NET. Все хорошо до поры до времени. Вот есть у вас табличка мастер и есть табличка деталь. Вам надо их обработать (не путать с просмотром). А то постоянно слышно, да зачем тебе 100000 записей на клиенте, он все равно их не просмотрит. А мне и не надо чтоб он их просматривал, мне надо чтобы моя программа их обработала по определенному алгоритму. И что в этом случае делать? Тащить 100 тыс. записей мастера и 4 млн деталей? Чтобы работали связи в DataSetе получается так и надо поступить. Или надо брать по 1 записи мастера и все записи деталей. Обработал, взял следующую. Но тогда чем это лучше Delphi реализаций? А может хуже? Там выделил память поработал, освободил. А здесь получается, выделил, выделил, выделил и хрен его знает когда освободил. Понятно, что память дешевая. Но если у меня много комнат, это не значит, что их все надо загадить.
Вобщем рановато еще Delphi хоронить. Ой, рановато. Особенно когда дело касается работы с базами данных.



данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: C# и Базы данных
От: Аноним  
Дата: 27.05.06 16:32
Оценка:
>>У меня тут весь офис сиеётся над твоими сообщениями

Интересно, у тебя что офис по субботам работает? У ж не от недостатка ли производительности в выходные трудитесь?
А BlackTigerAP можно уважать уже за его активность здесь, причем весьма полезную. Так что нечего ржать так громко.



данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.