网站用asp.net (c#) + access做的。做完后传到服务器去.让他们测试.没测试一会就报错了。报"未指定错误",sql语句那边.重新上传web.config文件和dll文件就都好了。可不一会又报那样的错误.请问大家这是什么问题?调试又不好调试.本地自己浏览的时候没出现问题。数据库操作类全是静态函数.其他函数不是静态函数.

解决方案 »

  1.   

    重新上传web.config文件和dll 应该是或,
    就是重新上传web.config或者dll文件就好了。
      

  2.   

    数据库操作类全是静态函数,我倒觉得这不是问题,SqlHelper类不是都是静态的方法吗。
    “未指定错误”,可能是数据连接方面的问题吧。
      

  3.   

    coffeewar(苦咖啡) :如果是数据库连接方面的问题,为什么刚开始都是正常的呢。
    szc21(if(开源||免费){return 支持}) :测试也就三四个人,连接也不大可能太多.但我听你的话后在每个函数后都finally close connection.由于datareader需要连接维持,我用OleDbDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
    这样应该能保证被关闭吧。苦啊,折腾了一天都了。
      

  4.   

    即使是远程访问asp.net应用,也可以让它显示详细的异常信息、执行堆栈。然后你就可以在这个地方设置“跟踪”代码将程序状态写入TRACE对象或者自己的LOG文件。或者,你是用ADSL将自己的机器作为web服务器(直接使用ip或者动态解析二级域名),让别人访问自己的网站,这样可以在vs环境中进行调试。
      

  5.   

    重新上传web.config和bin下面的dll文件;
    如果仍不行,数据库连接没有关闭也会引起此类问题。比如DataReader没有关闭
      

  6.   

    在多次访问网站后数据库连接过多。而影响ODBC这个影响后,导致所有带连接数据库的整个服务器站点都无法访问。。原因是因为你在打开数据库连接后。没有进行关闭。在建立数据库连接类后。写一个析构函数。自己关闭数据连接。就不会出这样的错误了。
      

  7.   

    我觉得你可以自己弄个类似日志的功能,每次创建connection关闭,另外还有数据库增删改等操作的上下文环境你都写入日志,这样方便你找到问题的根源
      

  8.   

    上传给服务器后运行段时间如果出现错误查看下日志说不定就能找到错误的地方。不用的时候修改webconfig文件关闭日志功能
      

  9.   

    根据大家的解答,检查了一下数据库操作类,并做了些修改.所有的建立连接对象都用:
    using (OleDbConnection connection = new OleDbConnection(connectionString));但是有一处不行.就是返回datareader处.datareader需要连接维持.只能这样加了一句:
    OleDbDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);查了下资料说,这样并不能保证连接被关闭."只有当您在 ASP.NET Web 应用程序中使用复杂的绑定控件时,该选项才以这种方式工作。在整个 DataReader 结果集中循环到其行集的末尾(也就是说,当 Dr.Read — DataReader 的 Read 方法 — 返回 False 时)还不足以触发连接的自动关闭。不过,如果您绑定到一个复杂的绑定控件(例如,DataGrid),该控件则会关闭 DataReader 和连接 — 前提条件是您设置了 CommandBehavior.CloseConnection 选项。
    "摘自<NET 连接池救生员>这么说,我就是要在读reader完后手动关闭connection,可这reader是函数中返回来的。connection并没有带过来.怎么办呢?这我问问大家.有说用datatable就可以了。可是这样修改的地方就太多了。
      

  10.   

    无奈,最后我把所有的datareader全部改成datatable.问题好象是不再出现了。最后的效果是我们根本无法看到数据库的临时文件.先前我总看到那个垃圾文件。谢谢大家.结帖了。