powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / PL_FPDF - проблемы с кириллицами
30 сообщений из 30, показаны все 2 страниц
PL_FPDF - проблемы с кириллицами
    #38598702
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем здравствуйте, код пакета взял отсюда . На странице кнопку создал, привязал procces, и на procces вызываю процедуру из пакета, который генерирует pdf файл. Pdf файл отлично генерируется, вот только вместо кириллицам появляются крякозябры, уже второй день голову ломаю, помогите.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38598768
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никто не сталкивался с подобной проблемой?
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38598797
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санжар,

Кракозябры бывают разные. Покажите Ваши.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38598878
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustly,

абвгдеёжзийклмнопрстуфхцчшщыьъэюя - àáâãä叿çèéêëìíîïðñòóôõö÷øùûüúýþÿ
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38598916
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санжар,

Попробуйте перед выводом конвертировать текст. Я бы начал с процедуру TEXT

Код: plsql
1.
CONVERT(STROKA, 'WE8ISO8859P1', 'CL8MSWIN1251')


С первой кодировкой могу ошибаться, но по идее она идет в Ваших кракозябрах.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38598939
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustly,

Кодировка изменилась, но теперь перевернутые вопросики, пытаюсь перепробовать разные кодировки.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38598963
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санжар,

Можно попробовать

Код: sql
1.
2.
3.
SELECT a.value val1,b.value val2 FROM V$NLS_VALID_VALUES a,V$NLS_VALID_VALUES b WHERE a.parameter = 'CHARACTERSET'
and b.parameter = 'CHARACTERSET' and (a.value like '%8859%' or a.value like '%1251%')
and (b.value like '%8859%' or b.value like '%1251%') order by 1


Правда долго проверять придется. А PDF ридер русский вообще видит?
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38599121
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustly,

GustlyМожно попробовать

Код: sql
1.
2.
3.
SELECT a.value val1,b.value val2 FROM V$NLS_VALID_VALUES a,V$NLS_VALID_VALUES b WHERE a.parameter = 'CHARACTERSET'
and b.parameter = 'CHARACTERSET' and (a.value like '%8859%' or a.value like '%1251%')
and (b.value like '%8859%' or b.value like '%1251%') order by 1




в курсоре проверял, получилось 225 разных крякозябров.

А PDF ридер русский вообще видит?

с чужого компа заходил, тоже самое.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38599130
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санжар,

В курсоре я тоже проверял, нормального варианта не нашел, но не факт что это девелопер правильно покажет, надо в ПДФ смотреть. Я имел в виду, что ридер вообще русский может видеть, необязательно из этого файла. Именно русский текст. Кодировка базы какая? Возможно стоит конвертить из родной (1251 скорее всего) в UTF8 для надежности.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38599159
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustly,

ПДФ ридер другие файлы видит.
Кодировка базы
1 NLS_CHARACTERSET CL8MSWIN1251
2 NLS_NCHAR_CHARACTERSET AL16UTF16
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38599174
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санжар,

