首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#连接Access数据库,在IIS中报未知异常,但用VS自带的服务器正常

2012-04-07 
C#连接Access数据库,在IIS中报未知错误,但用VS自带的服务器正常。connectionString为:ProviderMicrosoft.J

C#连接Access数据库,在IIS中报未知错误,但用VS自带的服务器正常。
connectionString为:Provider=Microsoft.Jet.OleDb.4.0;Data Source=E:\PRIVATE\ESTown ACCESS\Web\App_Data\enstom.mdb
SQLString为:select userId,userLoginName,userLoginPassWord,userName,userTelNo,userEmail,userType,userAdd,userRemark FROM userTable where userLoginName = 'admin'
代码如下:

C# code
  /// <summary>        /// 执行查询语句,返回DataSet        /// </summary>        /// <param name="SQLString">查询语句</param>        /// <returns>DataSet</returns>        public static DataSet Query(string SQLString)        {            using (OleDbConnection connection = new OleDbConnection(connectionString))            {                DataSet ds = new DataSet();                try                {                    connection.Open();                    OleDbDataAdapter command = new OleDbDataAdapter(SQLString, connection);                    command.Fill(ds, "ds");                }                catch (System.Data.OleDb.OleDbException ex)                {                    throw new Exception(ex.Message);                }                return ds;            }        }


在跟踪时发现,是connection.Open()抛出错误,但是只是在IIS下抛出,在VS自带的服务器下运行正常。


IE显示的错误信息:


“/ESTownAccess”应用程序中的服务器错误。
--------------------------------------------

未指定的错误 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Exception: 未指定的错误

源错误: 


行 320: catch (System.Data.OleDb.OleDbException ex)
行 321: {
行 322: throw new Exception(ex.Message);
行 323: }
行 324: return ds;
 

源文件: E:\PRIVATE\ESTown ACCESS\DBUtility\DbHelperOleDb.cs 行: 322 

堆栈跟踪: 


[Exception: 未指定的错误]
  Maticsoft.DBUtility.DbHelperOleDb.Query(String SQLString) in E:\PRIVATE\ESTown ACCESS\DBUtility\DbHelperOleDb.cs:322
  Fly.ESTown.DAL.userTable.GetList(String strWhere) in E:\PRIVATE\ESTown ACCESS\DAL\userTable.cs:208
  Fly.ESTown.BLL.userTable.GetList(String strWhere) in E:\PRIVATE\ESTown ACCESS\BLL\userTable.cs:90
  Fly.ESTown.BLL.userTable.IsAuthenticated(String strUserLoginName, String strUserLoginPassword) in E:\PRIVATE\ESTown ACCESS\BLL\userTable.cs:189
  Fly.ESTown.Web.Admin.Login.Login1_Authenticate(Object sender, AuthenticateEventArgs e) in E:\PRIVATE\ESTown ACCESS\Web\Admin\Login.aspx.cs:30
  System.Web.UI.WebControls.Login.OnAuthenticate(AuthenticateEventArgs e) +108
  System.Web.UI.WebControls.Login.AttemptLogin() +115
  System.Web.UI.WebControls.Login.OnBubbleEvent(Object source, EventArgs e) +101
  System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
  System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +118
  System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +166
  System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
  System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
  System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
  System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565

 


[解决办法]
把connection.Open();这个去掉,OleDbDataAdapter的Fill方法不需要打开数据库。还有,你是不是开着Access呢呀?
[解决办法]
访问权限有么


[解决办法]
IIS写入权限开了么

热点排行