Использование HAVING
:
SELECT Document
FROM @TableA A
JOIN @TableB B
ON B.IdWord = A.IdWord
WHERE Word IN ('A', 'B','C', 'E')
GROUP BY Document
HAVING COUNT(DISTINCT CASE WHEN Word IN ('A','B', 'C') THEN Word END) = 3
OR COUNT(DISTINCT CASE WHEN Word IN ('E') THEN Word END) = 1
Корневой регистратор обязателен, я думаю. Я подозреваю, что конфигурация перестала работать, потому что корень не существует.
Другая потенциальная проблема, это Настраивает, не указывается на Web.config.
Попытка Настраивает (Сервер. MapPath (" ~/web.config")) вместо этого.
Это очень походит на проблему полномочий файла мне. Если Вы указываете, что имя файла без любого пути, log4net запишет в корневой каталог веб-приложения. Попробуйте это. Запрещая любой успех там, я рекомендовал бы включить внутреннюю отладку log4net путем помещения следующего в web.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="log4net.Internal.Debug" value="true"/>
</appSettings>
</configuration>
Затем разверните приложение, скомпилированное в режиме отладки, и запустите Visual Studio удаленный отладчик для наблюдения любых ошибок, которые брошены.
Iv просто провел 3 часа, пытаясь решить эту проблему, конец, это было форматирование web.config.
У меня было это, и это не работало:
<section name="SubSonicService" type="SubSonic.SubSonicSection, SubSonic" requirePermission="false"/>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler
, log4net"
requirePermission="false"/>
изменение его к этому зафиксировало его:
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" requirePermission="false"/>
Раздражающий!!
у меня была та же (расстраивающая) проблема. я переместил корень в вершину раздела конфигурации log4net, и все это работало. Кроме того, у меня также были корень и элемент регистратора, это привело к двум строкам каждый раз, когда я позвонил на регистратор. я удалил элемент регистратора, и просто сохраните корень и его работу большими.
Только для получения информации: путь к файлу должен быть отформатирован следующим образом:
<file value="..\\..\\logs\\InfoLog.html" />
Это - то, что я имею в Глобальном. ASX. Получил все это работающее в asp.net 3.5
<%@ Application Language="C#" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
log4net.Config.XmlConfigurator.Configure();
}
void Application_End(object sender, EventArgs e)
{
// Code that runs on application shutdown
log4net.LogManager.Shutdown();
}
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
}
void Session_Start(object sender, EventArgs e)
{
// Code that runs when a new session is started
}
void Session_End(object sender, EventArgs e)
{
// Code that runs when a session ends.
// Note: The Session_End event is raised only when the sessionstate mode
// is set to InProc in the Web.config file. If session mode is set to StateServer
// or SQLServer, the event is not raised.
}
</script>
Как насчет того, чтобы создать регистратор с типом страницы, как это:
private static readonly ILog log = LogManager.GetLogger(typeof(_Default));