注册 登录
编程论坛 ASP技术论坛

[求助]ASP中报错“被别的用户以独占方式打开”

rtan_2005 发布于 2006-09-25 11:06, 3100 次点击

做了一个网站,移植到另一台服务器上,怎么就报了这样的错?

------------->>>
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Microsoft Access Driver] Microsoft Jet 数据库引擎打不开文件'(未知的)'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。

-----------------------------------------------------------------------------------------------------------------------
以前也碰到过这样的问题,好像是因为用Access打开了数据库文件才这样。只要关闭Access,就不会出现这个问题了。可是现在我确信Access已经关闭了,他还是这样……

[此贴子已经被作者于2006-9-25 15:27:33编辑过]

15 回复
#2
yadakami2006-09-25 15:47
换一种连接语句试一下
如:db_path = "test.mdb"
Set conn= Server.CreateObject("ADODB.Connection")
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db_path)
conn.Open connstr
#3
lexlin2006-09-25 15:56
楼上的大哥,我怎么觉得这个论坛好想很久没人来了~~
#4
yadakami2006-09-25 15:59
同感
#5
rtan_20052006-09-25 16:02
谢谢!我去试试
#6
rtan_20052006-09-25 16:13

不大对呀,我是打开一个dns,而不是mdb文件。
像这样的话,您那样的语句该怎么写?

#7
yadakami2006-09-25 16:21
你就不要用dns,直接用这个调用你的access数据库就行啊,数据库的路径一定要写对
#8
rtan_20052006-09-25 16:25
o了!谢谢
#9
wallie12062006-09-25 16:32
因为你的数据库开着,关掉就可以了.
#10
rtan_20052006-09-26 14:33
回复:(yadakami)换一种连接语句试一下如:db_path ...
不好了,我照你说的那样,在原来正常的机器上依然正常——就是原来用odbc模式打开,换成打开dbpath也行。可是令一台服务器上,原来设odbc不成,现在改用打开dbpath也还是不行啊。
我想是不是两台机器的设置有什么不同,可是看看IIS、数据库引擎好像也没有什么不同。都是SERVER2003+SP1。

[此贴子已经被作者于2006-9-26 14:33:59编辑过]

#11
rtan_20052006-09-28 10:09
回复:(yadakami)换一种连接语句试一下如:db_path ...

我如果照您说的用
db_path = "/MYDB/navi_db.mdb"
Set cn= Server.CreateObject("ADODB.Connection")
strCn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db_path)
cn.Open strcn

进行连接,却出现下述错误信息〉〉〉
Microsoft JET Database Engine 错误 '80004005'

未指定的错误

/banner.asp,行 11
*行11就是“cn.Open”



这都是在主服务器上出现的错误。在那一台服务器上,用odbc也不行。
可是在我的工作机上(同样是Server2003+sp1),用odbc和db_path都是可以的。

[此贴子已经被作者于2006-9-28 10:13:01编辑过]

#12
gdk20062006-09-28 21:39
以下是引用rtan_2005在2006-9-28 10:09:46的发言:

我如果照您说的用
db_path = "MYDB/navi_db.mdb"‘改成这样试试!
Set cn= Server.CreateObject("ADODB.Connection")
strCn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db_path)
cn.Open strCn

进行连接,却出现下述错误信息〉〉〉
Microsoft JET Database Engine 错误 '80004005'

未指定的错误

/banner.asp,行 11
*行11就是“cn.Open”



这都是在主服务器上出现的错误。在那一台服务器上,用odbc也不行。
可是在我的工作机上(同样是Server2003+sp1),用odbc和db_path都是可以的。


#13
rtan_20052006-09-30 17:07
回复:(gdk2006)以下是引用rtan_2005在2006-9-28 10...
gdk大侠,您的建议让我倍感信心!不过我要等国庆假期以后才能来试了!谢谢……
#14
w1362908542008-10-18 15:42
[bo][un]wallie1206[/un] 在 2006-9-25 16:32 的发言:[/bo]

因为你的数据库开着,关掉就可以了.

楼上说的对
#15
珍珍2008-10-24 21:32
1