具体如下:
aspx文件路径是:E:\WebProgram\WebSite4\Default.aspx.csmdf文件路径是:D:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Data\EventWebDate.mdf请问如何设置才能访问mdf文件?程序中是这样设置的:
OleDbConnection dbconn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=" + MapPath(@"D:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Data\EventWebDate.mdf"));编译时提示:“D:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Data\EventWebDate.mdf”不是有效的虚拟路径。 如何解决?

解决方案 »

  1.   

    Server.MapPath("~/")
    SqlConnection
    Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
    Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;
      

  2.   

    使用绝对路径 时,就不需要MapPath
      

  3.   

    能够详细解释一下 server.mappath 和mappath 的用法吗???同时:wuyq11仁兄的连接能够解释一下么??万分感谢~!
      

  4.   

    mappath是使用相对路径的,如果要写死磁盘的位置直接写路径就可以了。
      

  5.   

    Oracle没用过,但是MapPath取得时相对路径
      

  6.   

    Server.MapPath() 来把相对路径转换成绝对路径
      

  7.   

    <appSettings>
    <add key="ConnectionString" value="Data Source=.\Sql2005;Initial Catalog=db;User ID=sa;Password=sa"/>
      </appSettings>建议你学习下配置文件的使用 把字符串写在配置文件中,.net有专门读取配置文件的类 string Conn = ConfigurationManager.AppSettings["ConnectionString"].ToString();
      

  8.   

    发现在LZ的代码有个很明显的错误,你用的是OleDbConnection,这种链接和操作对MSSQL数据库是无效的,即后缀是mdf不能用,可以用Access数据库,而且你的连接字符串也是用的Access的。
    如果要用MSSQL数据库则要用SqlConnection、SqlCommand……MapPath("A") 返回相对当前页面的文件的绝对路径。若两文件同目录,则A=B.XXX 若A上当前页面的上层则A=../B.XXX  若A是当前页面同目录B下的文件C则A=B/C.XXX
      

  9.   

    去掉MapPath,直接用绝对路径OleDbConnection dbconn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=" + @"D:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Data\EventWebDate.mdf");
      

  10.   

    Server.MapPath()
    只能获取网站目录内的路径
    看你的mdf文件 貌似不再网站内 所以获取不到
    把mdf文件拷到网站文件夹下试试
      

  11.   

    ...Oracle有专有链接,Oledb不是链接Oracle用的。如果写了绝对路径就别Server.MapPath了,否则就按照1楼大哥的做法吧,不过DataDirectory是Ado.net2.0才开始支持的(貌似现在vs2003已经绝迹了)
      

  12.   

    补充:用DataDirectory关键字,需要把数据库文件拷贝到App_Data文件夹下