2014-11-24 64 views
0

我不知道如何以編程方式創建的Crystal Reports OLE DB(ADO)與供應商的Microsoft Office 12.0 Access數據庫引擎像我這樣的圖像設置的Crystal Reports Jet數據庫密碼編程

OLE DB (ADO)

在沒有連接

我需要指定Jet數據庫密碼編程Jet Database Password

注:當我使用

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

這種方法從「Jet數據庫密碼」圖像設置密碼......我不需要設置的密碼,我需要設置Jet數據庫密碼

+0

您是否找到解決方案?我有同樣的問題。被接受的答案與這個問題無關。 – Wilky 2015-06-08 08:53:27

回答

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() 

和安全問題,你可以對密碼進行加密和解密。

1

我使用下面的代碼通過使用水晶Jet數據庫密碼報道13 API:(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); 
} 

當然,這是行不通寫在手冊/幫助文件。如果您使用子報表,它也應該可以工作。