ZEOS в Linux
Модератор: Модераторы
В том то и дело , что для винды всё работает, и библиотеку можно положить и в папку с проектом. Для винды у меня всё компилится и работает как часы. А вот под Linux нет! Поэтому тема и называется Zeos в Linux
.
dionic
Значит надо установить клиентскую библиотеку в Linux. В дистрибутиве точно есть. Если дистр урезанный какой-нибудь, то на сайт дистрибутива заглянуть, пошарить в репозитарии...
Впрочем, сначала надо попробовать, что нам скажет по этому поводу консольный клиент MySQL. Запускаете его, делаете коннект к базе и какую-нибудь простейшую выборку в нём, типа SELECT * FROM ... Если и он обругает такой же ошибкой, значит точно клиентская библиотека к серверу не подходит.
Добавлено спустя 14 минут 37 секунд:
А Linux тот же, на который сервер установлен или другой?
Значит надо установить клиентскую библиотеку в Linux. В дистрибутиве точно есть. Если дистр урезанный какой-нибудь, то на сайт дистрибутива заглянуть, пошарить в репозитарии...
Впрочем, сначала надо попробовать, что нам скажет по этому поводу консольный клиент MySQL. Запускаете его, делаете коннект к базе и какую-нибудь простейшую выборку в нём, типа SELECT * FROM ... Если и он обругает такой же ошибкой, значит точно клиентская библиотека к серверу не подходит.
Добавлено спустя 14 минут 37 секунд:
А Linux тот же, на который сервер установлен или другой?
Да как раз MySQL тут не причем, я же говорю, запросы на вставку работают, стандартные компоненты , такие как MySQlL50Cnnection и MySQLQuery тоже работают как на вставку так и на выборку записей, тут скорее всего какие то проблемы с компонентами Zeos. ну по крайней мере мне так кажется. Я даже нашел где ошибка уже, порывшись на их форуме , но не знаю как её исправить.
Там какая-то функция для преобразования типов полей используется ConvertMySQLTypeToSQLType, которая находится в модуле ZDbcMySqlUtils, вот там то и возникает это исключение , они сами его вызывают если тип поля не определяется. А как это исправить не знаю...
Там какая-то функция для преобразования типов полей используется ConvertMySQLTypeToSQLType, которая находится в модуле ZDbcMySqlUtils, вот там то и возникает это исключение , они сами его вызывают если тип поля не определяется. А как это исправить не знаю...
Посмотри стек вызовов, расставь точки останова, посмотри на каком поле затыкается, определи реальный тип данных этого поля и поправь функцию ConvertMySQLTypeToSQLType, а потом перекомпилируй пакет, в котором находится модуль ZDbcMySqlUtils, и пересобери лазарус. 
Интересно, попробовал добавить точку останова в этой функции, так вот при любом типе поля , хоть INT, хоть VARCHAR в функцию параметры TypeName передаются пустыми, кода тоже самое делаешь под windows, то там всё передается нормально. Странно....
v-t-l писал(а):Посмотри стек вызовов
Добавлено спустя 2 минуты 24 секунды:
Меню "Вид -> Окна отладки -> Стек вызовов"
Окей гляну стек вызовов, может поможет что выяснить...
Глянул стэк вызовов, там этих функций , которые вызываются перед приведением типов к mySQL штук 15, легче использовать стандартные компоненты.
Самое интересное то, что эти компоненты заработали на интеловском процессоре... Так что вопрос пока закрыт
Самое интересное то, что эти компоненты заработали на интеловском процессоре... Так что вопрос пока закрыт
