изменение настроек заголовка html по умолчанию на sqlplus -M - PullRequest
0 голосов
/ 28 марта 2019

Мне нужно сгенерировать html-отчет из sqlplus с моим собственным фоном и цветами переднего плана в сценарии оболочки.

Случай 1 : я использовал команду sqlplus -M "HTML ON" в сценарии оболочки и SET MARKUP с настроенными цветами.Но все же цвета по умолчанию появляются в конечном сгенерированном файле oplog.html.

Случай 2 : при попытке без метод sqlplus -M "HTML ON", т. Е. Обычного sqlplus, а затем установки разметки (такой же, как та, которая использовалась в случае 1)Я не получаю правильный полный вывод html (то есть заголовок, заголовок и т. Д. Отсутствует).

Какой метод следует использовать, чтобы получить цвета не по умолчанию.

Это код для случая 1 .Этот метод дает правильный HTML-отчет, НО БЕЗ ПОЛЬЗОВАТЕЛЬСКИХ ЦВЕТОВ, несмотря на упоминание его в разметке набора

#!/bin/sh
sqlplus -M "HTML ON" -s "/as sysdba"<<EOF
spool oplog.html

set markup HTML ON HEAD "<style type='text/css'> body {font:10pt Arial,Helvetica,sans-serif; color:black; background:White;} p {font:10pt Arial,Helvetica,sans-serif; color:black; background:White;} table,tr,td {font:10pt Arial,Helvetica,sans-serif; color:Black; background:#f7f7e7; padding:0px 0px 0px 0px; margin:0px 0px 0px 0px;} th {font:bold 10pt Arial,Helvetica,sans-serif; color:#fcfcbe; background:#f8fb92; padding:0px 0px 0px 0px;} h1 {font:16pt Arial,Helvetica,Geneva,sans-serif; color:#fcfcbe; background-color:White; border-bottom:1px solid #f8fb92; margin-top:0pt; margin-bottom:0pt; padding:0px 0px 0px 0px;-
} h2 {font:bold 10pt Arial,Helvetica,Geneva,sans-serif; color:#fcfcbe; background-color:White; margin-top:4pt; margin-bottom:0pt;} a {font:9pt Arial,Helvetica,sans-serif; color:#663300; background:#ffffff; margin-top:0pt; margin-bottom:0pt; vertical-align:top;}</style><title>SQL*Plus Report</title>" BODY "" TABLE "border='1' width='90%' align='center' summary='Script output'" SPOOL ON ENTMAP OFF PREFORMAT OFF
select * from dual;
spool off
EOF

Это код варианта 2 :.Этот метод не дает полного вывода HTML.

#!/bin/sh
sqlplus -S "/as sysdba" @script.sql > op.log

script.sql

set markup HTML ON HEAD "<style type='text/css'> body {font:10pt Arial,Helvetica,sans-serif; color:black; background:White;} p {font:10pt Arial,Helvetica,sans-serif; color:black; background:White;} table,tr,td {font:10pt Arial,Helvetica,sans-serif; color:Black; background:#f7f7e7; padding:0px 0px 0px 0px; margin:0px 0px 0px 0px;} th {font:bold 10pt Arial,Helvetica,sans-serif; color:#fcfcbe; background:#f8fb92; padding:0px 0px 0px 0px;} h1 {font:16pt Arial,Helvetica,Geneva,sans-serif; color:#fcfcbe; background-color:White; border-bottom:1px solid #f8fb92; margin-top:0pt; margin-bottom:0pt; padding:0px 0px 0px 0px;-
} h2 {font:bold 10pt Arial,Helvetica,Geneva,sans-serif; color:#fcfcbe; background-color:White; margin-top:4pt; margin-bottom:0pt;} a {font:9pt Arial,Helvetica,sans-serif; color:#663300; background:#ffffff; margin-top:0pt; margin-bottom:0pt; vertical-align:top;}</style><title>SQL*Plus Report</title>" BODY "" TABLE "border='1' width='90%' align='center' summary='Script output'" SPOOL ON ENTMAP OFF PREFORMAT OFF
select * from dual;

O / p в случае 1 : я получаю вывод html.Но я должен получить результат, который содержит настроенные цвета, которые я упоминал в SET MARKUP ...Вместо этого окончательный html имеет значения цвета по умолчанию.

O / p для случая 2 : я не получаю полный вывод html, несмотря на установку команды SET MARKUP.

<p>
<table border='1' width='90%' align='center' summary='Script output'>
<tr>
<th scope="col">
D
</th>
</tr>
<tr>
<td>
X
</td>
</tr>
</table>
<p>
...