Я нашел решение со стороны oracle сторона SQL: тип данных LONG может сохранить до 32000 символов, а varchar2 может сохранить до 4000 символов, а ASP. NET MVC может просматривать столбцы типов данных VARCHAR, поэтому решением было преобразовать тип данных LONG в VARCHAR с помощью следующей функции:
CREATE OR REPLACE FUNCTION search_long(r ROWID) RETURN VARCHAR2 IS
temporary_varchar VARCHAR2(4000);
BEGIN
SELECT REPORT_RESULT INTO temporary_varchar FROM RAD_REPORT_RESULT WHERE ROWID=r;
RETURN temporary_varchar;
END;
/
, затем я вызвал функцию в SQL SELECT:
string sql = @"SELECT a.rad_order_no ,
serv_request_date ,
approving_date ,
d.LONG_FORIEGN_DESC ,
SEARCH_LONG(C.ROWID)
FROM RAD_ORDER_HEADER a , RAD_IMAGE_HEADER b ,RAD_REPORT_RESULT c,HOSPITAL_SERVICES d
WHERE a.HOSPITAL_NO = b.HOSPITAL_NO
AND a.HOSPITAL_NO = c.HOSPITAL_NO
AND b.HOSPITAL_NO = c.HOSPITAL_NO
AND A.HOSPITAL_NO=d.HOSPITAL_NO
AND b.HOSPITAL_NO=d.HOSPITAL_NO
AND d.DEPT_NO=6
AND c.SERV_NO=d.SERV_NO
AND a.RAD_ORDER_NO = b.RAD_ORDER_NO
AND b.IMAGE_NO = c.IMAGE_NO
AND b.SERV_NO = c.SERV_NO ";
Наконец, в представлении Radiology. cs html foreach l oop я использовал этот столбец также SEARCH_LONG (C .ROWID) вместо report_result
@foreach (System.Data.DataRow dr in Model.Rows)
{
<tr>
<td>@dr["rad_order_no"].ToString()</td>
<td>@dr["serv_request_date"].ToString()</td>
<td>@dr["approving_date"].ToString()</td>
<td>@dr["LONG_FORIEGN_DESC"].ToString()</td>
<td>@dr["SEARCH_LONG(C.ROWID)"].ToString()</td>
</tr>
и теперь вывод ok