Код: Выделить всё
public class ExploreTab
{
public long TabId { get; set; }
public long UserId { get; set; }
public string TabName { get; set; }
public bool? IsIncluded { get; set; }
public long DisplayOrder { get; set; }
}
Код: Выделить всё
public async Task GetExploreUserTabsToDownload(long enterpriseId, string userId)
{
using var dbConn =
new OracleConnection(_configuration.GetConnectionString("Db Connection"));
var userExploreTab = (await dbConn.QueryAsync(
@"select to_number(uv.user_id) AS UserId, to_number(ev.view_id) AS TabId, ev.caption AS TabName, to_number(ev.tab_order) AS DisplayOrder,
CASE
WHEN uv.permission_cd = 'I'
THEN 'true'
WHEN uv.permission_cd = 'E'
THEN 'false' END AS IsIncluded
FROM BE_CFG_MART_VIEWS ev
left join BE_PERM_VIEWS uv on (ev.view_id=uv.view_id and ev.enterprise_id=uv.enterprise_id and uv.user_id in (:userId))
where ev.enterprise_id = :enterpriseId and uv.user_id is not null order by tab_order",
new
{
enterpriseId,
userId
})).ToList();
return userExploreTab;
}
ORA-12801: ошибка, сигнализируемая в параллельном запросе сервер P00I, экземпляр 6\nORA-01722: неверный номер
Я понял проблему. За исключением этого столбца ev.caption AS TabName, у других возникают проблемы с преобразованием. Я попытался преобразовать другой столбец в_номер, как в C#, большинство из них имеют длинный тип данных. Я не уверен, но есть ли какой-либо альтернативный или хороший подход к решению проблемы преобразования в том же фрагменте кода? Я надеюсь, что преобразование можно выполнить в самом запросе.
Подробнее здесь: https://stackoverflow.com/questions/792 ... sion-issue
Мобильная версия