点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我已经使用SQL Express...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我已经使用SQL Express...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我已经使用SQL Express多年了,因此决定尝试使用LocalDB。 几分钟后,我安装了它并使用我的应用程序-直到尝试了Crystal Reports。 该报告非常庞大,包含约40个子报告。 有时我可以得到它来打印一个子报表,但是大约要花10分钟(在LocalDB之前使用SQL Express只需10秒)。 我怀疑这是一个连接字符串问题。
我正在使用VS 2017, VB.NET ,Crystal Reports 13sp25。有效的连接字符串 因为我的应用是
" Server =(localdb)\ MSSQLLocalDB; Integrated Security = true; AttachDbFileName = C:\ Program Files \ MyApp \ Data \ MyApp.mdf;"
这是我用于连接Crystal Reports数据库的代码。 它适用于SQL Express,但不适用于LocalDB。
使用crConnectionInfo
.ServerName = My.Application.GlobalAuditDB.PServerName
.DatabaseName = My.Application.GlobalAuditDB.PDatabaseName
.UserID = My.Application.GlobalAuditDB.PUserName
.Password = My.Application.GlobalAuditDB.PPassword
.IntegratedSecurity = False
结尾为
CrTables = Report.reportDocument.Database.Tables
'遍历报告中的每个表并应用LogonInfo
对于CrTable中的每个CrTable
crtableLogoninfo = CrTable.LogOnInfo
crtableLogoninfo.ConnectionInfo = crConnectionInfo
CrTable.ApplyLogOnInfo(crtableLogoninfo)
如果是CrTable.TestConnectivity(),则
如果(CrTable.Location.IndexOf("。")> 0)然后
CrTable.Location = CrTable.Location.Substring(CrTable.Location.LastIndexOf("。")+ 1)
其他
CrTable.Location = CrTable.Location
如果结束
如果结束
下一步
我试图像这样更改连接以模拟适用于该应用程序的连接字符串,但是它不适用于CR-没有错误,每个子报表仅花费10分钟而10秒:
使用crConnectionInfo
.ServerName = My.Application.GlobalAuditDB.PServerName
.DatabaseName =" MyDB"
.IntegratedSecurity = True
结尾为
感谢您的帮助/建议/示例。
嗨,Ted,
使用MS SQL,您需要通过OLE DB或ODBC连接,CR不会直接连接到MDF文件。 p>
使用MS SQL Native 11客户端进行连接。
并将您添加到VS标签的CR。
Don
一周热门 更多>