db中有很多表和sp.我找到了特定sp(存储过程)中使用的表名.
sp_depends %sp_name%没有给出欲望的结果.我也用过INFORMATION_SCHEMA.TABLES,INFORMATION_SCHEMA.ROUTINES桌子.
但结果并没有完全满足我的要求.
在处理multivalue报告之间的参数时遇到问题.
我有一个主要报告,我在其中定义了一个多值参数,我用它来运行SQL查询来填充其数据集.该参数在WHERE子句中以下列方式使用:
WHERE values IN (@parameter)
Run Code Online (Sandbox Code Playgroud)
它工作正常,它可以恢复预期的数据.
然后,此主报告将此参数传递给子报表.该参数在子报表中也被定义为多值,并且我可以在参数的下拉列表中看到它以正确的方式接收值.像这样:A,B,C
问题是填充子报表的数据集的查询什么都不返回.它还有一个在主报告中定义的WHERE子句(已经工作)
WHERE values IN (@parameter)
Run Code Online (Sandbox Code Playgroud)
如果我手动运行查询,将值硬编码为如下所示:
WHERE values IN ('A', 'B', 'C')
Run Code Online (Sandbox Code Playgroud)
它工作,但当我尝试使用参数时,它没有.所以,不知何故,它正在失去格式或价值观.
我在子报表的数据集定义中尝试了这个解决方案,该定义是在另一个线程中提出的:
=join(Parameters!<your param name>.Value,",")
Run Code Online (Sandbox Code Playgroud)
但它对我不起作用,数据集仍然是空的.
关于我缺少什么的任何想法?
谢谢!:)
我有一个变量de_sters,一个字符串类型变量,因为它在我的SSIS包中定义,它的范围是SSIS包,我需要fill使用一个表中的几行的值,使用Execute Sql Task包.
底线是我有一个"执行Sql任务"包,在proprieties - >"Sql Statement"我写道:
declare @s varchar(max) = ''
select @s = case when @s <> ''
then @s + ',''' + employer_name + ''''
else @s + '''' + employer_name+ ''''
end
from employers
select @s as Result
Run Code Online (Sandbox Code Playgroud)
然后,在Result Set我选择Single Row(首先我运行我的选择,我看到它只返回一行).然后在tab Result Set(左侧)我在Result Name字段中写道Result(来自我之前的sql语句的别名)和Variable Name我写的文件User::de_sters.
但是当我运行sql任务时,它给了我
The type of the value being assigned to variable "User::de_sters"
differs …Run Code Online (Sandbox Code Playgroud) 我正在开发一个非常简单的SSIS包:运行存储过程将数据从变量表直接导出到平面文件目的地.最初,变量表中的每一列被定义为varchar(max),到目前为止工作正常.为了提高性能,我决定对变量表应用约束,这与varchar(max)不兼容,我必须为它分配一定数量,例如varchar(10).在此更改后,此SSIS遭遇了一系列错误:
Error: 0xC0202009 at ESP AL Extract, OLE DB Source [835]: An OLE DB error has
occurred. Error code: 0x80040E21.
An OLE DB record is available. Source: "Microsoft SQL Native Client"
Hresult: 0x80040E21 Description: "Multiple-step OLE DB operation generated
errors. Check each OLE DB status value, if available. No work was done.".
Error: 0xC0208265 at ESP AL Extract, OLE DB Source [835]: Failed to retrieve
long data for column "SR_RequestID".
Error: 0xC020901C at ESP AL Extract, …Run Code Online (Sandbox Code Playgroud) 使用SQL Server 2008.I有一个表叫用户具有列LastLogindata与datetimeoffset数据类型
以下查询适用于生产服务器,但不适用于复制服务器。
select top 10 CAST(LastLoginDate AS DATETIME) from User.
Run Code Online (Sandbox Code Playgroud)
我收到以下错误。将 datetimeoffset 数据类型转换为 datetime 数据类型导致值超出范围。
谢谢
我有一个sql报告服务报告,显示我们所有商店的销售额等,它包含一个显示%到预算值的列.我想要做的是,如果值是,>= .35那么使它成为单元格的背景Green,如果值是,< .35 and > .30那么Yellow值是< .30 then Red.
这真的是我的头脑,我似乎无法让它与所有3个范围一起工作.
我可以在单元格的背景颜色属性中加入表达式:
=IIF(Fields!ID__to_Budget.Value >= 0.35, "Green", "Red")
Run Code Online (Sandbox Code Playgroud)
这有效,但当然我没有任何黄色范围,在.35以下的任何东西都变成了红色.
我一直试图在背景颜色上做一个嵌套表达式,如下所示:
=iif( (Fields!ID__to_Budget.Value >= 0.35), "Green",
( iif(Fields!ID__to_Budget.Value <0.35 and > 0.30, "Yellow",
iif(Fields!ID__to_Budget.Value < 0.30 "Red", "White") ) ) )
Run Code Online (Sandbox Code Playgroud)
但它抱怨"和> 0.30"部分的语法错误.
非常感谢Lance