Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi + MSSQL - какой метод доступа выбрать? / 24 сообщений из 24, страница 1 из 1
30.10.2003, 18:03
    #32310905
NetFantom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
Вопрос именно по работе с MSSQL Server.
Использую в разработке MSSQL 2000 Developer Ed.

Собственно разбалованный Oracle и DOA поэтому возникли определеннные проблеммы, на которые наверняка ответят те кто постоянно работает с MSSQL.
1) Не удалось настоить алиас напрямую через BDE (с помощью BDE администратор) - не принимает логин/пароль.
2) Настроил на работу через ODBC - все заработало. Использую стандартные БДЕ компоненты типа TQuery - не понимает поля типа ntext. Ну из этого пока вышел тем что использую тип Image, которые воспринимается bde-компонентами как BLOB.
3) Все-таки не нравится мне через BDE. Имеет ли смысл перейти на ADO? Впринципе, с точки зрения разработки разницы особой нету, будет ли увеличена производительность? (учитывая что работаю опять же через ODBC).
4) Хотел попробовать через dbExpress, но там нет драйвера для MSSQL - как можно настроить?
5) Есть ли какие-то специализированные компоненты/классы для прямого доступа к MSSQL наподобии DOA для Oracle? (ну кроме dbExpress который я так и не смог завести).
...
Рейтинг: 0 / 0
30.10.2003, 18:17
    #32310931
selen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
Есть смысл работать через ADO, работает быстрее, не нужно настраивать машину клиента, достаточно что бы был установлент MDAC. Да и глюков у него поменьше чем у BDE.
...
Рейтинг: 0 / 0
30.10.2003, 18:46
    #32310975
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
Или ADO, или dbexpress - для MS SQL скачай апдэйт к Дельфе, там добавлен драйвер.

Про BDE забудь лучше :)

-- Tygra's --
...
Рейтинг: 0 / 0
31.10.2003, 12:55
    #32311651
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
Согласен, ADO предпочтительнее, чем BDE, хотя глюков тоже хватает.
DBExpres годится для выборки данных из БД.

Можно работать напрямую с Com интерфейсами самого MSSQL, включая его компоненты типа DTS и агентов - Вы все свое держите подконтролем. Но компонентов нет и обработку почти каждого чиха MSSQL придется писать самому.
...
Рейтинг: 0 / 0
31.10.2003, 13:08
    #32311688
srf2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
почему все про SDAC забывают?
http://crlab.com/sdac/
...
Рейтинг: 0 / 0
31.10.2003, 13:15
    #32311708
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
2srf2000 :

ну ты разве дашь Это что-то типа старых песен о главном? Ну давай - рекламируй - на кой это SDAC нужен?
...
Рейтинг: 0 / 0
31.10.2003, 13:22
    #32311724
srf2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
я говорю про возможность
...
Рейтинг: 0 / 0
31.10.2003, 13:57
    #32311825
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
ну тогда однозначно DB lib, ну или на худой конец - OLE DB
...
Рейтинг: 0 / 0
31.10.2003, 15:41
    #32312025
Дятел
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
NetFantom писал:
...учитывая что работаю опять же через ODBC...

А почему через ODBC? Можно ведь через "OLE-DB Provider for SQL server". Он, вроде, в стандартную поставку MDAC входит...
...
Рейтинг: 0 / 0
31.10.2003, 17:50
    #32312260
uranic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
Опа, такие же проблемы. DOA действительно разбаловал!
Любые извращенные фантазии по работе с данными реализовывались легко и просто. Практические любые возможности Oracle.

Сейчас попытка на MSSQL + ADO. Из компонент пробовал TBetterADODataSET
Но похоже прийдется от него отказаться.

Если особо не заморачиваться с вьюшками то с ADO можно работать.
Сейчас написал своего наследника в котром пока вытащил вкусности от TBetterADODataSET.

Если проект простой, то возможно и подойтет dbexpress, но как же ты будешь мучаться вспоминая DOA!

