我正在编写一个VB .net Windows服务,它从SQL数据库中检索数据,然后将其直接输出到指定的打印机。我们的想法是,它会自动生成客户文档并直接打印出来。
我目前正在使用(因为缺乏足够灵活的替代方案)Crystal Reports。我在项目中创建了报告,当前代码如下:
Dim factory As New DatabaseProviderFactory()
Dim myDb As SqlDatabase
Dim ds1 As New DataSet
Dim x As New myReport
Dim p As New System.Drawing.Printing.PrinterSettings
Dim pg As New System.Drawing.Printing.PageSettings
myDb = factory.Create("mydb")
ds1 = myDb.ExecuteDataSet("sp_to_get_data")
x.SetDataSource(dsPickList)
p.PrinterName = "\\\\printserver\\printername"
x.PrintToPrinter(p, pg, False)
在谷歌搜索后添加了p和pg变量。在此之前,我正在使用该功能的副本,整理,首页,终页版本。
代码似乎完全执行到我调用PrintToPrinter的位置,此时它只是以代码0退出。根本看不到输出。
除上面的代码外,我在app.config文件中还有以下内容:
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/> </startup>
这似乎是Crystal Reports版本中的一个错误(根据我见过的其他帖子),但我无法在代码中找到合适的方法。
Project目前针对.NET 4.5.1进行了32位编译。 水晶版是13.0.18.2192
有什么建议吗?