Тогда в самом верху TEXT перед работой с переданным текстом конвертните в UTF8
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38602525
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
function getFontTimes return charSet is
mySet charSet;
begin
-- Times font.
mySet(chr(0)) := 250; mySet(chr(1)) := 250; mySet(chr(2)) := 250; mySet(chr(3)) := 250; mySet(chr(4)) := 250; mySet(chr(5)) := 250; mySet(chr(6)) := 250; mySet(chr(7)) := 250; mySet(chr(8)) := 250; mySet(chr(9)) := 250; mySet(chr(10)) := 250; mySet(chr(11)) := 250; mySet(chr(12)) := 250; mySet(chr(13)) := 250; mySet(chr(14)) := 250; mySet(chr(15)) := 250; mySet(chr(16)) := 250; mySet(chr(17)) := 250; mySet(chr(18)) := 250; mySet(chr(19)) := 250; mySet(chr(20)) := 250; mySet(chr(21)) := 250;
mySet(chr(22)) := 250; mySet(chr(23)) := 250; mySet(chr(24)) := 250; mySet(chr(25)) := 250; mySet(chr(26)) := 250; mySet(chr(27)) := 250; mySet(chr(28)) := 250; mySet(chr(29)) := 250; mySet(chr(30)) := 250; mySet(chr(31)) := 250; mySet(' ') := 250; mySet('!') := 333; mySet('"') := 408; mySet('#') := 500; mySet('$') := 500; mySet('%') := 833; mySet('&') := 778; mySet('''') := 180; mySet('(') := 333; mySet(')') := 333; mySet('*') := 500; mySet('+') := 564;
mySet(',') := 250; mySet('-') := 333; mySet('.') := 250; mySet('/') := 278; mySet('0') := 500; mySet('1') := 500; mySet('2') := 500; mySet('3') := 500; mySet('4') := 500; mySet('5') := 500; mySet('6') := 500; mySet('7') := 500; mySet('8') := 500; mySet('9') := 500; mySet(':') := 278; mySet(';') := 278; mySet('<') := 564; mySet('=') := 564; mySet('>') := 564; mySet('?') := 444; mySet('@') := 921; mySet('A') := 722;
mySet('B') := 667; mySet('C') := 667; mySet('D') := 722; mySet('E') := 611; mySet('F') := 556; mySet('G') := 722; mySet('H') := 722; mySet('I') := 333; mySet('J') := 389; mySet('K') := 722; mySet('L') := 611; mySet('M') := 889; mySet('N') := 722; mySet('O') := 722; mySet('P') := 556; mySet('Q') := 722; mySet('R') := 667; mySet('S') := 556; mySet('T') := 611; mySet('U') := 722; mySet('V') := 722; mySet('W') := 944;
mySet('X') := 722; mySet('Y') := 722; mySet('Z') := 611; mySet('[') := 333; mySet('\') := 278; mySet(']') := 333; mySet('^') := 469; mySet('_') := 500; mySet('`') := 333; mySet('a') := 444; mySet('b') := 500; mySet('c') := 444; mySet('d') := 500; mySet('e') := 444; mySet('f') := 333; mySet('g') := 500; mySet('h') := 500; mySet('i') := 278; mySet('j') := 278; mySet('k') := 500; mySet('l') := 278; mySet('m') := 778;
mySet('n') := 500; mySet('o') := 500; mySet('p') := 500; mySet('q') := 500; mySet('r') := 333; mySet('s') := 389; mySet('t') := 278; mySet('u') := 500; mySet('v') := 500; mySet('w') := 722; mySet('x') := 500; mySet('y') := 500; mySet('z') := 444; mySet('{') := 480; mySet('|') := 200; mySet('}') := 480; mySet('~') := 541; mySet(chr(127)) := 350; mySet(chr(128)) := 500; mySet(chr(129)) := 350; mySet(chr(130)) := 333; mySet(chr(131)) := 500;
mySet(chr(132)) := 444; mySet(chr(133)) := 1000; mySet(chr(134)) := 500; mySet(chr(135)) := 500; mySet(chr(136)) := 333; mySet(chr(137)) := 1000; mySet(chr(138)) := 556; mySet(chr(139)) := 333; mySet(chr(140)) := 889; mySet(chr(141)) := 350; mySet(chr(142)) := 611; mySet(chr(143)) := 350; mySet(chr(144)) := 350; mySet(chr(145)) := 333; mySet(chr(146)) := 333; mySet(chr(147)) := 444; mySet(chr(148)) := 444; mySet(chr(149)) := 350; mySet(chr(150)) := 500; mySet(chr(151)) := 1000; mySet(chr(152)) := 333; mySet(chr(153)) := 980;
mySet(chr(154)) := 389; mySet(chr(155)) := 333; mySet(chr(156)) := 722; mySet(chr(157)) := 350; mySet(chr(158)) := 444; mySet(chr(159)) := 722; mySet(chr(160)) := 250; mySet(chr(161)) := 333; mySet(chr(162)) := 500; mySet(chr(163)) := 500; mySet(chr(164)) := 500; mySet(chr(165)) := 500; mySet(chr(166)) := 200; mySet(chr(167)) := 500; mySet(chr(168)) := 333; mySet(chr(169)) := 760; mySet(chr(170)) := 276; mySet(chr(171)) := 500; mySet(chr(172)) := 564; mySet(chr(173)) := 333; mySet(chr(174)) := 760; mySet(chr(175)) := 333;
mySet(chr(176)) := 400; mySet(chr(177)) := 564; mySet(chr(178)) := 300; mySet(chr(179)) := 300; mySet(chr(180)) := 333; mySet(chr(181)) := 500; mySet(chr(182)) := 453; mySet(chr(183)) := 250; mySet(chr(184)) := 333; mySet(chr(185)) := 300; mySet(chr(186)) := 310; mySet(chr(187)) := 500; mySet(chr(188)) := 750; mySet(chr(189)) := 750; mySet(chr(190)) := 750; mySet(chr(191)) := 444; mySet(chr(192)) := 722; mySet(chr(193)) := 722; mySet(chr(194)) := 722; mySet(chr(195)) := 722; mySet(chr(196)) := 722; mySet(chr(197)) := 722;
mySet(chr(198)) := 889; mySet(chr(199)) := 667; mySet(chr(200)) := 611; mySet(chr(201)) := 611; mySet(chr(202)) := 611; mySet(chr(203)) := 611; mySet(chr(204)) := 333; mySet(chr(205)) := 333; mySet(chr(206)) := 333; mySet(chr(207)) := 333; mySet(chr(208)) := 722; mySet(chr(209)) := 722; mySet(chr(210)) := 722; mySet(chr(211)) := 722; mySet(chr(212)) := 722; mySet(chr(213)) := 722; mySet(chr(214)) := 722; mySet(chr(215)) := 564; mySet(chr(216)) := 722; mySet(chr(217)) := 722; mySet(chr(218)) := 722; mySet(chr(219)) := 722;
mySet(chr(220)) := 722; mySet(chr(221)) := 722; mySet(chr(222)) := 556; mySet(chr(223)) := 500; mySet(chr(224)) := 444; mySet(chr(225)) := 444; mySet(chr(226)) := 444; mySet(chr(227)) := 444; mySet(chr(228)) := 444; mySet(chr(229)) := 444; mySet(chr(230)) := 667; mySet(chr(231)) := 444; mySet(chr(232)) := 444; mySet(chr(233)) := 444; mySet(chr(234)) := 444; mySet(chr(235)) := 444; mySet(chr(236)) := 278; mySet(chr(237)) := 278; mySet(chr(238)) := 278; mySet(chr(239)) := 278; mySet(chr(240)) := 500; mySet(chr(241)) := 500;
mySet(chr(242)) := 500; mySet(chr(243)) := 500; mySet(chr(244)) := 500; mySet(chr(245)) := 500; mySet(chr(246)) := 500; mySet(chr(247)) := 564; mySet(chr(248)) := 500; mySet(chr(249)) := 500; mySet(chr(250)) := 500; mySet(chr(251)) := 500; mySet(chr(252)) := 500; mySet(chr(253)) := 500; mySet(chr(254)) := 500; mySet(chr(255)) := 500;

return mySet;
end getFontTimes;

есть такая функция в пакете, именно это функция создает шрифты, можете доработать чтобы функция кириллицы тоже видела.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38603239
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что делает функция непонятно.

например
Код: plsql
1.
2.
  myset('G') := 722;
  myset('H') := 722;


Присваивает разным буквам одно и тоже значение. Как это на русский транслировать даже не знаю. Если с конвертом не получилось, я бы поискал другой конвертер в ПДФ.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38616254
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тема до сих пор актуальная, жду ответов.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38616535
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санжар,

http://technology.amis.nl/2012/04/11/generating-a-pdf-document-with-some-plsql-as_pdf_mini-as_pdf3/#prettyPhoto
Вот один из пакетов, который генерит PDF. Судя по примеру русский выводит.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38616834
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санжар,

Ищешь чем формировать PDF или хочешь заставить работать именно этот пакет ?
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38617177
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Casufi,

Если у Вас есть альтернативные решения, мне бы тоже было интересно посмотреть. Вариант выше работает, но его нужно допилить для работы через блобы в таблицах.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38617351
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
APEX интегрировали с BiPublisher, теперь формируется не только PDF файлы и rtf, excell, xml и html файлы, крякозябры тоже решается.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38621245
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyЕсли у Вас есть альтернативные решения,
Я поставил Jasper сервер, правда у них Репорт дизайнер замученный, но отчеты печатает, при чем результат вполне предсказуемый. Хочу еще попробовать Pentaho, у него вроде возможностей побольше и интерактивные отчеты вроде бесплатные.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38696720
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь и я напоролся на эту проблему :(. Нужно сформировать PDF с кириллицей с наименьшими затратами по времени.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38696810
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyТеперь и я напоролся на эту проблему :(
Выше два поста с решениями. Чем не устраивают ?
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38696908
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Casufi,

Слишком долго и сложно. И времени нет. Время есть только на нарисовать PDF, да и то не хотят давать :(
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38711514
AG#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
трындец ...заниматься ерундой если все на раз-два-три решает Bi Publisher (и rtf, excell, xml и html файлы)....выше писалось...и потом APEX Listeter прикрутить тож можно ;)
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38711526
AG#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gustly,

Gustly,

Правда долго проверять придется. А PDF ридер русский вообще видит?

------------------------------------------------------------------------------

по нормальному нет под виндами....либо писать какой-то свой pdf-u - формат..но скорей всего на линухах
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38711566
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще генератор отчётов PDF должен знать русский шрифт.
Мы создаём PDF на базе java библиотеки iText и обязательно указываем шрифт который отдельно скачали.
и он лежит в отдельной папке.Если этого не сделать выходят кракозяблы.
Я приложил шрифт.Если в вашем пакете есть функция создать документ или парашраф с неким базовым шрифтом ,который лежит там то и там то то воспользуйтесь ею.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38712490
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AG#на раз-два-три решает Bi Publisher
Не все хотят его покупать при наличии бесплатного Jasper и Pentaho. А как у паблишера с кирилицей, видит из коробки или тоже нужно кирилические шрифты паковать в отчеты ?
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38712537
AG#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Casufi,

ну если не покупное, то UTF (Юникод) поможет...правда траблы будут с длинной строки, IOT и т.д.....решаемо конечно

как-то так:
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38712539
AG#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
- in Source Database alter system set job_queue_processes=0 scope=both;

- in Source Database alter tables to CHAR (change the tables to CHAR before taking the export (-> point "E.2 Steps" )

- utlrp.sql

- create database in CHARACTER_SET=UTF8 with NLS_LENGTH_SEMANTICS=BYTE ! (or run startup migrate + catpatch.sql after creating database)

- Issue an ALTER SYSTEM SET NLS_LENGTH_SEMANTICS=CHAR SCOPE=BOTH command on the target database.

- Stop and restart the instance so that the parameter change takes effect.

- export database after change tables to CHAR (NLS_LANG=KOI8) можно exclude tables TRAFFIC_DAILY (RLS)

- import database to target в shell установить старый NLS_LANG=KOI8R (NLS_LENGTH_SEMANTICS=CHAR,NLS_LANG=KOI8R)

- run startup migrate + catpatch.sql + utlrp.sql

- alter system set job_queue_processes=8 scope=both;



- set NLS_LANG in oraenv :
NLS_LANG=american_america.utf8
NLS_SORT=russian
LC_ALL=C
LANG=C
- SET NLS_LENGTH_SEMANTICS=CHAR



*********************************************************

- BACKUP DATABASE !!! , BACKUP DATABASE !!!, BACKUP DATABASE !!!

- stop all jobs,sessions

- in Source Database alter tables to CHAR (change the tables to CHAR before taking the export (-> point "E.2 Steps" )

- in Source Database set NLS_LENGTH_SEMANTICS=CHAR

- utlrp.sql

- Issue an ALTER SYSTEM SET NLS_LENGTH_SEMANTICS=CHAR SCOPE=BOTH command on the target database.

- RESTART DATABASE;


- check convertible data:
csscan ......

- export tables (TRIGGERS=N CONSTRAINTS=N INDEXES=N) after change tables to CHAR (NLS_LANG=CL8KOI8R) можно exclude tables TRAFFIC (+ RLS)

- truncate all reloading tables (convertible data)



- disable all triggers,constraints !!!!!!!!!


- check,check and check all triggers,constraints !
- import database to target в shell установить старый NLS_LANG=....




******** по другому ************
Drop the original schema.

Recreate the original schema and its tables (you can use import's show=Y option to get the CREATE TABLE statements). Columns in the recreated tables will use character semantics, because that's now the default.

Import the schema into the target database using the IGNORE=Y import option.

**********

http://www.oracle.com/technology/oramag/oracle/03-mar/o23sql.html

Note:144808.1

Note:313175.1




E.2 Steps:

=============================================================================================================
=================================== A) check if you have partitions who are affected:

select C.owner, C.table_name, C.column_name, C.data_type, C.char_length
from all_tab_columns C, all_tables T
where C.owner = T.owner
and T.owner not in ('SYS', 'SYSTEM', 'CTXSYS', 'DBSNMP', 'DMSYS',
'EXFSYS', 'HR', 'IX', 'MDSYS', 'OE', 'OLAPSYS',
'ORDSYS', 'OUTLN', 'SH', 'SYSMAN', 'WKSYS',
'WK_TEST', 'WMSYS', 'XDB')
and C.table_name = T.table_name
and C.char_used = 'B'
and T.PARTITIONED='YES'
and C.table_name not in (select table_name from all_external_tables)
and C.data_type in ('VARCHAR2', 'CHAR');

=================================== A-2) check IOT overflow

select 'ALTER TABLE ' || OWNER || '.' || TABLE_NAME || ' ADD OVERFLOW;' from dba_tables where IOT_TYPE is not null order by OWNER;

=============================================================================================================
==================================== B) check if you have functional indexes on affected columns:


select OWNER, INDEX_NAME , INDEX_TYPE, TABLE_OWNER, TABLE_NAME, STATUS, FUNCIDX_STATUS from ALL_INDEXES
where INDEX_TYPE not in ('NORMAL', 'BITMAP','IOT - TOP')
and TABLE_OWNER not in ('SYS', 'SYSTEM', 'CTXSYS', 'DBSNMP', 'DMSYS', 'EXFSYS', 'HR', 'IX',
'MDSYS', 'OE', 'OLAPSYS', 'ORDSYS', 'OUTLN', 'SH', 'SYSMAN', 'WKSYS', 'WK_TEST', 'WMSYS', 'XDB')
and TABLE_NAME in (select unique (table_name) from dba_tab_columns where char_used ='B');
The existence of functional indexes on BYTE columns will give "ORA-30556: functional index is defined on the
column to be modified" when going to CHAR semantics, you will need to drop them before changing to CHAR semantics
and then recreate them afterwards.

=============================================================================================================
==================================== C) then run the script to do the actual change of BYTE columns to CHAR:


set feedback off
set verify off
set serveroutput on
set serveroutput on size 200000
set termout on
exec dbms_output.put_line('Starting build select of columns to be altered');
drop table semantics$
/
create table semantics$(s_owner varchar2(40),
s_table_name varchar2(40),
s_column_name varchar2(40),
s_data_type varchar2(40),
s_char_length number)
/
insert into semantics$
select C.owner, C.table_name, C.column_name, C.data_type, C.char_length
from all_tab_columns C, all_tables T
where C.owner = T.owner
and T.owner not in ('SYS', 'SYSTEM', 'CTXSYS', 'DBSNMP', 'DMSYS',
'EXFSYS', 'HR', 'IX', 'MDSYS', 'OE', 'OLAPSYS',
'ORDSYS', 'OUTLN', 'SH', 'SYSMAN', 'WKSYS',
'WK_TEST', 'WMSYS', 'XDB')
and C.table_name = T.table_name
and C.char_used = 'B'
-- only need to look for tables who are not yet CHAR semantics.
-- and T.partitioned != 'YES'
-- exclude partitioned tables
and C.table_name not in (select table_name from all_external_tables)
and C.data_type in ('VARCHAR2', 'CHAR')
-- You can exclude or include tables or schemas as you wish, by adjusting
-- "and T.owner not in" as per your requirements
/
commit
/
declare
cursor c1 is select * from semantics$;
v_statement varchar2(255);
v_nc number(10);
v_nt number(10);
begin
execute immediate
'select count(*) from semantics$' into v_nc;
execute immediate
'select count(distinct s_table_name) from semantics$' into v_nt;
dbms_output.put_line
('ALTERing ' || v_nc || ' columns in ' || v_nt || ' tables');
for r1 in c1 loop
v_statement := 'ALTER TABLE ' || r1.s_owner || '.' || r1.s_table_name;
v_statement := v_statement || ' modify (' || r1.s_column_name || ' ';
v_statement := v_statement || r1.s_data_type || '(' || r1.s_char_length;
v_statement := v_statement || ' CHAR))';
dbms_output.put_line(r1.s_owner || '.' || r1.s_table_name);
execute immediate v_statement;
end loop;
dbms_output.put_line('Done');
end;
/

=============================================================================================
D) After running the script it's a good idea to run UTL_RECOMP to validate dependent objects.

==============================================================================================

alter table ...... MODIFY (VEC_KEY VARCHAR2(1000));


run utlrp.sql
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38712540
AG#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AG#,

+ RLS можно в принципе убрать...если expdp (но там свои ограничения)
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38713368
haXbat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Casufi А как у паблишера с кирилицей, видит из коробки или тоже нужно кирилические шрифты паковать в отчеты ?
Нужно один раз закинуть файлик со шрифтами в java_home/fonts и выбрать его в веб админке паблишера.
...
Рейтинг: 0 / 0
30 сообщений из 30, показаны все 2 страниц
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / PL_FPDF - проблемы с кириллицами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]