GVKun编程网logo

c# – 在服务器端以编程方式更改报告的SSRS数据源(c#服务端处理请求)

16

这篇文章主要围绕c#–在服务器端以编程方式更改报告的SSRS数据源和c#服务端处理请求展开,旨在为您提供一份详细的参考资料。我们将全面介绍c#–在服务器端以编程方式更改报告的SSRS数据源的优缺点,解

这篇文章主要围绕c# – 在服务器端以编程方式更改报告的SSRS数据源c#服务端处理请求展开,旨在为您提供一份详细的参考资料。我们将全面介绍c# – 在服务器端以编程方式更改报告的SSRS数据源的优缺点,解答c#服务端处理请求的相关问题,同时也会为您带来Android N以编程方式更改语言、android – 以编程方式更改环厚度、Android以编程方式更改样式、asp.net – 如何以编程方式将参数传递给SSRS报告的实用方法。

本文目录一览:

c# – 在服务器端以编程方式更改报告的SSRS数据源(c#服务端处理请求)

c# – 在服务器端以编程方式更改报告的SSRS数据源(c#服务端处理请求)

今天,对于每个客户,我们部署相同的SSRS报告文件夹和数据源文件夹.
这些文件夹之间的区别是每个文件夹的名称和数据源的连接字符串.

我们使用的是Report Server 2008 R2.

在报告呈现之前,是否可以仅维护一个报表和数据源文件夹,并以编程方式更改服务器端的连接字符串?

如果不是,是否可以通过更改报表中的某些逻辑来实现?
今天我们使用“共享数据源”选项.

解决方法

这是我们在我们环境中所做的工作 – 我们维护一组报告,可以在任何客户端使用自己的配置进行部署.

你在这里有几个选择.由于您使用的是共享数据源,因此不需要为每个报表定义数据源,这样就更容易了.

1.使用rs.exe实用程序和脚本文件

rs.exe at Books Online

该程序允许您创建可与Report Server Web服务交互的脚本文件(在VB.NET中).您创建一个脚本文件(例如Deploy.RSS),并使用各种参数调用rs.exe程序,包括您定义的任何自定义参数:

rs.exe -i DeployReports.RSS -s http://server/reportserver -v DatabaseInstance="sql" -v DatabaseName="ReportDB" -v ReportFolder="ClientReports"

因此,这将调用脚本DeployReports.RSS,连接到http:// server / reportserver,具有三个用户定义的参数,可用于创建数据源和报告文件夹.

在scipt文件中可以有这样的东西:

Public Sub Main()

    rs.Credentials = System.Net.CredentialCache.DefaultCredentials

    CreateFolder(reportFolder,"Report folder")
    CreateFolder(datasourceFolder,"Data source folder")
    CreateDataSource()

End Sub

哪些可以使Web服务调用如下:

rs.CreateFolder(folderName,"/",nothing)

'Define the data source deFinition.
Dim deFinition As New DataSourceDeFinition()
deFinition.CredentialRetrieval = CredentialRetrievalEnum.Integrated
deFinition.ConnectString = "data source=" + DatabaseInstance + ";initial catalog=" + DatabaseName
deFinition.Enabled = True
deFinition.EnabledSpecified = True
deFinition.Extension = "sql"
deFinition.ImpersonateUser = False
deFinition.ImpersonateUserSpecified = True
'Use the default prompt string.
deFinition.Prompt = nothing
deFinition.WindowsCredentials = False

Try

    rs.CreateDataSource(datasource,datasourcePath,False,deFinition,nothing)
    Console.WriteLine("Data source {0} created successfully",datasource)

Catch e As Exception

    Console.WriteLine(e.Message)

End Try

您没有指定使用哪种版本的Reporting Services,所以我假定2008年.请注意,有多个端点可以使用,具体取决于sql Server版本. 2005/2008年终点在2008R2及以上已被淘汰,但仍然可用.写脚本时要注意一点.

2.通过应用程序调用SSRS Web服务

Report Server Web Service overview

与上述脚本相同的调用也可以在任何其他应用程序中进行.因此,您只需要通过WSDL添加对Report Server Web服务的引用,您可以连接到远程服务并调用其方法来部署报告,数据源等.

所以最终你连接到报表服务器Web服务,它只是你需要考虑的媒介.

使用脚本更容易运行,因为它只是从命令行运行程序,但编写自己的部署应用程序肯定会提供更大的灵活性.我建议让脚本继续进行,所以你了解这个过程,然后将它迁移到一个定制的应用程序,如果需要的话.祝你好运!

Android N以编程方式更改语言

Android N以编程方式更改语言

android

我发现了只在Android N设备上才能复制的真正奇怪的错误。

