Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];

Вниз

3 диалект и BDE   Найти похожие ветки 

 
dialectic   (2002-04-05 09:22) [0]

Скажите, а возможно ли работать с 3 диалектом используя BDE?
В таблицах есть поля Numeric(18,2)


 
dymka   (2002-04-05 09:47) [1]

Можно, если имена полей базы не type итп новые введеные слова...
Если не используешь поля типа Date, Time итп...
Почитай отличия в диалектах на http://ib.demo.ru


 
dialectic   (2002-04-05 10:06) [2]

Проблема не в именах полей, они у меня никогда так не называются. Проблема в том что BDE ругается на Integer64 встречая поля Numeric(19,2)


 
Lusha   (2002-04-05 10:16) [3]

>dialectic
BDE не интересно с каким диалектом Вы работаете. Это интересно непосредственно серверу с которым Вы работаете...

Ругательство, как я понимаю, происходит непосредственно в коде при обращению к полю...
Может Вы его (код) нам все же продемонстрируете?


 
dialectic   (2002-04-05 10:41) [4]

>Lusha
Получается что BDE как раз интересно.
Имеем:
1.Fbird Server
2.База данных созданная в 3 диалекте
3.Таблица с полем NUMERIC(18,2)
4.Экземпляр TQuery (select * from эта таблица)
5.Метод Open, возвращающий: "диалект 1 не поддерживает 64 разрядный тип данных для нумерик полей"


 
Romkin   (2002-04-05 10:48) [5]

BDE не работает с третьим диалектом, просто не поддерживает.
И типы данных ей очень не безразличны - сразу идут ошибки на numeric, Time, Date
Пользуйтесь прямым доступом, так оно и быстрее будет


 
Lusha   (2002-04-05 11:20) [6]

>dialectic
А если создать список полей в Query в Design Time, то BDE предлагает какой тип для этого поля?


 
dialectic   (2002-04-05 12:41) [7]

>Lusha
Не строит он список полей ни в дизайне ни в рантайме.
FieldDefs.Update вызывает exception.


 
Lusha   (2002-04-05 12:45) [8]

Понятно. И все равно настаиваю, что BDE тут не причем. Вот ODBC драйверок, похоже, кривоват. Это его обязанность вернуть типы полей...


 
dialectic   (2002-04-05 12:46) [9]

А при чем тогда здесь ODBС? Вы про что вообще?


 
Lusha   (2002-04-05 12:56) [10]

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

1. Ваше приложение вызывает функцию BDE
2. Функция BDE вызывает...


 
dialectic   (2002-04-05 13:00) [11]

FireBird это клон Interbase.
1.Приложение использует BDE.
2.BDE использует клиента FB.
3.Никто не использует ODBC


 
Lusha   (2002-04-05 13:01) [12]

Напрямую обращается к клиенту сервера? Ой, ли? Вы Alias как настраивали?


 
Johnmen   (2002-04-05 13:10) [13]

>Lusha © : В данном случае Приложение->BDE->клиент FB->сам FB.
>dialectic : Не используй 3 диал., зачем ?


 
Lusha   (2002-04-05 13:16) [14]

>dialectic
Используются компоненты закладки Interbase?


 
dialectic   (2002-04-05 13:22) [15]

>Johnmen
3 диалект выбран только из-за того что Borland не гарантирует дальнейшую поддержку первого диалекта

>Lusha
Я уже сказал что за компоненты используются


 
Lusha   (2002-04-05 13:27) [16]

>dialectic
Может все таки скажете как настраиваете Alias?

>Johnmen
А может все таки BDE->SQL Link->клиент FB->сам FB?


 
Fareader   (2002-04-05 13:33) [17]

Пока не поздно (в смысле пока много работы не сделано) на IBX, IBO или FIBPlus компоненты.


 
dialectic   (2002-04-05 13:34) [18]

>Lusha
Наверное разочарую Вас, но алиаса у меня нет

