try
{..
  try
    {..
       try{..
          }
       catch(){3}
    }
     catch(){2}
}
catch(){1}
我做的是一个EXCEL文件导入SQL的功能,按F5调试的时候正常,但是发布网站再运行时,程序就错问题了,直接跑到第1个catch的错误处理那了,以为已经编译出来,无法跟踪调试一步一步走,不知道错误是什么,但我想错误应该是出现在第1个try和第2个try之间,我把这段代码发出来.
try
        {
            GridView1.Visible = true;
            //开始导入          
            //建立EXCEL的连接
            OleDbConnection objConn = new OleDbConnection(sConnectionString);
            objConn.Open();
            string sqlStr = "select * from [Sheet1$]";
            OleDbCommand myCmd = new OleDbCommand(sqlStr, objConn);
            OleDbDataAdapter myda = new OleDbDataAdapter(myCmd);
            DataSet myDs = new DataSet();
            myda.Fill(myDs, "a");
      //      GridView1.DataSource = myDs;
            objConn.Close();
            try
另外有确定EXCEL版本部分 
public string sConnectionString
    {        get
        { 
            //EXCEL 的连接串
            string sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + File1.PostedFile.FileName.ToString() + " ;" + "Extended Properties=Excel 8.0;";
            return sConnectionString;
        }
    }

解决方案 »

  1.   

    路径没错,我修改了下刚把重新发布了次,把错误提取出来了
    Microsoft Jet 数据库引擎打不开文件。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
    我想可能是我没finally{objConn.Close();}的原因,但是我这样修改后再发布,则导入N长时间都没完成,不知道又是啥毛病了 
      

  2.   

    我郁闷了,必须把要导入的EXCEL文件放到程序目录下,并在IIS里更新出来,才能进行导入,
    那客户端要导入的EXCEL文件肯定不在IIS里啊,那不就导不了了?
    有人知道怎么解决吗?
      

  3.   

    做个SQL类吧
    把基本的SQL操作都丢到那里面
    应该碰到你这种情况
    就好找多了
      

  4.   

    哦,楼主这个是Excel权限的问题,你到服务器哪边看一下,是不是多了一个Excel的临时文件,把它删除了就好了。还有就是把Excel的属性改一下,给user用户写入的权限。以前这种问题经常出现在access上
      

  5.   

    to chengguang79
    我现在都是是在我的机器上运行,也可以说是服务器,我必须把要导入的EXCEL文件放到这个程序的子目录下,并让IIS认识到这个EXCEL文件,然后才能正常导入。
    我想说的是,按我现在的情况,如果客户端想进行EXCEL导入到服务器端的SQL,那客户端的EXCEL文件是没有放到服务器里的,那就无法进行导入了。
    你说“把EXCEL的属性改一下,给user用户写入的权限”,这句话我还没弄懂,如何进行设置?
      

  6.   

    哦,我试了下,把那个EXCEL文件的目录从程序目录里拿了出来,放在其他地方,设置为共享,并且可写,这样好象也能正常导入了。
      

  7.   

    to ETstudio 
    现在是路径问题了,在本机上路径正确,在其他机器上就显示路径错误了,能指点下如何解决路径问题吗?我用的是input(file)控件。