在浏览我的应用程序时,可以更改语言。这是更改它的代码。

 public void update(Locale locale) {

    Locale.setDefault(locale);

    Configuration configuration = res.getConfiguration();

    if (BuildUtils.isAtLeast24Api()) {
        LocaleList localeList = new LocaleList(locale);

        LocaleList.setDefault(localeList);
        configuration.setLocales(localeList);
        configuration.setLocale(locale);

    } else if (BuildUtils.isAtLeast17Api()){
        configuration.setLocale(locale);

    } else {
        configuration.locale = locale;
    }

    res.updateConfiguration(configuration,res.getDisplayMetrics());
}

该代码在我的巡回活动(带recreate()电话)中效果很好,但是在接下来的所有活动中,所有String资源都是错误的。屏幕旋转将其修复。我该怎么办?我应该以其他方式更改Android N的语言环境还是仅仅是系统错误?

PS这是我发现的。第一次启动MainActivity时(在​​我的旅行之后)Locale.getDefault()是正确的,但是资源错误。但是在其他活动中,它给我错误的语言环境和该语言环境的错误资源。旋转后屏幕(或其他一些配置更改)Locale.getDefault()是正确的。

android – 以编程方式更改环厚度

android – 以编程方式更改环厚度

我正在为Android开发一个应用程序.在我的活动中,它包含一个线性布局.我想设置环型背景.所以我使用以下代码.

    ?xml version="1.0" encoding="utf-8"?>
    ness="16dp"
    android:useLevel="false" >
    

它工作正常.现在我想以编程方式更改上面代码中的厚度.我怎么能改变这个?我做了R& D但没有得到答案.

最佳答案
可能涉及以编程方式更改厚度.问题Creating ring shape in Android code的答案提供了一些见解.

如果你只是想按照你在评论中提到的显示大小增加/减少的比例按比例放大或缩小环的厚度,那么你可能要考虑在XML中使用android:thicknessRatio或android:innerRadiusRatio属性这样做并删除android:thickness属性.有关详细信息,请参阅documentation.

我希望这有帮助.

Android以编程方式更改样式

Android以编程方式更改样式

我有50多个XML布局/页面,需要一种方法来确定每种屏幕类型(小/中/大)的“基本”字体大小.实际上,我需要指定其他内容,例如线性布局的大小.

简而言之,我想区分小型/中型/大型设备的大小.

1)我会在启动过程中以编程方式更改styles.xml中的文本大小吗?

此选项很方便,因为我不必制作150个XML布局.

2)我会为三种尺寸创建三个单独的XML布局吗?

我将不得不复制粘贴每个样式(* .small,*.med,*.large)…这听起来需要很多工作.

任何意见?

解决方法:

我假设您知道应该使用Vinay的回答中所述的可伸缩单位:

http://developer.android.com/guide/practices/screens_support.html

强烈建议您不要背离“最佳做法”,除非您真的知道自己在做什么.它只会给您带来麻烦.我不是专业人士,这就是为什么我尝试遵循标准.好的,现在让我们回答:

如果要使用不同的大小,而可伸缩的单元不够用,则必须在某个地方声明它们.因此,无论如何都将声明不同的文件……这是不可避免的.但是,仅当可伸缩单元不足以在不同屏幕上提供所需的视觉效果时,再说一遍.

为此,您在值文件夹中声明.您在Google Code上看到了Google I/O app source吗?这是“ Google”,他们做得很好.如果您想通过示例学习,那可能是我能想到的最完整的资源.但是起初有点吓人.

在这里要说的太多了(许多简单的问题……看起来您真的不知道您的方式,对不起,如果不是这样的话),您最好下载该源代码树.

当然,values和layouts文件夹都以透明的方式工作(这就是使用标准的重点),因此您不必担心整个布局中的屏幕变化(在处理键值样式时)和/或在运行时(同时处理样式和布局).

asp.net – 如何以编程方式将参数传递给SSRS报告

asp.net – 如何以编程方式将参数传递给SSRS报告

我正在通过VB.NET和ASP.NET将参数编程传递给SSRS报告.这似乎应该是一件比较简单的事情,但是我没有多少运气找到帮助.

有没有人有任何建议,去哪里去帮助这个,或者甚至一些示例代码?

谢谢.

解决方法

您可以执行以下操作:(它在本地报告中适用于全速SSRS报告,但在完全模式下,使用适当的类,参数部分保持不变)
LocalReport myReport = new LocalReport();
myReport.ReportPath = Server.MapPath("~/Path/To/Report.rdlc");

ReportParameter myParam = new ReportParameter("ParamName","ParamValue");
myReport.SetParameters(new ReportParameter[] { myParam });

// more code here to render report

我们今天的关于c# – 在服务器端以编程方式更改报告的SSRS数据源c#服务端处理请求的分享就到这里,谢谢您的阅读,如果想了解更多关于Android N以编程方式更改语言、android – 以编程方式更改环厚度、Android以编程方式更改样式、asp.net – 如何以编程方式将参数传递给SSRS报告的相关信息,可以在本站进行搜索。

本文标签: