为何这样连接数据库会不成功?provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb;Password=123;

stboy 2002-06-06 06:27:54
为何这样连接数据库会不成功?provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb;Password=123;
报错:已被另一个程序以独占方式打开或管理文件错误.(没有别的程序使用这个数据呀)
...全文
4200 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
晒屁屁 2002-06-08
  • 打赏
  • 举报
回复
user=admin
aspcn 2002-06-08
  • 打赏
  • 举报
回复
微软专家,我想问一下,在我的Windows.Net中,AspNet这个帐号的权限不是问题,每次提醒我说是要打这个用户的权限,但是把他加入管理员也没有用。
实际上是打开普通User的权限?
这是Bug还是其它的原因?
stboy 2002-06-07
  • 打赏
  • 举报
回复
感谢几位
zgdhj95(我来自杭州)真热心,谢谢
zgdhj95 2002-06-07
  • 打赏
  • 举报
回复
to stboy(唐人) :问题解决了吗?
zgdhj95 2002-06-06
  • 打赏
  • 举报
回复
如果你希望打开一个有口令保护的Access数据库,你可以用以下三种语法的任一种: (这是vb的例子,不过我想C#中的用法也差不多,我碰到过和你一样的错误,是CSDN中的高手告诉我这些方法的。)
Dim MyConn As New ADODB.Connection

MyConn.Provider = "Microsoft.Jet.OLEDB.3.51"
MyConn.Properties("Data Source") = "C:\...\JetPassword.MDB"
MyConn.Properties("Jet OLEDB:Database Password") = "MyPwd"
MyConn.Open
-或-

Dim MyConn As New ADODB.Connection
Dim strConn As String

strConn = "Data Source=C:\...\JetPassword.MDB;" & _
"Jet OLEDB:Database Password=MyPwd"
MyConn.Provider = "Microsoft.Jet.OLEDB.3.51"
MyConn.Open ConnectionString:=strConn
-或-

Dim MyConn As New ADODB.Connection
Dim strConn As String

strConn = "Provider=Microsoft.Jet.OLEDB.3.51;" & _
"Data Source=C:\...\JetPassword.MDB;" & _
"Jet OLEDB:Database Password=MyPwd"
MyConn.Open ConnectionString:=strConn

如果你打开一个数据库使用了Jet安全保护,你需要使用以下方式:

Dim MyConn As New ADODB.Connection

MyConn.Provider = "Microsoft.Jet.OLEDB.3.51"
MyConn.Properties("Data Source") = "C:\...\JetSecurity.MDB"
MyConn.Properties("Jet OLEDB:System database") = "C:\...\System.MDW"
MyConn.Open UserID:="Admin", Password:="MyPwd"
-或-

Dim MyConn As New ADODB.Connection
Dim strConn As String

strConn = "Data Source=C:\...\JetSecurity.MDB;" & _
"Jet OLEDB:System database=C:\...\System.MDW"
MyConn.Provider = "Microsoft.Jet.OLEDB.3.51"
MyConn.Open ConnectionString:=strConn, _
UserID:="Admin", Password:="MyPwd"
-或-

Dim MyConn As New ADODB.Connection
Dim strConn As String

strConn = "Provider=Microsoft.Jet.OLEDB.3.51;"
"Data Source=C:\...\JetSecurity.MDB;" & _
"Jet OLEDB:System database=C:\...\System.MDW"
MyConn.Open ConnectionString:=strConn, _
UserID:="Admin", Password:="MyPwd"

注意:Jet 3.51 OLEDB provider 被设计用来打开Access97数据库,如果你要打开Access 2000 请使用Jet 4.0 OLEDB provider,当然Jet 3.51 OLEDB provider也能打开Access 97。

如果你希望使用Jet 4.0只要将Microsoft.Jet.OLEDB.3.51换成Microsoft.Jet.OLEDB.4.0



acptvb 2002-06-06
  • 打赏
  • 举报
回复
感谢您使用微软产品。

您可以检查一下当前用户对该MDB文件有没有读写权限。特别地,当您是在ASP.NET中运行时,出于安全性的考虑,ASP.NET缺省运行在ASPNET帐号下,如果ASPNET帐号对您的MDB文件没有读/写的权限,就有可能发生您所遇到的错误。
关于该问题的具体描述及可选的解决方法,您可以参考以下文档:

PRB: Cannot Connect to Access Database from ASP.NET (Q316675)
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q316675

- 微软全球技术中心 VB技术支持

本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。

为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
bearbaba 2002-06-06
  • 打赏
  • 举报
回复
检查一下,你是不是正用access打开着文件啊,还有有没有将这个文件设成共享属性

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