[英]Crystal Report asking Database Login, Only in WinXP
我需要幫助。 這是我的C#代碼,用於顯示報告:
TableLogOnInfos crtableLogoninfos = new TableLogOnInfos();
TableLogOnInfo crtableLogoninfo = new TableLogOnInfo();
ConnectionInfo crConnectionInfo = new ConnectionInfo();
Tables CrTables;
//Let's say I have a report called RptExample
RptExample objRpt = new RptExample();
//Set Static Text
txtTitle = objRpt.ReportDefinition.ReportObjects["TextTitle"] as TextObject;
txtTitle.Text = "Test";
//This is my connection info
crConnectionInfo.ServerName = "SERVERNAME\\SQLEXPRESS";
crConnectionInfo.DatabaseName = "DBNAME";
crConnectionInfo.UserID = "USER";
crConnectionInfo.Password = "PASS";
CrTables = objRpt.Database.Tables;
foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables)
{
crtableLogoninfo = CrTable.LogOnInfo;
crtableLogoninfo.ConnectionInfo = crConnectionInfo;
CrTable.ApplyLogOnInfo(crtableLogoninfo);
}
//CRV is my CrystalReportViewer
CRV.LogOnInfo = crtableLogoninfos;
CRV.ReportSource = objRpt;
在Windows 7中可以正常工作,但是當我嘗試使用Windows XP時,總是彈出“數據庫登錄”窗口,僅要求輸入密碼(SERVERNAME,DBNAME和USERNAME字段已經填充了正確的字符串,只有PASSWORD丟失了)。
我做錯了什么?
非常感謝<3
編輯:
我發現僅當我使用公共IP訪問數據庫服務器時才出現此問題,再次是僅在Windows XP中而不是在7中。
因此,我的連接信息如下所示:
crConnectionInfo.ServerName = "202.70.xx.xx\\SQLEXPRESS";
crConnectionInfo.DatabaseName = "DBNAME";
crConnectionInfo.UserID = "USER";
crConnectionInfo.Password = "PASS";
我還嘗試使用創建報告向導來創建報告,它也無法使用公共IP(202.70.xx.xx東西)找到我的數據庫服務器。
使用本地數據庫服務器,我的代碼在WinXP中可以正常工作。
更多的幫助將不勝感激;)
編輯2:
哦,我忘了。 我也嘗試使用真實的服務器名稱而不是服務器的公共IP,但無濟於事
非常簡單...當我們使用域網絡和受限網絡時,將發生此問題。
在任何XP SYSTEM中安裝Crystal Report Designer。 然后更新數據源位置(請參閱圖像)。 在此處輸入圖片說明
然后構建項目並使用...享受...。
這可能是由於沒有sql server本機客戶端引起的。 嘗試將其安裝在Windows XP計算機上:
http://download.microsoft.com/download/2/7/c/27c60d49-6dbe-423e-9a9e-1c873f269484/sqlncli.msi
這可能是簡單的SQL Server或防火牆配置問題。 也許您的W7和XP計算機具有不同的IP地址,甚至子網或網絡?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.