项目内有一个水晶报表页面.一迁移到这个该画面就会提示如上错误.连接串应该没有问题.相同的连接串在系统登陆,其他画面功能中都正常运行.就是这里提示错误.不过其他的连接都是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(); }
}
}
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(); }
}
}
http://www.cnblogs.com/zlhxinxi83/archive/2007/12/11/990622.html
你这里的数据库连接是你从新写的, string connectionString = "server=192.168.1.6;User ID=sa;Password=cc.123;database=AmbitionERP";调试一下就知道了