建立一个数据源,数据库为其它机器上的一个ACCESS库,如何对其进行操作?
其它机器上有一个数据库NEWS,在本机上设置系统数据源abc,指向NEWS库,连接该数据库的代码如下:
set conn=Server.CreateObject("ADODB.Connection")
conn.open "DSN=abc;Database=news"
在asp脚本中对其进行写操作时,提示如下:
[Microsoft][ODBC Microsoft Access Driver] Microsoft Jet 数据库引擎打不开文件'(未知的)'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
请问可以对该库进行写操作,如果可以,该做如何设置?
问题点数:100、回复次数:15Top
1 楼nattyfish(飞鱼一族)(学习和贯彻"三个代表"的先进思想!)回复于 2004-08-13 10:14:45 得分 10
1.首先在该机器上的这个数据库必须设置能够被网络中其他机器浏览和修改的权限
2.该数据库本身设置时不能以独占方式打开.Top
2 楼bluecobra(我不抽烟)回复于 2004-08-13 10:19:01 得分 20
MS Access数据库连接
用DSN连接并且没有用户名和密码:
<%
set conn = Server.CreateObject("ADODB.Connection")
conn.open "YourDSNName"
%>
用DSN连接并且有用户名和密码:
<%
set conn = Server.CreateObject("ADODB.Connection")
conn.open "YourDSNName","username","password"
%>
用实际的数据库绝对路径连接:
<%
Set conn = Server.CreateObject("ADODB.Connection")
Strconn="DRIVER={Microsoft Access Driver (*.mdb)}; "
Strconn=Strconn & "DBQ=e:\\yanhang\\database.mdb"
conn.Open Strconn
%>
用实际的数据库相对路径连接:
<%
Set conn = Server.CreateObject("ADODB.Connection")
Strconn="DRIVER={Microsoft Access Driver (*.mdb)}; "
Strconn=Strconn & "DBQ=" & Server.MapPath("/database/yanhang.mdb")
conn.Open Strconn
%>
Top
3 楼pfc001(pfc001)回复于 2004-08-13 10:21:19 得分 5
密码没写! PWS=...Top
4 楼ycted(长城万里今犹在,不见当年秦始皇!)回复于 2004-08-13 10:42:17 得分 5
你的数据库打开在.关掉你的access数据库Top
5 楼3573745(※∷超≌√)回复于 2004-08-13 12:27:33 得分 10
<%
Set conn=Server.CreateObject("ADODB.Connection")
strcon = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("db/news.mdb")
conn.Open strcon
%>
换个数据库驱动方式看看咯
用DSN驱动方式比较局限啊。Top
6 楼l4ye()回复于 2004-08-13 13:39:32 得分 0
to;nattyfish(*飞鱼一族* [fly999.net])
你说的数据库的权限在哪里设置啊?我用ACCESS打开该库,在工具-》安全-》用户与组的权限中设置了后,还是不行。
to:bluecobra(我不抽烟)
用实际的数据库绝对路径连接中,可以是别的机器上的数据库吗?如果可以,该怎么写。
to:pfc001(pfc001)
我密码没有设置啊
to:ycted(长城万里今犹在,不见当年秦始皇!)
你的回答我看不懂
to:3573745(※∷超≌√)
我主要的问题是要对另一台机器上的数据库进行访问,用你说的这种方法可以吗?
Top
7 楼pswdf(小邪)回复于 2004-08-13 14:04:11 得分 10
1.首先在该机器上的这个数据库必须设置能够被网络中其他机器浏览和修改的权限
2.该数据库本身设置时不能以独占方式打开.
表示支持!Top
8 楼l4ye()回复于 2004-08-13 14:06:21 得分 0
to:pswdf(小邪)
在哪里进行这些设置呢?Top
9 楼l4ye()回复于 2004-08-14 08:53:34 得分 0
没有人回答了吗?Top
10 楼mackyliu(才子-54caizi.com)回复于 2004-08-14 09:07:11 得分 10
数据库打开没关系,但不能处于设计状态中。。。。。。Top
11 楼Drowning(悠長假期~~)回复于 2004-08-14 09:13:31 得分 20
可能你的数据库已经打开,或者被其他应用程序打开
如果access数据库就可以看到一个.ldb的文件,这就是你打不开数据库的原因
如果是在别的机器上的数据库那就用<%=server.mappath(".")%>得到数据库存放的物理路径
然后直接写DBQ等于数据库物理路径就可以了
PS:如果用的别人的机器就不要用dsn连接,用字符串连接Top
12 楼blueissxg(为了过幸福的生活)回复于 2004-08-14 09:27:06 得分 10
数据库打开方式不是主要的,主要的是你主机的权限设置Top
13 楼l4ye()回复于 2004-08-14 12:12:08 得分 0
to: Drowning(暑假好长啊~~)
用DBQ语句不行啊
我是这么用的,如下:
strconn="Driver={Microsoft Access Driver(*.mdb)};DBQ=news.mdb;" _
&"uid=username;pwd=password;DriverId=25;FIL=MSAccess;"
set conn = server.createobject("adodb.connection")
conn.open strconn
对不对啊?Top
14 楼l4ye()回复于 2004-08-17 11:23:24 得分 0
算了,结贴吧!
如果有人知道的话,欢迎继续发言。Top
15 楼Drowning(悠長假期~~)回复于 2004-08-17 18:08:26 得分 0
DBQ后面是绝对路径,如:
DBQ=c:\test\news.mdbTop