пока смотрел trial SDAC, в принципе стандартный набор действий позволяют произвести, но сейчас поджимать время и смотреть дальше не стал.

Если с ADO будет очень туго, то буду еще раз смотреть на SDAC.
Хотелось бы услышать отзывы людей использовавших его в работе.
Пока никто не отозвался.
...
Рейтинг: 0 / 0
02.11.2003, 15:35
    #32312774
andranick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
DB-Library или OLE DB? -> OLE_DB (уже не BDE)

ADO или DBExpress -> BORLAND будет поддерживать DBExpress, значит
предподчтительнее DBExpress
...
Рейтинг: 0 / 0
02.11.2003, 20:36
    #32312866
Denis A.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
dbExpress глюкавая, если уж идет завязка на Winплатформу, да к тому же MSSQL - берите ADO.
...
Рейтинг: 0 / 0
03.11.2003, 10:16
    #32313119
uranic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
Дык, в том то и дело, что хочется компонент заточенных для использования в прикладных задачах. Не хочется изобретать велосипеды, а хочется деньги зарабатывать.

На мой взгляд ADO слишком универсально, чтобы на нем писать клиента для одного MSSQL.

dbExpress - это явно не для больших прикладных задач.
...
Рейтинг: 0 / 0
03.11.2003, 10:35
    #32313148
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
автор писал:На мой взгляд ADO слишком универсально, чтобы на нем писать клиента для одного MSSQL.

dbExpress - это явно не для больших прикладных задач.

С таким подходом Вам в программировании делать нечего - идите велосипеды изобретать :)

-- Tygra's --
...
Рейтинг: 0 / 0
03.11.2003, 13:19
    #32313436
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
2 uranic

автор писал:dbExpress - это явно не для больших прикладных задач

Позвольте поинтересоваться, а какой фнкциональности не хватает вам в dbExpress. И что вы понимаете под большими прикладными задачами ?
...
Рейтинг: 0 / 0
03.11.2003, 22:41
    #32314197
uranic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
Вполне конкретный топик стал опускаться до уровня трепа.
Поскольку я надеюсь еще, что-то полезное вынести отсюда, то попробую ответить по порядку:

2tygra
:
Про подходы: Мне проще заплатить 200-300$ за библиотеку, которая:
1. Позволяет быстро и качественно решать проблемы возникающие перед
мной при написании клиентской части.
2. Которую использует еще не один десяток разработчиков, и соответственно
вероятность того, что в ней есть ошибки сведена к минимуму.
3. Библиотека не должна быть мертвой.

Примером таких библиотек на которых я писал, назвал бы DOA и FIBS.

Про велосипеды: я конечно понимаю, что без снобизма написать 3000 сообщений
невозможно, но если вам нравиться пользоваться только стандартными компонентами
Delphi и писать кипятком, когда вам наконец-то удалось в гриде нарисовать checkbox,
что же наверное этот путь для вас.

2pkarklin:

Я имею ввиду КИС. Количество пользователей одновременно работающих с базой
начиная от 20, таблиц от 100.

Я так понял вы знаток dbExpress? Может опишете свои отзывы по
использованию dbExpress, или вы тока ради "флейма" пишите? Особенно
по след пунктам:

1. Мне не нравятся однонаправленные курсоры. Уж если я вытянул
данные на клиента в датасет, то уж будьте добры дать мне
возможность по моему вкусу изменить запросы на Update, Insert, и
RefreshRecord. Да, если можно, я даю пользователями менять данные
прямо в гриде (QuantumGrid)!
2. Любой датасет на клиенте (вне зависимости от того сколько
там соединений и условий) я должен иметь возможность, без лишнего
напряжения, сделать редактируемым. Обычный пользователь даже и
не догадывается во сколько таблиц и как я сохраняю данные.
4. Что Нам скажет dbExpress о поводу получения identy полей, без
дополнительных ухищрений в виде GUID? (Здесь я не в курсе, может
быть что поменялось со времен моего последнего с ним
знакомства).
3. Я хочу легко и непринужденно выдавать пользователю
понятные сообщения на русском языке, в зависимости от срабатывания того или
иного check, constraint и FK, раз уже бизнес логика реализована на
сервере.
4. Работать с русскими названиями таблиц, включая пробелы.
5. Работа с хранимыми процедурами (в том числе и которые возвращают
рекордсет), функциями, представлениями(в том числе и редактируемыми) и блобами
не должна вызывать головной боли.
6. Связки мастер-деталь датасетов, должны делаться что называется в
два клика.

Все эти положения сильно упрощают жизнь разработчику, поэтому и
хотел услышать отзывы людей которые сделали и поддерживают реально
работающие системы.
...
Рейтинг: 0 / 0
04.11.2003, 09:07
    #32314321
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
2 uranic

Я имею ввиду КИС. Количество пользователей одновременно работающих с базой начиная от 20, таблиц от 100.

Имел дела с системами и по круче.

Я так понял вы знаток dbExpress? Может опишете свои отзывы по
использованию dbExpress, или вы тока ради "флейма" пишите? Особенно
по след пунктам:


Сам себя знатоком не считаю, пусть другие об этом судят.

1. Мне не нравятся однонаправленные курсоры. Уж если я вытянул
данные на клиента в датасет, то уж будьте добры дать мне
возможность по моему вкусу изменить запросы на Update, Insert, и
RefreshRecord. Да, если можно, я даю пользователями менять данные
прямо в гриде (QuantumGrid)!


Не поняли вы, uranic, основное предназначение dbExpress, однако - это быстрое и с меньшими накладными расходами получение наборов данных. Причем именно в виде однонаправленного курсора.

2. Любой датасет на клиенте (вне зависимости от того сколько
там соединений и условий) я должен иметь возможность, без лишнего
напряжения, сделать редактируемым. Обычный пользователь даже и
не догадывается во сколько таблиц и как я сохраняю данные.


Вот америку открыл. Тока для этого надо использовать вместе с dbExpress TClientDataSet.

4. Что Нам скажет dbExpress о поводу получения identy полей, без
дополнительных ухищрений в виде GUID? (Здесь я не в курсе, может
быть что поменялось со времен моего последнего с ним
знакомства).


какая связь между identity и GUIDом?. Или одно или другое. Да, чтоб получить сгенеренное на сервере id, надо еще предпринять телодвижения, чтоб получить его на клиента. Или в других средствах доступа это без дополнительных телодвижений обходится?

3. Я хочу легко и непринужденно выдавать пользователю
понятные сообщения на русском языке, в зависимости от срабатывания того или
иного check, constraint и FK, раз уже бизнес логика реализована на
сервере.


А это как связана с механизмом доступа? Что вы под этим подразумеваете, прокоментируйте, плиз...

4. Работать с русскими названиями таблиц, включая пробелы.

А зачем??? Конечный пользователь все равно не должен иметь представления об этом.

5. Работа с хранимыми процедурами (в том числе и которые возвращают
рекордсет), функциями, представлениями(в том числе и редактируемыми) и блобами
не должна вызывать головной боли.


А здесь какие проблемы?!

6. Связки мастер-деталь датасетов, должны делаться что называется в
два клика.


Да ради бога. С помошью TClientDataSet опять же.

Все эти положения сильно упрощают жизнь разработчику, поэтому и
хотел услышать отзывы людей которые сделали и поддерживают реально
работающие системы.


Ну так и слушай.
...
Рейтинг: 0 / 0
04.11.2003, 10:57
    #32314463
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
На работе клоуны, тут клоуны..... Блин, что за жизнь :)



-- Tygra's --
...
Рейтинг: 0 / 0
04.11.2003, 12:17
    #32314585
uranic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
2pkarklin
<---skipped----------->
автор писал:Не поняли вы, uranic, основное предназначение dbExpress, однако - это быстрое и с меньшими накладными расходами получение наборов данных. Причем именно в виде однонаправленного курсора.

