Форум: "Базы";
Текущий архив: 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