项目内有一个水晶报表页面.一迁移到这个该画面就会提示如上错误.连接串应该没有问题.相同的连接串在系统登陆,其他画面功能中都正常运行.就是这里提示错误.不过其他的连接都是web.config里面的,该连接是页面代码里的.在其他几台机器(XP,WIN7)上没问题,部署到Server2008上就出现如下问题的.
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports.Engine;
using System.Data.OleDb;
using System.Data.SqlClient;using Icson.Cmn;
using Icson.Biz;
using Icson.Biz.Basic;
using Icson.Info.Basic;namespace Icson.View.Basic
{
    public partial class Router : System.Web.UI.Page
    {
        private string aryto = "";        
        private string localid = "";        protected void Page_Init(object sender, EventArgs e)
        {
            if (Request.QueryString["aryto"] != null)
            {
                try
                {
                    this.aryto = Request.QueryString["aryto"].ToString();
                }
                catch
                {
                    return;
                }
            }            if (Request.QueryString["localid"] != null)
            {
                try
                {
                    this.localid = Request.QueryString["localid"].ToString();
                }
                catch
                {
                    return;
                }
            }
            string connectionString = "server=192.168.1.6;User ID=sa;Password=cc.123;database=AmbitionERP";
            SqlConnection myConnection = new SqlConnection(connectionString);
            myConnection.Open();            DataSet myDataSet = new DataSet();
            DataTable ToHead = new DataTable("TOTAL");
            myDataSet.Tables.Add("TOTAL");
            string systransnumlist = "";
            for (int i = 0; i < aryto.Split('|').Length - 1; i++)
            {
                systransnumlist = systransnumlist + Util.ToSqlString(aryto.Split('|')[i].ToString())+",";
            }
            systransnumlist = systransnumlist.Substring(0, systransnumlist.Length - 1);
            string mySqlString = "select F.transnum,CONVERT(VARCHAR(15),GETDATE(),23) LOADDATE,CONVERT(VARCHAR(10),G.LENGTH)+'米' as TRANSTPNM, F.TRANSCOMNM, F.PLATENO,F.CD1,F.TEL1,F.NT,F.QUAN,F.WEIGHT,F.VOLUME,D.comsrtnm as ownsrtnm,A.DONUM, A.SYSTRANSNUM, B.consigneename as consigneesrtnm,B.address1,case B.transitlocal when '' then '直送' else (select localname from M_TRANSLOCAL E where E.localid = B.transitlocal) end as transitflg,B.descity, G.length,  sum(C.qty * C.weightperunit) as toweight,sum(C.qty * C.volumeperunit) as tovolume,sum(C.qty) as toquan from T_TRANSORDER_D A inner join T_TRANSORDER_H F on A.systransnum COLLATE Chinese_PRC_CI_AS=F.systransnum COLLATE Chinese_PRC_CI_AS inner join M_VEHICLE G on F.vehicleno=G.vehicleno inner join T_DELIVERYORDER_H B on A.DONUM COLLATE Chinese_PRC_CI_AS = B.orderkey COLLATE Chinese_PRC_CI_AS inner join SYS_COMPANY D on B.owncd = D.comcd left outer join T_DELIVERYORDER_D C on B.sysno = C.sysdonum  where A.systransnum in (" + systransnumlist + ") and B.local='" + localid + "'group by F.transnum, G.LENGTH,F.TRANSCOMNM, F.PLATENO,F.CD1,F.TEL1,F.NT,F.QUAN,F.WEIGHT,F.VOLUME,A.DONUM, A.SYSTRANSNUM, B.consigneename,B.address1,B.descity,G.length, B.transitlocal, D.comsrtnm order by A.systransnum,B.transitlocal,B.descity";
                        
            SqlDataAdapter myAdapter = new SqlDataAdapter(mySqlString, myConnection);
            myAdapter.Fill(myDataSet, "TOTAL");            CrystalReportSource1.ReportDocument.Load(Server.MapPath("CrystalReport2.rpt"));
            CrystalReportSource1.ReportDocument.Database.Tables["TOTAL"].SetDataSource(myDataSet.Tables["TOTAL"]);
            CrystalReportSource1.DataBind();            CrystalReportViewer1.ReportSource = CrystalReportSource1;
            CrystalReportViewer1.ShowFirstPage();
            CrystalReportViewer1.ShowLastPage();
            CrystalReportViewer1.SeparatePages = true;
            CrystalReportViewer1.DataBind();
            
            myConnection.Close();        }
    }
}

解决方案 »

  1.   

    这跟水晶报表没关系。。是你链接数据库出问题了
    http://www.cnblogs.com/zlhxinxi83/archive/2007/12/11/990622.html
      

  2.   

    有人知道吗,遇到过这种情况吗?我在另外2台XP和WIN7上运行该代码都没有问题的.哭啊...
      

  3.   


    你这里的数据库连接是你从新写的,   string connectionString = "server=192.168.1.6;User ID=sa;Password=cc.123;database=AmbitionERP";调试一下就知道了