2017-09-27 130 views
0

我有一个场景,我需要用SQL查询(Oracle)抓取输出并将结果存储到html文件中。当用户将得到html报告时,会有一个超链接的列。当用户点击该超链接时,它将显示存储在本地机器上的输出。以下是我的查询。 (之前会有另一个查询将结果存储在Failed.txt文件中)。从Oracle的sqlplus输出的html超链接读取输出

select max(start_time)database,total,sum(CASE when status='Completed' then 1 else 0 end) as Completed,'< a href=''file:///C:/Users/kaushal.dave/ht_test/failed.txt''>LInks</a>' Failed, 
(select count(status) from t1_exp where status not in ('Completed','Failed')) as In_queue,server 
from T1_EXP group by database,total,server; 

上面,查询在数据库中执行得很好,但是当我看到输出时,我没有看到Failed.txt的超链接。附截图enter image description here

+0

尝试使用双引号括起来的文件路径:(当状态=“已完成”,那么1点否则为0结束CASE)为已完成,“LInks”失败 选择MAX(START_TIME)数据库,总计金额, (从t1_exp中选择计数(状态),其中状态不在('Completed','Failed'))作为In_queue,服务器 来自T1_EXP组的数据库,total,server; –

+0

嗨,Cyrille,我已经尝试过,但不幸的是没有结果。 –

回答

0

似乎可以帮助:

SET MARKUP HTML ON SPOOL ON HEAD "<TITLE>List of courses</TITLE>" 
COLUMN NAME HEADING 'Course Name' 
COLUMN URLLINK HEADING 'Link' 

SET ECHO OFF 

SPOOL C:\LIST_OF_COURSES.HTML 

SELECT ID, NAME, '< a href="||URL||">'||URL||'</a>' URLLINK 
FROM COURSES; 

SPOOL OFF 

set MARKUP HTML OFF 

该代码从dba-oracle website

+0

嗨Gajendra,谢谢我已经使用此代码,但它不工作。 –

0

被带到请运行下面的查询,它的工作我的机器上,我去掉一个开始标记前的空格。

select max(start_time)database,total,sum(CASE when status='Completed' then 1 else 0 end) as Completed,'<a href="'||'file:///C:/Users/kaushal.dave/ht_test/failed.txt'||'">'||'Link'||'</a>' Failed, 
(select count(status) from t1_exp where status not in ('Completed','Failed')) as In_queue,server 
from T1_EXP group by database,total,server; 
+0

Hi Sabe,非常感谢您检查它。不幸的是,它仍然没有为我工作。 –