|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
Приветствую уважаемых коллег. Понадобилось мне тут переделать одно из своих Delphi-приложений, которое цепляется к БД FB2.5 и тащит из неё данные. Использую FIBы. Приложение должно отправить на сервер SQL-запрос и получить данные. На моей машине я развернул бэкап боевой базы, к которому и цепляюсь. Вот текст запроса: Код: sql 1.
Юзаю Delphi 2010 с FIB+ 7.5. Совершенно точно знаю, что строка, соответствующая условию, в базе есть. Тем не менее, компонент pFIBQuery возвращает пустой набор данных. База в кодировке UTF8, к самой базе цепляюсь с кодировкой WIN1251. При подстановке в запрос названия единицы вместо параметра также возвращается пустой НД. FlameRobin выполняет этот запрос правильно. Нужен совет: как при TCP-коннекте на одной и той же машине правильно отследить, что именно и в какой кодировке отправляется на сервер? Какой инструмент лучше для этого использовать? Заранее благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2015, 21:03 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
Любезный, в трейсе должно быть видно ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2015, 21:08 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
А нет ли какой-то доки по использованию трейса? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2015, 21:12 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
Любезный, только такая http://www.firebirdsql.org/file/documentation/release_notes/html/rlsnotes254.html#rnfb25-trace про использование штатного инструмента в IBE есть пункт Services->Trace And Audit. В HQbird Performance Monitor есть собственный плагин трассировки который пишет лог в БД ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2015, 21:24 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
Денис, спасибо за информацию. Раньше я просто никогда не делал трейсы - не было необходимости. Теперь буду изучать эту тему. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 08:50 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
Любезный, попробуй вебинар посмотреть. Попробуй - в том смысле, что может потребоваться кодек. http://www.ibase.ru/download/tr_web20100323.rar и вроде смотреть его лучше через ie. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 13:34 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
И что же мешает сделать Код: sql 1.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 14:18 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
авторИ что же мешает сделать Зачем? Должно работать и так. Что удивило - то же самое приложение до переделки работало правильно с тем же кодом, и переделка этот кусок не затронула. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 19:11 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
Может потому не затронуло, что первые 127 символов utf8 совпадают с ASCII и проблемы начались как только в искомой строке стали встречаться национальные символы? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 19:22 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
авторМожет потому не затронуло, что первые 127 символов utf8 совпадают с ASCII и проблемы начались как только в искомой строке стали встречаться национальные символы? Я об этом думал, но не подтвердилось. Завтра займусь трассировкой. На крайняк переведу приложение на связку Lazarus+IBX от Rik - там будет UTF8 без BOM, и гемора с перекодировкой нет вообще. А у ФИБов с Delphi здесь, похоже, иногда бывают проблемы из-за разницы между UTF16 и UTF8. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 19:26 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
Хотя, конечно, и так должно работать, если в БД по умолчанию или непосредственно для поля задан набор символов utf8. В этом случае сервер сам всё конвертнёт. Поле описано с типом домена? Домен не менялся через таблицы метаданных? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 19:30 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
Любезныйк самой базе цепляюсь с кодировкой WIN1251 ЛюбезныйНа крайняк переведу приложение на связку Lazarus+IBX от Rik - там будет UTF8 без BOM, и гемора с перекодировкой нет вообще. Ась?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 19:35 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovАсь?.. Добрый вечер! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 19:39 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
DBConstructorДобрый вечер! Даже трудно понять что тупее: аффтар, который объявляет серверу "щас буду совать данные в WIN1251, а потом суёт их в UTF-8" или твои советы ему. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 19:49 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
авторАсь?.. Да, здесь есть хрень. Когда я писал первую программу с ФИБами на D2010, я долго плевался с выбором кодировки соединения, получая раз за разом Malformed string. Эксперименты показали, что при соединении с кодировкой WIN1251 проблем нет, и данные из компонентов через параметры вносились корректно и без сообщений об ошибках. Потом я много раз пытался реализовать преобразование текста в UTF8 и его передачу в ФИБы с подключением к базе с соответствующей кодировкой, но в конце концов плюнул - уж очень мудрёное у этих ФИБов нутро. А Лазарь с IBX от Rik меня в этом плане очень порадовал - там все визуальные компоненты LCL принимают текст в UTF8 напрямую, и всё это даже работает в Линуксе. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 19:51 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, ага. ЛюбезныйЮзаю Delphi 2010 с FIB+ 7.5. ... База в кодировке UTF8, к самой базе цепляюсь с кодировкой WIN1251 вот и спрашивается, действительно, какого фига указан чарсет коннекта win1251, если из юникодной дельфи и фибплюса он должен быть указан utf8? http://www.ibase.ru/unicode_faq.html ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 19:53 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovДаже трудно понять что тупее: аффтар, который объявляет серверу "щас буду совать данные в WIN1251, а потом суёт их в UTF-8" или твои советы ему. Попробуй... Вдруг тебе будет откровение, что мои советы тупее. Острых он, по всей видимости, пока ни от кого не дождался. Лично я считаю, что для многих простеньких приложений абсолютно нормально пихать данные в кодировке, отличной от utf8, всецело полагаясь на механизм приведения символов строки Firebird'а к символьному набору поля. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 20:00 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
DBConstructorЛично я считаю, что для многих простеньких приложений абсолютно нормально пихать данные в кодировке, отличной от utf8, всецело полагаясь на механизм приведения символов строки Firebird'а к символьному набору поля. Ага, осталось только в компоненты доступа встроить телепатию, чтобы они догадались в какую именно кодировку они должны преобразовать поступающий им на вход юникод, да... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 20:03 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
Здесь действительно есть косяк с моей стороны. Разница в кодировках, на первый взгляд, кажется тупостью, но я в свое время реально *** с этими ФИБами, цепляясь через UTF8, передавая строки и получая Malformed string. Но я уверен, что при использовании средств мониторинга задача с поиском бага и возможной правкой ФИБов на предмет корректной передачи строк в UTF8 может существенно облегчиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 20:09 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
Телепатия не нужна. В FIBPlus кодировка соединения задается через параметр соединения "lc_ctype" У Любезного, соответственно, lc_ctype=WIN1251 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 20:10 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
авторТелепатия не нужна. В FIBPlus кодировка соединения задается через параметр соединения "lc_ctype" У Любезного, соответственно, lc_ctype=WIN1251 Но в D2010 компоненты VCL все юникоднутые и работают с UTF16. И не все компоненты доступа правильно обрабатывают эту кодировку и готовят строки к передаче на сервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 20:13 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
Любезный, поиском по этому разделу "malformed string fibplus" находится только 2 топика. В разделе Delphi - 1 топик. Прихожу к выводу, что это глюк в конкретной версии FIBPlus. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 20:19 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
авторВ FIBPlus кодировка соединения задается через параметр соединения "lc_ctype" Не только. Там есть два способа задания кодировки соединения - через DBParams (TStrings) и через набор свойств TpFIBDatabase.ConnectParams. Как работает эта связка при задании параметров в Runtime - одному Бузаджи известно, хотя можно и сорцы поисследовать. Возможно, в этой связке могут быть какие-то косяки. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 20:19 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
И не только поэтому лично я предпочитаю чистый API... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 20:22 |
|
Посоветуйте инструмент для диагностики проблемы
|
|||
---|---|---|---|
#18+
авторПрихожу к выводу, что это глюк в конкретной версии FIBPlus. Я тоже это предполагаю. Завтра буду ковырять. Но хотелось бы предварительно подтвердить или опровергнуть это с помощью мониторинга. Очень надеюсь, что своими правками не сломаю эти ФИБы. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2015, 20:22 |
|
|
start [/forum/topic.php?fid=40&msg=39091824&tid=1562539]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
34ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 146ms |
0 / 0 |