我正在创建一个Jasper包含四个部分的报告.每个部分都包含一个文本字段作为标题和一个子报表.子报表可以为空.如果为空,则使用" 删除行空白时隐藏" .这项工作到目前为止.现在,如果隐藏子报表,也应隐藏相应的标题文本字段.
我尝试了很多东西,但无法提出解决方案.例如,在表达时使用Print : new Boolean ($P{otherField}.read() != -1). 这从未显示过标题.
我也试图在我的Java程序中隐藏标题,但找不到合适的API命令.我想把getBands()[x].getChildren()[y]我带到正确的标题,但我无法隐藏它.
还有其他想法吗?
这个使用参数的静态查询返回一行:
DECLARE @sqltext nvarchar(max)
DECLARE @status varchar(100)
SET @status = 'Active: Complete'
select * from status where StatusTitle = @status and type_id = 800
Run Code Online (Sandbox Code Playgroud)
但是,如下所示在动态SQL查询中使用该参数不会返回任何行:
SET @sqltext = 'SELECT s.StatusID
FROM [Status] s
WHERE (
( s.StatusTitle ='' + @status + '' )
AND s.[type_id] = 800 )'
EXECUTE sp_executesql @sqltext
Run Code Online (Sandbox Code Playgroud)
我知道WHERE子句有问题.我无法弄清楚如何纠正它.
当我使用JUnit测试我的应用程序时,它正在按照布局模式的指定打印日志log4j2.xml,但是当我在WildFly 9中部署我的应用程序时,我不再获得相同的格式.甚至Log4j2中的日志级别在服务器中部署时也没有反映出来.
JUnit日志示例:
2016-02-15 11:14:16,314 DEBUG [main] btrcXAPool - 连接状态变为IN_POOL,通知线程最终等待连接
服务器日志示例:
11:11:33,796 INFO [org.quartz.core.QuartzScheduler] (ServerService线程池 - 89)调度程序quartzScheduler _ $ _ anindya-ubuntu1455514892022已启动.
Log4j2.xml:
<Configuration status="WARN" name="myapp" monitorInterval="5">
<Appenders>
<RollingFile name="RollingFile" fileName="${myapp.log-dir}/myapp.log"
filePattern="${myapp.log-dir}/$${date:yyyy-MM}/myapp-%d{MM-dd-yyyy}-%i.log">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
</PatternLayout>
<Policies>
<OnStartupTriggeringPolicy />
<SizeBasedTriggeringPolicy size="25 MB"/>
</Policies>
<DefaultRolloverStrategy max="100">
<Delete basePath="${myapp.log-dir}" maxDepth="2">
<IfFileName glob="*/myapp-*.log">
<IfLastModified age="7d">
<IfAny>
<IfAccumulatedFileSize exceeds="1 GB" />
<IfAccumulatedFileCount exceeds="1" />
</IfAny>
</IfLastModified>
</IfFileName>
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="com.company.myapp" level="trace" additivity="false">
<AppenderRef ref="RollingFile"/>
</Logger> …Run Code Online (Sandbox Code Playgroud) 当我的一个查询执行时间比预期长得多时,我遇到了参数嗅探.当我深入研究这个问题时,我开始知道:
当第一次执行查询时,它(SQL Server)为该查询创建执行计划,并且执行相同查询的其他n次,如果在第一次执行时结果集中存在较大差异,则会出现参数嗅探问题.
这是我的方案.
现在我的问题是,在这些情况下,有没有办法或解决方法来克服SQL Server中的参数嗅探?
我知道通过跑步sp_updatestats我可以验证它是否正在发生.
同时,我知道要赶上这个问题,我需要监控过程高速缓存,通过query_hash和query_plan_hash领域sys.dm_exec_query_stats我可以做到这一点.
我不想RECOMPILE在SET变量部分中使用,因为这将在每次执行查询时创建新的执行计划.
但是,我不是通过在查询本身做一些事情来验证我想要克服它的问题,而是"例如"在运行时检测问题并仅在需要时创建新的执行计划(不是每次都)".
我经常面对参数嗅探问题,所以非常感谢每一个有用的建议和帮助.提前致谢!
Merge和SQL Server中的合并连接有什么区别?
我目前正在用 C# 构建一个网络爬虫。为了对尚未爬网的 URL 进行排队,我使用 SQL Server。它工作得非常快,但随着时间的推移它开始变得非常大,这会减慢我的存储过程。
CREATE TABLE PriorityQueue
(
ID int IDENTITY(0,1) PRIMARY KEY,
absolute_url varchar (400),
depth int,
priorty int,
domain_host varchar (255),
);
CREATE INDEX queueItem ON PriorityQueue(absolute_url);
CREATE INDEX queueHost ON PriorityQueue(domain_host);
Run Code Online (Sandbox Code Playgroud)
这是我用于队列的表。优先级编号从 1 到 5,其中 1 是最高优先级。正如您所看到的,我还在下面的存储过程中使用了索引。
将新项目添加到队列的过程:
DROP PROCEDURE IF EXISTS dbo.Enqueue
GO
CREATE PROCEDURE dbo.Enqueue(@absolute_url varchar(255), @depth int, @priorty int, @host varchar(255))
AS
BEGIN
INSERT INTO [WebshopCrawler].[dbo].[PriorityQueue] (absolute_url, depth, priorty, domain_host) VALUES (@absolute_url, @depth, @priorty, @host);
END
GO
Run Code Online (Sandbox Code Playgroud)
获取最高优先级项目的过程:
DROP PROCEDURE IF …Run Code Online (Sandbox Code Playgroud) sql sql-server stored-procedures priority-queue query-performance
我有一个SQL查询,在其中声明一个表.
Declare @t table(tagname nvarchar(50), Value float, timestamp datetime)
Run Code Online (Sandbox Code Playgroud)
然后我在这个表中插入一些日期.完成后,我想更新另一个表(已创建)@t.
有点像:
UPDATE Optimiser_tagData
SET Optimiser_tagData.value = @t.value
where Optimiser_tagData.tagName = @t.tagName
Run Code Online (Sandbox Code Playgroud)
这显然不起作用,我得到这个错误:
必须声明标量变量"@t"
我相信我很容易错过一些东西,但我无法弄明白.
如何在WildFly中增加JTA事务超时?
既可以在standalone.xml管理控制台中也可以通过管理控制台进行更新吗?
我试图在查询中连接我的存储过程的参数,但它始终显示错误。这是我的查询:
EXEC xp_cmdshell 'bcp "SELECT matriculeEmployeur,
cleEmployeur,
codeDexp,
trimestre,
annee,
page,
ligne,
matriculeAssure,
cleAssure,
CONCAT(CONCAT(nom,nomPere,prenom),space(60-LEN(CONCAT(nom,nomPere,prenom)))),
carteIdentity,
salaire
FROM ##myTempo" queryout "FILEPATH"' +fname+ '-c -T'.
Run Code Online (Sandbox Code Playgroud)
错误显示在第一个连接符号 [第一个加号] 上。我在这里犯了什么错误?
我有不平衡的training数据集,这就是为什么我建立自定义 weighted categorical cross entropy loss功能.但问题是我的validation设置是平衡的,我想使用常规的分类交叉熵损失.那么我可以为Keras中的验证集传递不同的损失函数吗?我指的是用于培训的受损者和用于验证集的常规用品?
def weighted_loss(y_pred, y_ture):
'
'
'
return loss
model.compile(loss= weighted_loss, metric='accuracy')
Run Code Online (Sandbox Code Playgroud)