Страница 1 из 1

RDB$PROCEDURES.RDB$PROCEDURE_SOURCE - русский не пройдет?

Добавлено: 19 май 2008, 13:02
wordofjustice
Здраствуйте.

В базе внезапно пропала возможность создавать (и редактировать) процедуры. На запрос:

Код: Выделить всё

select pr.rdb$procedure_name,
pp.rdb$parameter_name,
pp.rdb$parameter_type,
pp.rdb$parameter_number,
fs.rdb$field_name,
fs.rdb$field_type,
fs.rdb$field_length,
fs.rdb$field_scale,
fs.rdb$field_sub_type,
fs.rdb$segment_length,
fs.rdb$dimensions,
cr.rdb$character_set_name,
co.rdb$collation_name,
fs.rdb$collation_id,
fs.rdb$character_set_id,
d.rdb$dimension,
d.rdb$lower_bound,
d.rdb$upper_bound,
pp.rdb$description,
fs.rdb$character_length,
fs.rdb$field_precision,
pp.rdb$parameter_mechanism,
pp.rdb$field_source,
pp.rdb$default_source
from rdb$procedures pr
left join rdb$procedure_parameters pp on pp.rdb$procedure_name = pr.rdb$procedure_name
left join rdb$fields fs on fs.rdb$field_name = pp.rdb$field_source
left join rdb$field_dimensions d on d.rdb$field_name = fs.rdb$field_name
left join rdb$character_sets cr on fs.rdb$character_set_id = cr.rdb$character_set_id
left join rdb$collations co on ((fs.rdb$collation_id = co.rdb$collation_id) and
(fs.rdb$character_set_id = co.rdb$character_set_id))
where (1=1)
order by pr.rdb$procedure_name, pp.rdb$parameter_type, pp.rdb$parameter_number
упорно выдавалось:

Код: Выделить всё

Cannot transliterate character between character sets.
Cannot transliterate character between character sets.
Полез копаться и выяснил что причиной этого безобразя - невозможность конвертации поля RDB$PROCEDURES.RDB$PROCEDURE_SOURCE причем в тех процедурах в которых были коменатрии на русском.

Честно говоря это вводит в ступор. Ведь эти процедуры были ранее написаны в том же ИБэксперте. Ничего с кодировками не делал, хотя виноват конечно я (вот только не могу понять в чем). После последнего апдейта вроде все совершенно нормально работало довольно приличное время.

ОС - WinXP SP2
FB - 2.1.0.17735
Размер базы - маленький

С покаянием приму обвинения в криворукости и ответы на извечный вопрос ) .

Добавлено: 19 май 2008, 13:51
mdfv
Это сильные грабли.
http://www.firebirdsql.org/index.php?op ... engine_210
Там вверху в красной рамочке....

и тоже самое
http://ibase.ru/firebird/21/metadata_charset.htm

Добавлено: 19 май 2008, 13:56
kdv
С покаянием приму обвинения в криворукости и ответы на извечный вопрос
бегом читать www.ibase.ru, от 23.04.2008 второе сообщение.

Добавлено: 19 май 2008, 14:34
wordofjustice
Благодарю, был несобран и не ожидал подвоха. (

Re: RDB$PROCEDURES.RDB$PROCEDURE_SOURCE - русский не пройдет?

Добавлено: 07 сен 2008, 14:18
Solo
Ну елки-палки, а!!! Я тоже попался. :roll: У меня после бэкапа ресторе делается и все путем. Но при попытке открыть восстановленную базу ругается на транслитерэйт в description доменов (они у меня на русском). Я так полагаю, что и на все остальные русские описания он бы ругаться стал... Ну... буду читать. Надеюсь, прочту и пойму. Целый месяц уже работаю на 2,1, и не пытался сделать контрольный ресторе...