以编程方式设置Crystal Reports Jet数据库密码

时间:2014-11-24 11:14:34

标签: vb.net winforms ms-access crystal-reports ms-access-2007

我不知道如何以编程方式创建与提供程序Microsoft Office 12.0 Access数据库引擎的Crystal Reports OLE DB(ADO)连接,就像我在此图像中所做的那样

OLE DB (ADO)

我需要以编程方式Jet Database Password

指定Jet数据库密码

注意:当我使用

Dim reportDocument As New ReportDocument()    
reportDocument.Load(" MY REPORT PATH ")
reportDocument.SetDatabaseLogon("Admin","Password")    

此方法设置密码来自" Jet数据库密码" image ...我不需要设置密码我需要设置Jet数据库密码

3 个答案:

答案 0 :(得分:1)

我正在使用以下代码使用crystal reports 13 API传递jet数据库密码:( m_repDoc是报告对象)

TableLogOnInfo logonInfo = new TableLogOnInfo();
foreach (Table table in m_repDoc.Database.Tables)
{
    logonInfo = table.LogOnInfo;
    logonInfo.ConnectionInfo.ServerName = server; // path to database file

    logonInfo.ConnectionInfo.LogonProperties.Add(new NameValuePair2(
          "Jet OLEDB:Database Password", password)); // Your jet database password

    table.ApplyLogOnInfo(logonInfo);
}

当然,这在手册/帮助文件中没有写入。如果您使用子报告,它也应该有效。

答案 1 :(得分:0)

您可以将其添加到您的应用或Web配置中,如:

<add key="ServerName" value="YourServer"/>
<add key="DataBaseName" value="WorkingDataBase"/>
<add key="DatabaseUser" value="DBUser"/>
<add key="DatabasePassword" value="DBPassword"/>

并在您的代码中调用它们,如:

Dim SERVER_NAME As String = ConfigurationManager.AppSettings("ServerName").ToString()
Dim DATABASE_NAME As String = ConfigurationManager.AppSettings("DataBaseName").ToString()
Dim DatabaseUser As String = ConfigurationManager.AppSettings("DatabaseUser").ToString()
Dim DatabasePassword As String = ConfigurationManager.AppSettings("DatabasePassword").ToString()

对于安全问题,您可以加密密码并解密。

答案 2 :(得分:0)

DailyRollingFileAppender