Страница 2 из 2
Re: dbGrid 1.8rc1 показывает другие данные чем в 1.6
Добавлено: 11.07.2008 13:23:36
t-ea
DBF — это база KLADR налоговой службы РФ.
Использовать её я собираюсь очень редко и только как справочную — для поиска, то есть эта база у меня только для чтения.
Первым делом я естественно попробовал tDBF, но он не знает 866 кодовой страницы. Учитывая это, и то, что эта база периодически изменяется, и поэтому вариант — один раз переконвертировал в «удобный» формат и забыл про DBF — здесь не проходит, пришлось подключать ODBC.
Не найдя в MSE встроенного компонента для MS SQL пришлось и её, пока эсперементирую, подключить через тот же ODBC. Чуть позже, может быть попробую Zeos — я просто не знал что он поддерживает MS SQL.
Re: dbGrid 1.8rc1 показывает другие данные чем в 1.6
Добавлено: 26.09.2008 17:17:27
GrayEddy
В MSE 1.8 msesqlquery напрочь отказывается работать, если в таблице есть поля, тип которых nchar и nvarchar.
Текст запроса: select orderid, shipname, shippeddate from orders
Для этих полей выводятся сообщения: Datatype mismatch dataset 'msesqlquery1' field 'shipname' expected: 'ftWideString' actual 'ftUnknown'.
Тип поля shipname - nvarchar(40).
Если изменить запрос и убрать shipname - все ОК.
Юзаю MS SQL, доступ через ODBC.
База Northwind, таблица Orders.
Re: dbGrid 1.8rc1 показывает другие данные чем в 1.6
Добавлено: 27.09.2008 19:50:35
debi12345
Ответ Мартина пол поводу N[VAR]CHAR :
Код: Выделить всё
Probably not. I don't have MS SQL so you must fix it your self. Is utf-8 and
field type conversion no option?
Re: dbGrid 1.8rc1 показывает другие данные чем в 1.6
Добавлено: 29.09.2008 10:20:20
GrayEddy
В опциях проекта encode выставлен в utf8. Результат отрицателен.
Для encode = locale аналогично.
Сходил на форум, смотрю - вы уже отписались об этой проблеме.
Если я правильно понял, надо завести новый тип поля ftUt8ToString.
Re: dbGrid 1.8rc1 показывает другие данные чем в 1.6
Добавлено: 29.09.2008 21:39:39
debi12345
В M$ SQL N*CHAR - не UTF8, а галимый ftWideString.
( это PostgreSQL умеет хранить юникод в UTF8 - чтобы место на диске не раздувать без причины )
Ответ Мартина :
Код: Выделить всё
Can the problem be reproduced with the free MS SQLServer Express edition on
Windows 2000? Can the reporter provide a testcase? If I get a testcase and
a link to SQLServer Express edition download which runs on Windows 2000
I'll try to fix the issue.
Суть проблемы - Мартин не уверен, что нынешняя реализация FPC SQLDB ODBCConnection умеет читать и записывать UCS2-поля при общении "клиент-сервер". В принципе, когда сильно нужно, Мартин делает свои "форки" - но ODBC пока в список нужных кому-либо не попадал ( потому что у самого ODBC-режима есть несколько неприятных ограничений ). Есть желание помочь довести до ума ?
Re: dbGrid 1.8rc1 показывает другие данные чем в 1.6
Добавлено: 29.09.2008 23:13:14
GrayEddy
Спасибо, не стоит, задача неактуальная и решается другими средствами (коллега пишет на C#). Считайте, что это был эксперимент на проверку возможностей MSE увидеть MS SQL, он меня удовлетворил. Лазарус в аналогичной ситуации не взлетел.