任何人都可以说SSIS 2008中ADO NET源和OLE DB源之间的区别?它们在任何情况下都是相同的吗?
我有两个报告,一个是内部用户,另一个是外部用户,
对于内部用户,我需要启用表单身份验证才能查看报告,而不是在服务器中创建用户帐户.
对于外部用户,我不想启用任何身份验证,以便他们可以从浏览器访问报告而无需任何身份验证.
我按照以下步骤使用来自以下链接的SSRS样本,在完成所有更改后我得到HTTP500错误.请帮助启用此基于表单的身份验证.
修改RSReportServer.config文件
步骤1:-
<Authentication>
<AuthenticationTypes>
<Custom/>
</AuthenticationTypes>
<EnableAuthPersistence>true</EnableAuthPersistence>
</Authentication>
Run Code Online (Sandbox Code Playgroud)
第2步:-
<Security>
<Extension Name="Forms"
Type="Microsoft.Samples.ReportingServices.CustomSecurity.Authorization,
Microsoft.Samples.ReportingServices.CustomSecurity" >
<Configuration>
<AdminConfiguration>
<UserName>username</UserName>
</AdminConfiguration>
</Configuration>
</Extension>
</Security>
<Authentication>
<Extension Name="Forms" Type="Microsoft.Samples.ReportingServices.CustomSecurity.AuthenticationExtension, Microsoft.Samples.ReportingServices.CustomSecurity" />
</Authentication>
Run Code Online (Sandbox Code Playgroud)
第3步: -
<UI>
<CustomAuthenticationUI>
<loginUrl>/Pages/UILogon.aspx</loginUrl>
<UseSSL>True</UseSSL>
</CustomAuthenticationUI>
<ReportServerUrl>http://<server>/ReportServer</ReportServerUrl>
</UI>
Run Code Online (Sandbox Code Playgroud)
修改RSSrvPolicy.config文件
第4步:-
<CodeGroup
class="UnionCodeGroup"
version="1"
Name="SecurityExtensionCodeGroup"
Description="Code group for the sample security extension"
PermissionSetName="FullTrust">
<IMembershipCondition
class="UrlMembershipCondition"
version="1"
Url="C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin\Microsoft.Samples.ReportingServices.CustomSecurity.dll"
/>
</CodeGroup>
Run Code Online (Sandbox Code Playgroud)
修改RSMgrPolicy.config文件
第五步: -
<CodeGroup
class="FirstMatchCodeGroup"
version="1" …Run Code Online (Sandbox Code Playgroud) sql-server forms-authentication reporting-services ssrs-2008 msbi
我是SSIS的新手,无法将参数传递给OLE DB Source.我想查询给定日期范围的数据.
我有两个变量,数据类型为Date Time的variable1,变量的值由expression设置DATEADD("day", -1, GETDATE()).数据类型的变量2日期时间和变量的值由表达式设置DATEADD("day", 0, GETDATE())
在OLE DB SOURCE内部,数据访问模式设置为SQL命令,下面是SQL代码.
Select Col1, col2, col3, col4, coldate where Col1 = 'abc' and coldate between convert(varchar(10), ?, 101) and convert(varchar(10), ?, 101)
Run Code Online (Sandbox Code Playgroud)
我已将参数映射为
Parameter0,User :: variable1,输入
Parameter1,User :: variable2,输入
当我点击预览时,我收到一个错误
"显示预览时出错
附加信息:没有给出一个或多个必需参数的值.(Microsoft SQL Server Native Client 11.0)"
当我调试任务时,我得到的错误是
[OLE DB源[38]]错误:SSIS错误代码DTS_E_OLEDBERROR.发生OLE DB错误.错误代码:0x80040E21.OLE DB记录可用.来源:"Microsoft SQL Server Native Client 11.0"Hresult:0x80040E21描述:"转换规范的字符值无效".
注意:列冷却的数据类型是datetime
请帮我解决这个问题.我能够使用OLE DB Source中的变量使用数据访问模式SQL命令成功查询但我被要求不使用数据访问模式作为SQL命令.谢谢.
我在SSIS包中设置了一个变量,我正在使用这个表达式:
DATEPART("yyyy", GETDATE())*10000
+ DATEPART("month", GETDATE())*100
+ DATEPART("day",GETDATE())
Run Code Online (Sandbox Code Playgroud)
表达式会给我一个像'yyyymmdd'这样的变量值.我的问题是我想要昨天的约会.
例如,2014年11月1日它应该是20141031