ZEOS в Linux

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

dionic
новенький
Сообщения: 90
Зарегистрирован: 17.06.2009 21:00:08

Сообщение dionic »

В том то и дело , что для винды всё работает, и библиотеку можно положить и в папку с проектом. Для винды у меня всё компилится и работает как часы. А вот под Linux нет! Поэтому тема и называется Zeos в Linux :) .
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

dionic
Значит надо установить клиентскую библиотеку в Linux. В дистрибутиве точно есть. Если дистр урезанный какой-нибудь, то на сайт дистрибутива заглянуть, пошарить в репозитарии...
Впрочем, сначала надо попробовать, что нам скажет по этому поводу консольный клиент MySQL. Запускаете его, делаете коннект к базе и какую-нибудь простейшую выборку в нём, типа SELECT * FROM ... Если и он обругает такой же ошибкой, значит точно клиентская библиотека к серверу не подходит.

Добавлено спустя 14 минут 37 секунд:
А Linux тот же, на который сервер установлен или другой?
dionic
новенький
Сообщения: 90
Зарегистрирован: 17.06.2009 21:00:08

Сообщение dionic »

Да как раз MySQL тут не причем, я же говорю, запросы на вставку работают, стандартные компоненты , такие как MySQlL50Cnnection и MySQLQuery тоже работают как на вставку так и на выборку записей, тут скорее всего какие то проблемы с компонентами Zeos. ну по крайней мере мне так кажется. Я даже нашел где ошибка уже, порывшись на их форуме , но не знаю как её исправить.
Там какая-то функция для преобразования типов полей используется ConvertMySQLTypeToSQLType, которая находится в модуле ZDbcMySqlUtils, вот там то и возникает это исключение , они сами его вызывают если тип поля не определяется. А как это исправить не знаю...
v-t-l
энтузиаст
Сообщения: 744
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Сообщение v-t-l »

Посмотри стек вызовов, расставь точки останова, посмотри на каком поле затыкается, определи реальный тип данных этого поля и поправь функцию ConvertMySQLTypeToSQLType, а потом перекомпилируй пакет, в котором находится модуль ZDbcMySqlUtils, и пересобери лазарус. 8)
dionic
новенький
Сообщения: 90
Зарегистрирован: 17.06.2009 21:00:08

Сообщение dionic »

Интересно, попробовал добавить точку останова в этой функции, так вот при любом типе поля , хоть INT, хоть VARCHAR в функцию параметры TypeName передаются пустыми, кода тоже самое делаешь под windows, то там всё передается нормально. Странно....
v-t-l
энтузиаст
Сообщения: 744
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Сообщение v-t-l »

v-t-l писал(а):Посмотри стек вызовов


Добавлено спустя 2 минуты 24 секунды:
Меню "Вид -> Окна отладки -> Стек вызовов"
dionic
новенький
Сообщения: 90
Зарегистрирован: 17.06.2009 21:00:08

Сообщение dionic »

Окей гляну стек вызовов, может поможет что выяснить...
dionic
новенький
Сообщения: 90
Зарегистрирован: 17.06.2009 21:00:08

Сообщение dionic »

Глянул стэк вызовов, там этих функций , которые вызываются перед приведением типов к mySQL штук 15, легче использовать стандартные компоненты. :D
Самое интересное то, что эти компоненты заработали на интеловском процессоре... Так что вопрос пока закрыт :)
Ответить