with dbInterbase do
begin
DriverName:="INTRBASE";
Session.GetDriverParams(DriverName,Params);
Params.Values["SERVER NAME"]:="C:\......gdb";
Open;
end;


 
Lusha   (2002-04-05 13:47) [19]

>dialectic
Не разочаровали, батенька, обрадовали. Вы используете SQL Link.
По своей сути это ODBC драйвер просто нестандартным образом (не в секции ODBC)зарегистрированный в системе. Вот неправильно работает ОН, а не BDE. Выход - попробовать использовать родной ODBC драйвер FB или прислушаться к уже высказанным в этой ветке советам...


 
dialectic   (2002-04-05 13:56) [20]

>Lusha
Я очень рад что Вы обрадовались, но у меня не установлено НИ ОДНОГО ODBC драйвера от какого бы то ни было вендора ODBC драйверов для IB, FB или Yaffil.
Не расскажете как я при этом вообще умудряюсь работать с сервером?


 
Lusha   (2002-04-05 14:03) [21]

С удовольствием расскажу. Используемый Вами драйвер - SQLINT32.DLL

Вы его проставили, когда при инсталляции Delphi ЯВНО попросили установку SQL Links.


 
dialectic   (2002-04-05 14:10) [22]

Это велосипед или Америка?
Следует из этого что я использую ODBC?


 
Lusha   (2002-04-05 14:14) [23]

>Это велосипед или Америка?
Следует. Просто разработчик этого драйвера фирма Borland и зарегистрирован он, скажем так, своеобразно...


 
Johnmen   (2002-04-05 14:27) [24]

>dialectic : Хотелось бы уточнить, чем тебя пугает обещанная Борландом неподдержка в дальнейшем 1 диал. (конкретно) ?
>Lusha © : Естественно, в этой цепи есть SQL Link ...


 
dialectic   (2002-04-05 16:31) [25]

Вопрос снят.
Все работает с версией BDE от Delphi 6.
Причем простая замена "своеобразно зарегистрированого ODBC драйвера" sqlint32.dll не помогла.


 
Lusha   (2002-04-05 16:40) [26]

>Причем простая замена "своеобразно зарегистрированого ODBC >драйвера" sqlint32.dll не помогла.

Интересно какая это для Вас на сегодня Америка. Первая или вторая?



 
dialectic   (2002-04-05 16:48) [27]

Вы мне пытались доказать что BDE здесь не причем.
Виноват драйвер SQL Link.
Заменил я драйвер. Проблема осталась.
Заменил еще и BDE - проблема исчезла.

Комментарии ?


 
Johnmen   (2002-04-05 16:57) [28]

>dialectic : комментарии : Lusha © сказал правильно, а то, что ты не удосужился обновить версию BDE, это твоя ошибка.
И раз работает с этой версией BDE , значит BDE непричем !


 
Lusha   (2002-04-05 17:06) [29]

Попробую покороче. Практически у каждой проблемы всегда имеются, как минимум, два решения. И данная не исключение. Первый - изменить драйвер. Второй - изменить BDE. Можете себе представить, ребята из Borland воспользовались вторым...?

Кстати. А какая версия BDE идет в поставке с Delphi 6? Какие новые типы производные от TField появились в Delphi 6?


 
Reindeer Moss Eater   (2002-04-05 17:14) [30]

>Johnmen и Lusha
Я не сегодня родился и не сегодня узнал что такое BDE и SQL Links.
Сначала мне упорно пытаются доказывать что BDE не причем.
Затем рассказывают что драйвер SQL Links для IB - это обычный драйвер ODBC
Далее:
Я начинаю использовать другой драйвер ODBC (хороший).
Выясняется, что хоть sqlin32.dll и простой ODBC драйвер, но использовать его в BDE 5.1 нельзя.

И после этого Johnmen снова утверждает, что BDE не виноват.


 
Lusha   (2002-04-05 17:18) [31]

>Reindeer Moss Eater
>Затем рассказывают что драйвер SQL Links для IB - это обычный
>драйвер ODBC

