日期:2014-05-20  浏览次数:20468 次

水晶报表读取odbc数据源,行集失败?
水晶报表读取odbc数据源,打开行集失败?

水晶报表如何读取   odbc   数据源?

TableLogOnInfo       logOnInfo       =       new     TableLogOnInfo();          
     
ReportDocument       oRpt       =       new       ReportDocument();          
string       path2;          
path2=Server.MapPath( ". ")   +   "\\CRT_EmployeeSkill.rpt ";                  
oRpt.Load(path2);          
       
logOnInfo   =   oRpt.Database.Tables[ "SKRANK "].LogOnInfo;

      logOnInfo.ConnectionInfo.ServerName     =   "MIS ";// "La-williamw-s ";// "Syscomonline2 ";syscomonline2          
logOnInfo.ConnectionInfo.DatabaseName       =     "MIS ";          
logOnInfo.ConnectionInfo.UserID           =       "SYSADM ";          
logOnInfo.ConnectionInfo.Password       =       " ";        
logOnInfo.TableName   =   "SKRANK ";

oRpt.Database.Tables[ "SKRANK "].ApplyLogOnInfo(logOnInfo);    
       
//建立.rpt文件与CryStalReportviewer文件之间的连接          
CrystalReportViewer1.ReportSource       =       oRpt;  
this.CrystalReportViewer1.DataBind();

------解决方案--------------------
如果你使用水晶报表的话,你可以使用“推模式”将DataSet推给它,这样比较可靠基本上不用担心在你的问题这类操作中出现任何故障。只有一条语句,好像是SetDataSource(dataset)之类的,很简单。设计报表的时候可以将你查询结果生成一个xst文件,然后用这个做数据源设计报表。

不过实际上在asp.net下,有那么多控件、布局方法可用,我其实只有在最初不太懂asp.net的时候使用过水晶报表做报表,后来都是用asp.net。