教程:使用 SQL 身份验证登录安全的 SQL Server 数据库
简介
要登录安全的 SQL Server 数据库,应使用 ReportDocument 对象模型中的类。
ReportDocument 对象具有一个 Database 属性,该属性可返回 Database 实例。此 Database 实例包含报表的数据库信息,其中包含可返回 Tables 索引类实例的 Tables 属性。随后可以从 Tables 索引类中获取各个 Table 实例。
登录针对每个具体的 Table 实例,所以必须为各个实例分别授予访问安全的 SQL Server 的权限。要授予访问权,需要将登录信息放入 ConnectionInfo 实例,然后在一个 for 循环中,将这个 ConnectionInfo 实例应用到每个 Table 实例的 ConnectionInfo 属性。
ConnectionInfo 类包含如下属性:
- ServerName
- DatabaseName
- UserID
- Password
- IntegratedSecurity(本教程中未使用)
注意 |
---|
如果想学习使用 Windows 身份验证的教程(使用 IntegratedSecurity 属性而非 UserID 和 Password 属性),请参见“教程:使用集成安全性登录安全的 SQL Server 数据库”。 |
如果选择只设置 DatabaseName、UserID 和 Password 属性,您将登录到报表中指定的默认服务器和数据库。但如果选择指定一个备用 ServerName 属性,则可以在运行时将报表重定向到其他服务器。
首先,需要创建一个包含安全的 SQL Server 数据库数据的报表。
可以使用 CrystalReportViewer 对象模型的类完成本教程,但还是建议您使用 ReportDocument 对象模型。有关使用哪种对象模型的详细信息,请参见“应该使用哪种对象模型?”。
若要使用 CrystalReportViewer 对象模型来完成本教程,请参见 CrystalReportViewer 教程中的“教程:登录安全的 SQL Server 数据库”。
示例代码
此教程附带 Visual Basic 和 C# 示例代码,这些代码显示了项目完成后的版本。请按照本教程中的说明创建新项目或打开示例代码项目,以利用完成后的版本进行工作。
示例代码保存在按语言和项目类型分类的文件夹中。各示例代码版本的文件夹名称如下:
- C# 网站:CS_Web_RDObjMod_DBLogon
- C# Windows 项目:CS_Win_RDObjMod_DBLogon
- Visual Basic 网站:VB_Web_RDObjMod_DBLogon
- Visual Basic Windows 项目:VB_Win_RDObjMod_DBLogon
欲知包含这些示例的文件夹的位置,请参见“教程的示例代码目录”。