|
|
|
Драйвер MSSQL2000, ошибки BDE, компоненты DBExpress и пр.
|
|||
|---|---|---|---|
|
#18+
Сделал базу на MSSQL2k, дальше хотел просмотреть её структуру через SQL Explorer и сделать к ней алиас для доступа через С++Builder6. Если алиас через ODBC DSN (поле Type=SQL Server), то наблюдаются глюки при отображении строковых полей (их вообще нет и запрос select * from Table_Name их не возвращает), а также нет информации по SP, Defaults, Rules, etc. Если алиас через драйвер MSSQL (поле Type=MSSQL), то те же глюки при отображении строковых полей, но запрос select * from Table_Name их возвращает. Знающие люди подсказали, что нужно скачать драйвер для MSSQL-я, либо пропатчить BDE, либо Винду, либо в Билдере использовать не TTable, а TQuery, либо использовать вообще компоненты DBExpress... или воспользоваться всеми советами сразу ;-) Не подскажет ли кто, чего делать? (если дело в драйвере - то где достать). Доступ к базе через TQuery я сделал, но больно криво получилось (пришлось еще на форму кидать TUpdateSQL для редактирования набора данных в режиме "read only"). Воспользоваться DBExpress-ом не получается, выдает ошибку "SQL Error: Error mapping failed". Среди остальных ошибок - иногда приложение вылетает из-за нехватки памяти. Оказалось, нужно было в BDE Admininstrator установить параметр SharedMemSize=16384. Какие еще проблемы меня ждут при разработке? Если есть ссылки на статью или книгу, где в сжатой форме это всё обсуждается, поделитесь приз. Буду благодарен любому проявления кибер-разума ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2002, 11:04:14 |
|
||
|
Драйвер MSSQL2000, ошибки BDE, компоненты DBExpress и пр.
|
|||
|---|---|---|---|
|
#18+
При разработке через BDE - у тебя будет еще очень много проблем. А если будешь таблицы через TTable открывать - то еще больше Пользуйся ADO или dbExpress, чего есть. А Delphi какой версии? А то может 2-ой :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2002, 12:27:52 |
|
||
|
Драйвер MSSQL2000, ошибки BDE, компоненты DBExpress и пр.
|
|||
|---|---|---|---|
|
#18+
BDE ничего не знает о varchar длиной свыше 255 символов, о nvarchar, ntext, bigint, sql_variant. Таким образом, как только среди перечня полей попадается хоть одно с типом из перечисленного, глюк неизбежен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2002, 13:13:30 |
|
||
|
Драйвер MSSQL2000, ошибки BDE, компоненты DBExpress и пр.
|
|||
|---|---|---|---|
|
#18+
2Tygra: Билдер у меня, билдер ;-) 2ALL: Товарищи, а нельзя по конкретней? :-] 1) что насчет драйвера к MSSQL2000, 2) что насчет DBExpress и "SQL Error: Error mapping failed", 3) какие именно проблемы будут (типичные случаи) и какого рода шаманские танцы с бубнами нужно затевать? (ссылки на книгу/статью, где это обговаривается и т.п.), 4) что значит "разработка через BDE - глюк неизбежен"? Разве при работе с базой любыми средствами не надо делать для нее алиас в том же SQL Explorer? Премного благодарствую ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2002, 15:57:10 |
|
||
|
Драйвер MSSQL2000, ошибки BDE, компоненты DBExpress и пр.
|
|||
|---|---|---|---|
|
#18+
Если пользоваться TUpdateSQL, то глюки BDE все обходятся. Плюс эта компонента позволяет клиенту работать с необновляеммыми наборами данных. В ADO.NET теперь только так работа и ведется (аналогичный компонент SqlAdapter). Но это как говорится на любителя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2002, 20:42:14 |
|
||
|
Драйвер MSSQL2000, ошибки BDE, компоненты DBExpress и пр.
|
|||
|---|---|---|---|
|
#18+
Какая разница, Билдер или Delphi. 1) что насчет драйвера к MSSQL2000, 2) что насчет DBExpress и "SQL Error: Error mapping failed", 3) какие именно проблемы будут (типичные случаи) и какого рода шаманские танцы с бубнами нужно затевать? (ссылки на книгу/статью, где это обговаривается и т.п.), 4) что значит "разработка через BDE - глюк неизбежен"? Разве при работе с базой любыми средствами не надо делать для нее алиас в том же SQL Explorer? 1. Драйвера идут с Билдером, могут обновляться с update-ами. Зависит от версии Билдера вообще то. Но поддерживаться для BDE больше не будут. 2. У меня работает, может переставить или еще где попробовать. На другой машине. Когда ошибку выдает, кстати? 3. Много писать про проблемы - одним словом, технология BDE уже устарела и со следующих версий не будет поддерживаться для sql-серверов. Да и сама BDE уже просто для совместимости со старыми версиями. И больше не развивается. 4. Конечно не надо. Тут алиасы совсем ни причем - они только для BDE, а ты будешь ходить через другие компоненты. ADO например попробуй - хорошая вещь, только патч надо поставить на Билдер (наверно). Я с BDE уже давно не работаю. И очень доволен :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2002, 11:06:10 |
|
||
|
Драйвер MSSQL2000, ошибки BDE, компоненты DBExpress и пр.
|
|||
|---|---|---|---|
|
#18+
> 2. У меня работает, может переставить или еще где попробовать. На другой > машине. Когда ошибку выдает, кстати? Эту ошибку и выдает %-). Устанавливаю свойства объекта : DriverName=MSSQL HostName=имя сервера, где находится SQL Srv Database=имя моей базы (как она видна в Enterp.Man.) User_Name=sa Password=' ' (пустой) OS Authentication=True/False (без разницы - все равно никак не работает) > 4. Конечно не надо. Тут алиасы совсем ни причем - они только для BDE, а ты > будешь ходить через другие компоненты. ADO например попробуй - хорошая > вещь, только патч надо поставить на Билдер (наверно). Через АДО получилось (причем с "первого раза" и без помощи гуру!!! ;-) Через DBExpress не работает, хоть тресни!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2002, 16:59:29 |
|
||
|
Драйвер MSSQL2000, ошибки BDE, компоненты DBExpress и пр.
|
|||
|---|---|---|---|
|
#18+
ОК. Мне никто отвечать на вопрос не хочет, пришлось самому разобраться. Решил использовать ADO - вроде "родная" технология для MSSQL Srv. Доступ к базе через DBExpress тоже получился, пришлось скачать драйвер (MSSQL<>DBExpress) с сайта www.crlab.com Т.о. получилось 3 варианта доступа: 1) TQuery->TUpdateSQL->TDataSource->TDBGrid (BDE) 2) TSQLConnection->TSQLTable->TDataSetProvider->TClientDataSet->TDataSource->TDBGrid (DBExpress) - криво, но работает. TDataSetProvider и TClientDataSet для того, чтобы обойти проблему "однонаправленности" набора данных (Unidirectional) 3) TADOConnection->TADOTable/TADOQuery->TDataSource->TDBGrid (ADO) Клиент и сервер буду делать на C++Builder-е через CORBA, так что ждите еще вопросов ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 10:38:38 |
|
||
|
Драйвер MSSQL2000, ошибки BDE, компоненты DBExpress и пр.
|
|||
|---|---|---|---|
|
#18+
Странно ! Никто ни разу не упомянул SQLQuery . Мы не используем ни BDE ни ADO. У нас : SQLQuery (не путать с одноименным компонентом с DELPHI 6) смотрите : www.component-store.com Суперудобно. Никаких UpdateSQL ! Просто и надежно. Хотя платно :( Проломленные версии встречал, но старые и с ошибками... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2002, 14:59:57 |
|
||
|
Драйвер MSSQL2000, ошибки BDE, компоненты DBExpress и пр.
|
|||
|---|---|---|---|
|
#18+
> смотрите : www.component-store.com \r Интересно... Надо попробовать :-)\r \r PS: По поводу новых вопросов: см. топ "Оптимальная архитектура БД" ( ) - похоже DBA все вымерли ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2002, 15:48:27 |
|
||
|
|

start [/forum/search_topic.php?author=Nightwolf&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 692ms |
| total: | 872ms |

| 0 / 0 |
