我需要一些幫助。Crystal Reports和登錄問題
其實,我已經讀過關於這個問題,我認爲我已經解決了它,但它一直困擾着我。
這是關於不同登錄在開發和生產環境。
這應該是解決方案(EF和SQL Server):
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder((model.Connection as EntityConnection).StoreConnection.ConnectionString);
ConnectionInfo ci = new ConnectionInfo();
ci.ServerName = builder.DataSource;
ci.DatabaseName = builder.InitialCatalog;
ci.UserID = builder.UserID;
ci.Password = builder.Password;
report.SetDatabaseLogon(ci.UserID, ci.Password, builder.DataSource, ci.DatabaseName);
foreach (CrystalDecisions.CrystalReports.Engine.Table tbl in report.Database.Tables)
{
TableLogOnInfo logon = tbl.LogOnInfo;
logon.ConnectionInfo = ci;
tbl.ApplyLogOnInfo(logon);
}
我從實體連接提取登錄信息,並將其應用到報告中的所有表。這應該夠了吧。我只添加SetDatabaseLogon()以確保,但這不是必需的。
現在,當我在生產環境中運行報表時,報表彈出一個顯示CORRECT服務器名稱(生產服務器)的數據庫登錄屏幕,數據庫旁邊沒有任何東西(這是我關心的),正確的用戶名和無密碼,要求輸入登錄信息。
我輸入它,但CR表示「登錄失敗,請重試」。我的意思是WTF。我使用完全相同的憑證通過Management Studio連接到數據庫。
我正在使用WPF查看器,順便說一句。
我真的被困在這裏,我做了一些調試,連接信息獲取所有正確的數據,所以它必須是報告誰是罪魁禍首,但我該怎麼辦?
任何幫助,將不勝感激。我希望有人在我面前遇到同樣的問題。
問候
謝謝,喬恩。很少有好的指針。我會嘗試他們,並讓你知道它是否對我有幫助。 – 2012-08-06 09:39:34