Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 更新Crystal Reports的数据提供程序_Sql Server_Vb.net_Crystal Reports_Crystal Reports 2008 - Fatal编程技术网

Sql server 更新Crystal Reports的数据提供程序

Sql server 更新Crystal Reports的数据提供程序,sql-server,vb.net,crystal-reports,crystal-reports-2008,Sql Server,Vb.net,Crystal Reports,Crystal Reports 2008,我已经在我的VB.NET项目中创建了许多Crystal报表,从Microsoft Access 2007(.accdb)数据库获取数据 现在,我正在用Microsoft SQL Server(.mdf)数据库更新我的应用程序 如何将所有Crystal报表的数据源从Access文件更新为MDF文件 谢谢。除非有人有更快/更简单的解决方案,否则下面是我在Visual Studio 2010中使用MS Access获取crystal reports的方法。它比选择数据源的普通方法稍微复杂一些,但它提供

我已经在我的VB.NET项目中创建了许多Crystal报表,从Microsoft Access 2007(.accdb)数据库获取数据

现在,我正在用Microsoft SQL Server(.mdf)数据库更新我的应用程序

如何将所有Crystal报表的数据源从Access文件更新为MDF文件


谢谢。

除非有人有更快/更简单的解决方案,否则下面是我在Visual Studio 2010中使用MS Access获取crystal reports的方法。它比选择数据源的普通方法稍微复杂一些,但它提供了更多的控制,与数据库无关,并且在其他方法有时失败的情况下工作(以我的经验,尤其是MS Access)

我将详细介绍报告从头到尾的工作过程(因为整个过程可能对其他人有用),但将重点介绍可能对您有用的部分

1) 从SAP站点安装Crystal Reports。确保下载的是exe文件,而不是msi文件(它不工作):

2) 将应用程序的目标框架更改为.Net Framework 4(不是客户端)。水晶材料不包括在基本配置文件中

3) 添加对Crystal库的引用(Crystal Reports for.NET)

4) 添加表单,在该表单上放置Crystal Report Viewer控件(来自工具箱的“报告”部分):

5) 添加CrystalReportDocument并将其分配给CrystalReportViewer控件:

要使用数据实际填充报告,请执行以下操作:

1) 通过执行获取报表数据表(从网关)并导出模式的代码来输出报表模式。例如:

<TestMethod()>
Public Sub SchemaTest()
    Dim dataSet As DataSet = StaticDataGateway.AccountingIncomeTotals
    dataSet.WriteXmlSchema("I:\Myschema.xml")
End Sub
ii)然后将其分配给报告上的数据源:

Private Sub AccountingIncomeTotals_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    AccountingIncomeTotalsReport1.SetDataSource(StaticDataGateway.AccountingIncomeTotals)
End Sub
您可能对上面的部分特别感兴趣,因为它允许您直接将数据源分配给报表,而无需使用crystal select数据 源用户界面面板。

还需要一件事,您需要添加“useLegacyV2RuntimeActivationPolicy” 到app.config文件:

我希望这能有所帮助,很抱歉这太复杂了,如果你有任何问题,请提问

Private Sub AccountingIncomeTotals_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    AccountingIncomeTotalsReport1.SetDataSource(StaticDataGateway.AccountingIncomeTotals)
End Sub