我用VC.NET成生的OleDbConnection的Data source使用的都是本地路径.考虑到,项目要放到网站的空间上去.需要把绝对路径生成相对路径.
    我的数据库绝对路径是---C:\web\object\Database\db.mdb.我iis的主目录就是web.-----------------------
try
{
string str = Server.MapPath("/object/Database/db.mdb");
Response.Write(str);    //***这里能显示绝对路径C:\web\object\Database\db.mdb
OleDbConnection conSpeedell = new OleDbConnection(str);
conSpeedell.Open();
Response.Write(conSpeedell.State.ToString());  //***这里并没有信息出现.可能数据库没打开
conSpeedell.Close();}
catch(System.Exception str)
{
Label1.Text = str.ToString();
}
------------------------
  捕获异常后,上面的Label1的显示如下:
  System.ArgumentException: 从索引 0 处开始,初始化字符串的格式不符合规范。  我实在是不明白在哪里出问题了.请各位兄弟们帮把手,谢谢了!
  

解决方案 »

  1.   

    str = Provider = Microsoft.Jet.OLEDB.4.0;Data Source = C:\web\object\Database\db.mdb;
      

  2.   

    错了,忘加""号了
    str = "str = Provider = Microsoft.Jet.OLEDB.4.0;Data Source = C:\web\object\Database\db.mdb;";
      

  3.   

    string str = "Provider=Microsoft.Jet.Oledb.4.0;Data Source="+Server.MapPath("/object/Database/db.mdb");
      

  4.   

    靠,又错了,今天吃错药了咋的。str = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = C:\web\object\Database\db.mdb;";还不行就试着把db.mdb后的;号去掉。
      

  5.   

    str = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = C:\web\object\Database\db.mdb;"
    数据文件的路径最好写到配置文件里。这样灵活些
      

  6.   

    str = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = C:\web\object\Database\db.mdb;"用相对路径  要在iis去掉父路径
      

  7.   

    string str = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source ="+ Server.MapPath("~/object/Database/db.mdb");
      

  8.   

    恩!对了!知道了,少了Provider那部分.晕!谢谢各位!