Докажите обратное...


>И после этого Johnmen снова утверждает, что BDE не виноват.

Да не виноват.







 
Johnmen   (2002-04-05 17:24) [32]

>Reindeer Moss Eater : Это фактически утверждает dialectic (05.04.02 16:48)
>Заменил еще и BDE - проблема исчезла.
То есть BDE не виноват, он работает, а виновата старая версия его !


 
Alik Chu   (2002-04-05 17:26) [33]

Прошу прощения.

О Боже! Ну как в этой стране люди любят гордится своими достижениями и познаниями!.. Еб..тся!

- Проблему решили?
- ДА!

Ну, а зачем спорить на тему: "Кто самый умный и красивый?"


 
dymka   (2002-04-05 17:27) [34]

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


 
dymka   (2002-04-05 17:30) [35]

2 Alik Chu - не соглашусь с тобой...
даже если работает, то продолжение "разборок" позволяет лучше понять тонкости работы, если и не спорящим, то хотя бы остальным... мне, ламеру, такое очень интересно...


 
Reindeer Moss Eater   (2002-04-05 17:32) [36]

Lusha>
1.Допустим BDE не причем. И все дело в sqlint32.dll идущим с D5.
2.Идем на машину с D6 и с новым sqlint32.dll и убеждаемся, что можем работать с диалектом 3.
3.Уносим хороший ODBC драйвер и начинаем использовать в BDE 5.1
(никакого же криминала нет - это же обычный 32 разрядный ODBC драйвер, его хоть в D2 можно использовать)
4.Убеждаемся что этого мало. И требуется обновить еще и BDE, хотя ему вроде наплевать на диалект.



 
Lusha   (2002-04-05 17:54) [37]

Вы так и не ответили на мои вопросы. У меня нет Delphi 6, если Вы еще не поняли...


 
Reindeer Moss Eater   (2002-04-05 18:00) [38]

В Delphi 6 версия BDE 5.2.
Хотя какое это может иметь значение в свете сказанного

>Lusha © (05.04.02 12:45)
"Понятно. И все равно настаиваю, что BDE тут не причем. Вот ODBC драйверок, похоже, кривоват. Это его обязанность вернуть типы полей... "


 
Lusha   (2002-04-08 10:06) [39]

Reindeer Moss Eater

>В Delphi 6 версия BDE 5.2.
>Хотя какое это может иметь значение в свете сказанного

Абсолютно никакого. У меня нет Delphi 6, а в пятницу не было никакой возможности выйти на сайт Borland, поэтому спросил у Вас... Больше не буду... :)

Теперь по делу... Я сходил, на сайт Borland и не нашел там ни единого упоминания о каких либо ограничениях связанных с третьим диалектом Interbase... Из чего я делаю заключение, что все должно работать и на BDE 5.1.1.

На Вашем месте я бы проверил следующее...
1. Наличие среди настроечных параметров драйвера Interbase следующих параметров: COMMIT RETAINING, WAIT ON LOCK, ROLE NAME. Эти параметры не устанавливаются дистрибутивом Delphi 5 и разработчики просят добавлять их "ручками" после инсталляции.

2. Возможно также, что при инсталляции BDE была заменена библиотека gds32.dll версии 5 на версию 4.2.1. Вряд ли конечно, но проверить не мешает...





Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.53 MB
Время: 0.006 c
1-94431
Винни Пух
2002-04-18 12:40
2002.04.29
Как проверить зарегистрирован ли OCX/DLL файл в реестре ?


3-94300
VAleksey
2002-04-09 07:14
2002.04.29
Резервное копирование


1-94461
ДмитрийВ
2002-04-16 10:54
2002.04.29
пару вопросов по печати


14-94563
Delphinchik
2002-03-23 21:42
2002.04.29
Обламаем NT-ю


14-94540
lipskiy
2002-03-21 01:52
2002.04.29
Forms and controls in runtime





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский