当前位置: 代码迷 >> ASP.NET >> System.Data.OleDb.OleDbException: 文件名无效。 在线求解,该如何处理
  详细解决方案

System.Data.OleDb.OleDbException: 文件名无效。 在线求解,该如何处理

热度:8649   发布时间:2013-02-25 00:00:00.0
System.Data.OleDb.OleDbException: 文件名无效。 在线求解
数据库ACCESS连接时这样的:
  private static String connectionString = ConfigurationManager.AppSettings["OLEDBCONNECTIONSTRING"].ToString() + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["dbPath"]);
  public AccessorDB() { }

配置文件时这样的:<appSettings>
<!-- access 连接字符串-->
<add key="OLEDBCONNECTIONSTRING" value="provider=microsoft.jet.oledb.4.0;data source=xys.mdb"/>
<add key="dbPath" value="~/App_Data/xys.mdb"/>
<add key="CookieDomain" value=""/>

问题出现在下面代码中: //执行单条语句返回第一行第一列,可以用来返回count(*)
  public static int ExecuteScalar(string sql, OleDbParameter[] parameters)
  {
  //Debug.WriteLine(sql);
  using (OleDbConnection connection = new OleDbConnection(connectionString))
  {
  OleDbCommand cmd = new OleDbCommand(sql, connection);
  try
  {
  connection.Open();
  if (parameters != null) cmd.Parameters.AddRange(parameters);
  int value = Int32.Parse(cmd.ExecuteScalar().ToString());

  return value;
  }
  catch (Exception e)
  {
  throw e; <-------在这里报错!~~~~~~~~~~~~~~~~~~~~~~~
  }
  }
  }

------解决方案--------------------------------------------------------
把你的连接字符串改成绝对路径试试
------解决方案--------------------------------------------------------
http://topic.csdn.net/u/20110503/13/4563aec5-4215-4ad7-a26d-bfa866355902

看这里,路径问题。
------解决方案--------------------------------------------------------
数据库路径
------解决方案--------------------------------------------------------
<add key="OLEDBCONNECTIONSTRING" value="provider=microsoft.jet.oledb.4.0;data source=App_Date/xys.mdb"/>
这样试试
  相关解决方案