如何解决水晶报表10的部署问题
1个回答
2017-08-14 · 上BI选帆软,专注BI十三年!
关注
展开全部
感觉水晶报表操作起来比较麻烦哦,为啥不用帆软报表FineReport。。。
水晶报表下载安装后打开VS2010就可以在左边工具栏中看到CRYSTALREPORTVIEWER,并且可以新建水晶报表了;
a. 运行环境不能为.NET FRAMEWORK 4.0 CLINET PROFILE,要改为.NET FRAMEWORK 4,选中项目右键属性就可以更改了;
b.在项目中加一个APP.CONFIG(这是针对WINFORM项目),如果是WEB项目就不用加了,里面有一个WEB.CONFIG;在这配置文件中加上 <startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
这可以避免ADO.NET与水晶报表运行时由于.NET版本问题出错
(1)下面做一个简单的水晶报表,在项目中建一个窗体FORM1,一个水晶报表CrystalReport1,一个数据集DATASET1;(水晶报表的设置跟以前版本的一样)
在窗体上放一个CRYSTALREPORTVIEWER,然后在FORM1的LOAD事件下写上;我这是把水晶报表放在DEBUG这个文件夹下动态加载的;你也可以直接放在项目中在CRYSTALREPORTVIEWER上指定报表名称;
private void Form1_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=10.100.100.5;Initial Catalog=cldz;User ID=proc4;Password=77cc88");
con.Open();
SqlDataAdapter da = new SqlDataAdapter("select top 100 * from ZZZPJ", con);
DataSet ds = new DataSet();
da.Fill(ds, "ZZZPJ");
string reportPath = Application.StartupPath + @"\CrystalReport1.rpt";
ReportDocument rd = new ReportDocument();
rd.Load(reportPath);
rd.SetDataSource(ds.Tables[0].DefaultView);
this.crystalReportViewer1.ReportSource = rd;
}
(2)vs2010水晶报表的发布有两种方式;
一是直接下载MSI文件安装在客户端,客户端就可以用了;32位的下载上面的;如果是64位的下载下面的;
水晶报表VS2010版运行时32位和64位单独安装包:
32位下载地址:http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_32bit_13_0_1.zip
64位下载地址:http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_64bit_13_0_1.zip
二是下载上面水晶报表VS2010版合并模块安装包文件,里面第一个是CRRuntime_13_0_1.msm这个是英文包;如果需要支持中文就加一个MSM,( CRRuntime_13_0_1_zh_cn.msm); 另外加一个CRRuntime_13_0_1_maps.msm 这个可以不用;合并模块安装包下载地址:http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_mergemodules_13_0_1.zip
用VS2010自带的打包软件打包发布,新建一个安装项目,安装项目的制作过程这里就不详细说了,跟VS2005的制作过程一样(参见部署包含水晶报表Crystal Reports 的VS.NET2005应用程序[原创]:http://hi.baidu.com/jcserver/blog/item/5629e018eccef3ac4aedbc9a.html);
制作完后,右键项目选添加―― 合并模块―― 把上面提到的三个以.MSM结尾的文件加入进去,最后确定。
[特别说明:
有的网文中说需要把
C:\Program Files\Common Files\Merge Modules文件夹中类似Microsoft_VC100_*_x86.msm的MSM文件也加入进去
如果是32位的就加x86的(Microsoft_VC100_ATL_x86.msm、Microsoft_VC100_CRT_x86.msm、Microsoft_VC100_DebugCRT_x86.msm、Microsoft_VC100_DebugMFC_x86.msm、Microsoft_VC100_DebugOpenMP_x86.msm、Microsoft_VC100_MFCLOC_x86.msm、Microsoft_VC100_MFC_x86.msm、Microsoft_VC100_OpenMP_x86.msm);
如果是64位的就加x64的(Microsoft_VC100_ATL_x64.msm、Microsoft_VC100_CRT_x64.msm、Microsoft_VC100_DebugCRT_x64.msm、Microsoft_VC100_DebugMFC_x64.msm、Microsoft_VC100_DebugOpenMP_x64.msm、
Microsoft_VC100_MFCLOC_x64.msm、Microsoft_VC100_MFC_x64.msm、Microsoft_VC100_OpenMP_x64.msm )
但是,经过JCSERVER的验证:类似Microsoft_VC100_*_x86.msm不用加进去,也可以在正常打印出水晶报表.建议你把CRRuntime_13_0_1.msm、CRRuntime_13_0_1_zh_cn.msm(中文简体语言包,如是其它语言请自行选择不同的语言包)、CRRuntime_13_0_1_maps.msm这三个模块加进去。]
说明: 在VS2010中按F1调出帮助文档,搜索”合并模块”关键字,你会看到更多的合并模块布署程序的帮助说明.
再右键项目选属性,点击“系统必备”按钮;在弹出的对话框中选中与你的程序对应版本的运行库(有32位的X86与64位的X64),注意根据系统选,有32与64位的;在下面的单选按钮中选第二项“从与我的应用程序相同的位置下载系统必备组件”;(如果你要安装.NET2.0的系统必备,VS2010安装项目的系统必备中没有.NET 2.0,不过我们可以从VS2008的程序文件中找到 .NET 2.0 的系统必备安装包。安装了VS2008 的 C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages 下的 DotNetFX 文件夹,就是 .NET 2.0 的系统必备安装包。把 DotNetFX 文件夹复制到安装了 VS2010 的 C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages下,然后在VS2010中就可以选择 .NET 2.0 的系统必备组件了。
水晶报表下载安装后打开VS2010就可以在左边工具栏中看到CRYSTALREPORTVIEWER,并且可以新建水晶报表了;
a. 运行环境不能为.NET FRAMEWORK 4.0 CLINET PROFILE,要改为.NET FRAMEWORK 4,选中项目右键属性就可以更改了;
b.在项目中加一个APP.CONFIG(这是针对WINFORM项目),如果是WEB项目就不用加了,里面有一个WEB.CONFIG;在这配置文件中加上 <startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
这可以避免ADO.NET与水晶报表运行时由于.NET版本问题出错
(1)下面做一个简单的水晶报表,在项目中建一个窗体FORM1,一个水晶报表CrystalReport1,一个数据集DATASET1;(水晶报表的设置跟以前版本的一样)
在窗体上放一个CRYSTALREPORTVIEWER,然后在FORM1的LOAD事件下写上;我这是把水晶报表放在DEBUG这个文件夹下动态加载的;你也可以直接放在项目中在CRYSTALREPORTVIEWER上指定报表名称;
private void Form1_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=10.100.100.5;Initial Catalog=cldz;User ID=proc4;Password=77cc88");
con.Open();
SqlDataAdapter da = new SqlDataAdapter("select top 100 * from ZZZPJ", con);
DataSet ds = new DataSet();
da.Fill(ds, "ZZZPJ");
string reportPath = Application.StartupPath + @"\CrystalReport1.rpt";
ReportDocument rd = new ReportDocument();
rd.Load(reportPath);
rd.SetDataSource(ds.Tables[0].DefaultView);
this.crystalReportViewer1.ReportSource = rd;
}
(2)vs2010水晶报表的发布有两种方式;
一是直接下载MSI文件安装在客户端,客户端就可以用了;32位的下载上面的;如果是64位的下载下面的;
水晶报表VS2010版运行时32位和64位单独安装包:
32位下载地址:http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_32bit_13_0_1.zip
64位下载地址:http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_64bit_13_0_1.zip
二是下载上面水晶报表VS2010版合并模块安装包文件,里面第一个是CRRuntime_13_0_1.msm这个是英文包;如果需要支持中文就加一个MSM,( CRRuntime_13_0_1_zh_cn.msm); 另外加一个CRRuntime_13_0_1_maps.msm 这个可以不用;合并模块安装包下载地址:http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_mergemodules_13_0_1.zip
用VS2010自带的打包软件打包发布,新建一个安装项目,安装项目的制作过程这里就不详细说了,跟VS2005的制作过程一样(参见部署包含水晶报表Crystal Reports 的VS.NET2005应用程序[原创]:http://hi.baidu.com/jcserver/blog/item/5629e018eccef3ac4aedbc9a.html);
制作完后,右键项目选添加―― 合并模块―― 把上面提到的三个以.MSM结尾的文件加入进去,最后确定。
[特别说明:
有的网文中说需要把
C:\Program Files\Common Files\Merge Modules文件夹中类似Microsoft_VC100_*_x86.msm的MSM文件也加入进去
如果是32位的就加x86的(Microsoft_VC100_ATL_x86.msm、Microsoft_VC100_CRT_x86.msm、Microsoft_VC100_DebugCRT_x86.msm、Microsoft_VC100_DebugMFC_x86.msm、Microsoft_VC100_DebugOpenMP_x86.msm、Microsoft_VC100_MFCLOC_x86.msm、Microsoft_VC100_MFC_x86.msm、Microsoft_VC100_OpenMP_x86.msm);
如果是64位的就加x64的(Microsoft_VC100_ATL_x64.msm、Microsoft_VC100_CRT_x64.msm、Microsoft_VC100_DebugCRT_x64.msm、Microsoft_VC100_DebugMFC_x64.msm、Microsoft_VC100_DebugOpenMP_x64.msm、
Microsoft_VC100_MFCLOC_x64.msm、Microsoft_VC100_MFC_x64.msm、Microsoft_VC100_OpenMP_x64.msm )
但是,经过JCSERVER的验证:类似Microsoft_VC100_*_x86.msm不用加进去,也可以在正常打印出水晶报表.建议你把CRRuntime_13_0_1.msm、CRRuntime_13_0_1_zh_cn.msm(中文简体语言包,如是其它语言请自行选择不同的语言包)、CRRuntime_13_0_1_maps.msm这三个模块加进去。]
说明: 在VS2010中按F1调出帮助文档,搜索”合并模块”关键字,你会看到更多的合并模块布署程序的帮助说明.
再右键项目选属性,点击“系统必备”按钮;在弹出的对话框中选中与你的程序对应版本的运行库(有32位的X86与64位的X64),注意根据系统选,有32与64位的;在下面的单选按钮中选第二项“从与我的应用程序相同的位置下载系统必备组件”;(如果你要安装.NET2.0的系统必备,VS2010安装项目的系统必备中没有.NET 2.0,不过我们可以从VS2008的程序文件中找到 .NET 2.0 的系统必备安装包。安装了VS2008 的 C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages 下的 DotNetFX 文件夹,就是 .NET 2.0 的系统必备安装包。把 DotNetFX 文件夹复制到安装了 VS2010 的 C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages下,然后在VS2010中就可以选择 .NET 2.0 的系统必备组件了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询