Вот тож, что только и радости что они меньше. Ни скорости ни простоты разработки это уменьшение не дает.

автор писал:Вот америку открыл. Тока для этого надо использовать вместе с dbExpress TClientDataSet.

Ну-ну. И часто вы используете dbExpress и TClientDataSet?

автор писал:какая связь между identity и GUIDом?. Или одно или другое. Да, чтоб получить сгенеренное на сервере id, надо еще предпринять телодвижения, чтоб получить его на клиента. Или в других средствах доступа это без дополнительных телодвижений обходится?

Без. Ни строчки кода.

автор писал:А это как связана с механизмом доступа?

С механизмом доступа практически никак. Но мы то обсуждаем библиотеки для доступа. В DAO и FIBS я без единной строчки кода буду выдавать внятные сообщения на русском языке.

автор писал:А зачем???
Надо. База такая. Считайте требованием ТЗ.

автор писал:А здесь какие проблемы?!
А вы пробовали?

автор писал:Ну так и слушай.

Пытаюсь, тока пока вижу только комментарии к моему посту и я не понял какой опыт работы у вас с dbExpress. Поподробней плиз.
...
Рейтинг: 0 / 0
04.11.2003, 12:30
    #32314618
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
Скоро я умру от смеха

автор писал:Вот тож, что только и радости что они меньше. Ни скорости ни простоты разработки это уменьшение не дает.

А что может дать? Что такое для тебя скорость и простота? Куда еще проще?

автор писал:Без. Ни строчки кода.

Пример в студию.

автор писал:С механизмом доступа практически никак. Но мы то обсуждаем библиотеки для доступа. В DAO и FIBS я без единной строчки кода буду выдавать внятные сообщения на русском языке.

Ты об чем? Опомнись. Ошибки и сообщения выдает сервер. Ну если ты предпочитаешь юзерам выдавать то, что пишет сервер, то.....

автор писал:А вы пробовали?

А мы работаем только через ХП. И работает.


Дык что конкретно не устраивает? Хоть пробовал чего делать?

-- Tygra's --
...
Рейтинг: 0 / 0
04.11.2003, 12:52
    #32314648
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
автор писал:Ну-ну. И часто вы используете dbExpress и TClientDataSet?

TClientDataSet - Во всех своих последних проектах. С годик эдак. dbExpress с 7 версии.

автор писал:С механизмом доступа практически никак. Но мы то обсуждаем библиотеки для доступа. В DAO и FIBS я без единной строчки кода буду выдавать внятные сообщения на русском языке.

Ты имеешь ввиду на уровне установки свойств а-ля CustomConstraint в bdeшних датасетах. Ну и что здесь прикольного. 99% ошибок дает серверная часть. И не выдача сообщений пользователю на русском отнимает больше времени.

автор писал:А вы пробовали?

Знаешь, дорогой мой. Ты тут писал, что хочешь послушать, тех, кто пробовал. Если есть конкретные проблемы, то спрашивай. А флудить иди в ПТ.

Код: plaintext
Пытаюсь, тока пока вижу только комментарии к моему посту и я не понял какой опыт работы у вас с dbExpress. Поподробней плиз


Достаточный, чтоб строить с его использованием приложения в архитектуре к/с. Не веришь - ради бога. Это твои проблемы.
...
Рейтинг: 0 / 0
04.11.2003, 15:48
    #32314962
uranic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
2Веселый клоун

автор писал:Пример в студию.
В датасете устанваливается проперть для какого поля из какого генератора(Sequence) брать значение, и когда (beforpost и т.п.). Ничего писать не надо.
ADO тоже спокойно может получать значения первичных ключей и пр.

2pkarklin
автор писал:Ты имеешь ввиду на уровне установки свойств а-ля CustomConstraint в bdeшних датасетах. Ну и что здесь прикольного. 99% ошибок дает серверная часть
Имеется ввиду следующее. При проектировании базы создаются Constraint
Например цена не может быть меньше нуля. При срабатывании Constraint клиент видит у себя вполне нормальное сообщение. Опять таки ни строчки кода. То же самое касается FK. А что может предложить dbExpress, когда на сервере очень жестко прописана базнес-логика?

автор писал:. И не выдача сообщений пользователю на русском отнимает больше времени.
Дык, так поделитесь опытом, что же больше всего времени отнимает при программнировании на dbExpress...


автор писал:Достаточный, чтоб строить с его использованием приложения в архитектуре к/с.
Ой, сама скромность.

Хотелось бы тогда услышать как вы решаете в dbExpress
1. Возможные проблемы при многопользовательской работе например пока запись редактировалась ее удлил(изменил) другой пользователь.
Опять таки в DOA настройкой поведения датасета.
2. Получение значений полей сгенерированных сервером
...
Рейтинг: 0 / 0
04.11.2003, 16:14
    #32315014
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
автор писал:В датасете устанваливается проперть для какого поля из какого генератора(Sequence) брать значение, и когда (beforpost и т.п.). Ничего писать не надо. \r
ADO тоже спокойно может получать значения первичных ключей и пр.\r
\r
Нету в сиквеле генераторов последовательностей. \r
\r
автор писал:Имеется ввиду следующее. При проектировании базы создаются Constraint \r
Например цена не может быть меньше нуля. При срабатывании Constraint клиент видит у себя вполне нормальное сообщение. Опять таки ни строчки кода. То же самое касается FK. А что может предложить dbExpress, когда на сервере очень жестко прописана базнес-логика?\r
\r
Причем тут dbExpress? Ну создал ты ограничение на сервере. Ну так при нарушении этого ограничения клиент по умолчанию получит стандартное сообщение от сервера о нарушении ограничения. А вот если ты хочешь, чтоб клиент всегда получал вразумительное сообщение об ошибке не взирая на механизм доступа, то или используют триггера или хп, где выполняют соответсвующую проверку и выдают вразумительное сообщение. Это составная часть бизнес-логики. Про какие Constraint мы вообще говорим? Я не знаком с ораклом. Там можно пользовательские сообщения на нарушение ограничения вешать?\r
\r
автор писал:Дык, так поделитесь опытом, что же больше всего времени отнимает при программнировании на dbExpress... \r
\r
Еще раз повторюсь, единственна задача dbExpress - это получить с минимальными накладными расходами набор с севера. ВСЕ!!! Остальная функциональность реализуеться на уровне TClientDataSet.\r
\r
автор писал:Ой, сама скромность.\r
\r
Что есть - тем и горжусь.Тебе завидно, что-ли.\r
\r
автор писал:Хотелось бы тогда услышать как вы решаете в dbExpress \r
1. Возможные проблемы при многопользовательской работе например пока запись редактировалась ее удлил(изменил) другой пользователь. \r
Опять таки в DOA настройкой поведения датасета. \r
2. Получение значений полей сгенерированных сервером\r
\r
Опять ты пытаешься возложить на dbExpress решение задач, которые нужно решать другими средствами. Свое решение о разрешении вопроса, связанного с блокировками я предлагал здесь\r
/topic/22318&. Причем не на уровне записи, а на более высоком уровне, документа. Кроме того, не надо забывать и про режим оптимистических блокировок. А по вопросу получения значения автоинкрементного поля уже тысчя топиков была, для сиквела вставка через хп с возвратом значения в выходном параметре.
...
Рейтинг: 0 / 0
05.11.2003, 13:24
    #32316041
Mik Prokoshin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi + MSSQL - какой метод доступа выбрать?
Вроде бы примерно одинаково по схеме работы-то, что ADO, что dbExpress.
Про АДО могу точно сказать, что есть глюки, нельзя использовать Master/Detail при вставке записей в оба датасета, например. Но все можно исправить ручками (подправляя ADODB).
Не поручусь, что тех же проблем нет с dbExpress.
Может, найдешь какую отдельную библу по работе с АДО ?
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi + MSSQL - какой метод доступа выбрать? / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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