最近、Java \ SQL Serverアプリケーションで非常に簡単なレポートを作成するためにBIRTを使用し始めました。今私は動的なSQLのstmt私はBIRTのデータセットで使用しようとしている(私の英語私は "Frenshです)problemeは、BIRTはデータセットを作成することはできません、私はこのレポートSQLエラー#1、私はまた、私たちのデータセットを作成するためにbirtのSQL変数を使用できるかどうかを知りたい場合 これは私のSQLクエリです:BIRTでSQL Serverクエリを実行できません
DECLARE @ListeAffaires TABLE(Nom_APPEL nvarchar(MAX))
INSERT INTO @ListeAffaires(Nom_APPEL)
SELECT DISTINCT AF_NOMAPPEL
FROM F_AFFAIRES INNER JOIN T_P_SOCIETE ON AF_CODE_SOCIETE = SOC_CODE
WHERE SOC_CODE = 'RUS01'
declare @AffairesChaine NVARCHAR(MAX)
SET @AffairesChaine = STUFF(
(SELECT distinct ',ISNULL(' + QUOTENAME(AF_NOMAPPEL) + ', ''0'') ' + QUOTENAME(AF_NOMAPPEL)
FROM F_AFFAIRES INNER JOIN T_P_SOCIETE ON AF_CODE_SOCIETE = SOC_CODE
INNER JOIN VUE_VALORISATION_TEMPS_PASSES ON VTPS_CODE_AFFAIRE = AF_CODE_AFFAIRE
WHERE SOC_CODE = 'RUS01' AND VTPS_date_FICHE >= '02/11/2015'
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)'),1,1,'')
DECLARE @AffairesChaines NVARCHAR(MAX)
SET @AffairesChaines = ''
SELECT @AffairesChaines = @AffairesChaines +'['+ Nom_APPEL + '],' FROM @ListeAffaires
SET @AffairesChaines = LEFT (@AffairesChaines, LEN(@AffairesChaines) - 1)
DECLARE @sqlCommand varchar(MAX)
SET @sqlCommand = 'DECLARE @SYNTHESETEMPS TABLE ( VTPS_CODE_COLLAB varchar(250)
, VTPS_NOM_COLLAB varchar(250)
, VTPS_PRENOM_COLLAB varchar(250)
, TSRV_LIBELLE varchar(250)
, VTPS_COL_ALPHANUM01 varchar(10)
, AF_NOMAPPEL NVARCHAR(MAX)
, VTPS_DUREE float(24)
)
INSERT INTO @SYNTHESETEMPS (
VTPS_CODE_COLLAB
, VTPS_NOM_COLLAB
, VTPS_PRENOM_COLLAB
, TSRV_LIBELLE
, VTPS_COL_ALPHANUM01
, AF_NOMAPPEL
, VTPS_DUREE
)
SELECT VTPS_CODE_COLLAB
, VTPS_NOM_COLLAB
, VTPS_PRENOM_COLLAB
, TSRV_LIBELLE
, VTPS_COL_ALPHANUM01
, AF_NOMAPPEL
, VTPS_DUREE
FROM VUE_VALORISATION_TEMPS_PASSES
INNER JOIN F_P_COLLABORATEUR ON VTPS_CODE_COLLAB = CLB_CODE
INNER JOIN F_AFFAIRES ON VTPS_CODE_AFFAIRE = AF_CODE_AFFAIRE
INNER JOIN T_COL_SERVICE ON CLB_TSRV_IDENT = TSRV_IDENT
INNER JOIN T_P_SOCIETE ON AF_CODE_SOCIETE = SOC_CODE
WHERE SOC_CODE = ''RUS01'' AND VTPS_date_FICHE >= ''02/11/2015''
SELECT VTPS_NOM_COLLAB +'' '' + VTPS_PRENOM_COLLAB AS "Remaining hours"
, TSRV_LIBELLE AS "Service"
, VTPS_COL_ALPHANUM01 AS "Categories"
,'+ @AffairesChaine +'
FROM @SYNTHESETEMPS
PIVOT (SUM(VTPS_DUREE)
FOR
AF_NOMAPPEL IN ('[email protected]+')) PVT '
EXEC(@sqlCommand)