通过数据源添加的ACCESS数据库,怎么改为相对路径,代码如下:

<%
' FileName="Connection_odbc_conn_dsn.htm"
' Type="ADO"
' DesigntimeType="ADO"
' HTTP="false"
' Catalog=""
' Schema=""
Dim MM_banji_STRING
MM_banji_STRING = "dsn=banjishujuku"

%>

为什么非得要用数据源,像ACCESS数据库,直接用ODBC驱动连接就可以了,没有必要如此之麻烦!!移植起来不方便啊~追问

就是用那个撒,用ODBC驱动连接数据库就是在数据源里面添加的啊!但问题是上传后,要重新部署数据库,也就是软件自动生成的连接字符串要改成相对路径!

追答

为何不直接在这里面写连接数据库的代码,而不用配置DSN,直接连接~~

追问

什么意思?

追答

我不知道你用的是什么语言,从你的代码上勉强看得是像是ASP或VB
我的意思是把连接数据库的代码:MM_banji_STRING = "dsn=banjishujuku"
改成(以下是ASP的代码)
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("数据库名.mdb")
以下是VB连接代码:
Set conn = CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\数据库名.mdb"

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
我以上的连接是通过OLE连接的,当然你也可以改成ODBC驱动连接的

追问

是asp语言,但我的数据库后缀是.accdb,但按你说的方法弄上去结果是无法识别数据库格式!该怎么办?

追答

你的数据库是access2007的版本~~

不知道你是否安装OLEDB.12.0驱动了,如果安装了连接方法如下:
Set conn = CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Server.MapPath("数据库名.mdb")

如果没有安装有这种OLE驱动,就采用ODBC字符串连接!,稍后给你代码!你先测试一下!
……以下这种就是直接在程序里面ODBC连接ACCESS2007的代码……

追问

不行啊,把连接数据库的代码:MM_banji_STRING = "dsn=banjishujuku"
改成(以下是ASP的代码)
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("数据库名.mdb")
之后,数据库下就没有表了,什么东西也没有!

追答

不可能,怎么可能没有表,我的代码只是打开数据库罢了

你的是2007的,所以你连接的代码请好好的看看我以上回答~相信你会有所收获~

追问

代码如下:

帮忙完整的改一下吧!

追答

专门靠你这点代码如何改?你的表名叫什么我都不知道?你要实现什么样的功能我都不知道?如何改啊?

你以上的代码而且是大部分都注释掉的,真正有用的是最下面的两句?

追问

我的表全是在那数据库里面啊,不是有数据库就行吗?我改后的代码见图吧
这个哪里错了啊?路径没有错

追答

Set conn = CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Server.MapPath("数据库名.accdb")

或以下这一句

Set conn = Server.CreateObject("ADODB.Connection")
conn.open "driver={Microsoft Access Driver (*.accdb)};DBQ="&Server.MapPath("数据库名.accdb")

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-25
路过~~

vb连接access数据库 如何设置数据库的相对路径
1、相对路径就是指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系。2、在相对路径中(文件夹我按老习惯称目录)\\表示当前盘的根目录 ..\\表示当前目录的上一层目录,上上层可以用..\\..\\等。当前目录下的data目录可以用data\\表示 当前目录下的data目录下的data1目录,可以用data\\data1\\...

access连接外部数据access时,如何使用相对路径?
用下面代码即可获取数据库文件 data.access 的完整路径(用变量 dbsB 表示)!Dim dbsA As Database, dbsB As String Set dbsA = CurrentDb dbsB = Left(dbsA.Name, InStrRev(dbsA.Name, "\\")) & "data.access"

VB 连接ACCESS数据库,如何使用相对路径?
程序与数据库放在一起,用这样代码连接 Private Sub Form_Load()Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& app.path & "\\aaa.mdb;Persist Security Info=False"End Sub

求高手:Dreamweaver中连接access数据库字串 设置相对路径的问题
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\huang\\7.13\\web\\News.mdb"改一下就行了 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=News.mdb"

C# 如何设Access数据库的相对路径!
有一个简单的方法。首先将你的数据库存放到当前应用程序的bin目录下。如:E:\\WindowsApplication2\\bin 然后定义相对路径string url=@"..\\CTable.mdb";..代表的是应用程序一直到bin的目录

vb连接access数据库 如何设置数据库的相对路径
你是说相对位置还是运行程序时允许修改连接?用路径+文件名的方式指定数据库(针对ACCESS),比如:pCn.ConnectionString="PROVIDER=Microsoft.Jet.OLEDB.4.0;DataSource="&strDBFilestrDBFile包含完整的路径+文件名,用户输入后进行连接。如果和工程放在一起,可以用app.path表示路径 ...

asp+ACCESS本地测试成功,在虚拟主机上不能用,如何修改代码
MM_conn_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=F:\\pppp\\admin\\admin_login.mdb"你这里的数据库地址是“F:\\pppp\\admin\\admin_login.mdb”在你自己电脑里是这个路径。在虚拟主机上就不一样啦。你改为相对路径,比如:“admin\\admin_login.mdb”具体相对路径,你自己确保正确 ...

程序是ASP+access,数据库地址是本地的绝对路径:c:\/*\/*,上传到服务器...
哈哈 你把数据库 放在哪里 修改一下 conn 文件地址就好了 实在不懂 就把程序的地址删掉 直接指定文件名 然后把数据库 跟程序放一个目录好了

ACCESS 数据访问页 如何设置相对路径
不大明白你的意思,如果是路径问题,如果是ASP,那么ASP有个Ma...一个函数可以获得当前路径你可以组合出绝对路径(N久没用过ASP了忘了具体怎么写的了反正好象是 Server对象的一个属性你找个开发网页的一试就知道了.),还有个简单的方法就是用相对路径....

access数据库相对路径设定问题
数据库连接后,还要打开记录源 adodc1.recordsource= "select * from (表的名字) from (数据库名字)where a=b "其中where是打开条件命令,可以不选 ,如果有where,就要注意where的用法了,特别是引号。

相似回答