我用的是ACCESS数据库,所有操作数据库的代码都集中在了一个类库里,数据库路径定义在Web.config文件里,但发现只能定义绝对的路径,在Web.config里不能使用任何涵数方法,我也想定义在那个类库里,但发现在类库里没有能用的方法取得网站所在物理路径,定义相对路径又是从系统目录(c:\winnt\system32)开始的.真是没办法了.不能定义绝对路径的,因为不知道虚拟主机的绝对路径就算知道能改一下,以后这个网站就没什么可移植性了...以前用mssql数据库一直这样做,没想到用ACCESS数据库后会遇到这种问题.
错误提示如下:
'C:\WINNT\system32\Database\mydb.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 'C:\WINNT\system32\Database\mydb.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。
错误提示如下:
'C:\WINNT\system32\Database\mydb.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 'C:\WINNT\system32\Database\mydb.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。
解决方案 »
- config中配置url重写问题,来有经验的啊
- javascript问题
- 在asp.net(C#)中,如何无刷新修改删除上下移动树的目录,树用递归分级,目录保存在数据库里面,注意:一定要无刷新!
- ASP.NET实现注册时发送激活
- 如何恢复数据库 急啊!!!! 我把数据库从sqlserver中误删了
- 急需《CSDN 开发高手 2003.11》
- 在客户端打开服务器上的Word,PDF等文件时能否限制客户端COPY,另存等功能
- Image控件的问题?
- 只是为了散分
- ie的右键菜单和保存打印等对话全部变成英文?
- datagride的一个问题 ,请各位帮帮忙!
- 急!急!急!在使用Enterprise Library的Cache时,怎样利用其中的磁盘驻留型缓存机制?
<add key="myconn" value="provider=Microsoft.Jet.OleDb.4.0;Data Source+=Server.Mappath['database/mydb.mdb'];" />
</appSettings>
还有: <appSettings>
<add key="myconn" value="provider=Microsoft.Jet.OleDb.4.0;Data Source=Server.Mappath[database/mydb.mdb];" />
</appSettings>
都有错误。
然后在程序:
Server.MapPath("~/database/db.mdb")
~/表示根目录!
寒一个先……强过spring了
'OleDbConnection1
'
Me.OleDbConnection1.ConnectionString = "Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database L" & _
"ocking Mode=1;Data Source=" & Server.MapPath("database\mydb.mdb") & ";Jet OLEDB:Engine Type=5;Provider=""Microso" & _
"ft.Jet.OLEDB.4.0"";Jet OLEDB:System database=;Jet OLEDB:SFP=False;persist securit" & _
"y info=False;Extended Properties=;Mode=Share Deny None;Jet OLEDB:Encrypt Databas" & _
"e=False;Jet OLEDB:Create System Database=False;Jet OLEDB:Don't Copy Locale on Co" & _
"mpact=False;Jet OLEDB:Compact Without Replica Repair=False;User ID=Admin;Jet OLE" & _
"DB:Global Bulk Transactions=1"
web.config
<appsettings>
<add key="connstring" vlaue="database/db.mdb" />
</appsettings>根目录
database 目录
webui
classfile 目录
class1.vbclass1.vb中dim dsn as string="provider=microsoft.jet.oledb.4.0;data source=" & httpcontext.current.server.mappath("../" & System.Configuration.ConfigurationSettings.AppSettings("connstring"))这个类中,表示所有调用此类的webform,都不在根目录,即存在于webui中的如果不使用类,即在根目录下的一个文件,可以去掉 "../"即可.
就可以了
dim constr as string
constr="provider=""Microsoft.Jet.OleDb.4.0"";Data Source="+request.PhysicalApplicationPath+"数据库名.mdb"
con.connectionstring=constr