关于oleDbConnection的问题(100分)

Z

zm30

Unregistered / Unconfirmed
GUEST, unregistred user!
用oleDbConnection运行时连接本地一Access数据库,无论如何都出现
Microsoft Jet 数据库引擎打不开文件'E:/Inetpub/wwwroot/WebApplication1/data/pubs.mdb'。
它已经被别的用户以独占方式打开,或没有查看数据的权限。
行 33: this.oleDbConnection1.Open();
//出错行
的错误,在设计期打开没问题
请问是何原因?
 
因为你在设计期已经打开了此数据库,
所有你运行时如果不先关闭的话,
当然是这样。
 
关闭IDE,直接在IE里浏览也是一样,何况我也不是独占打开
 
贴出你的ConnetionString来。
或者,你换个mdb连接一下,再试试。
 
Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=E:/Inetpub/wwwroot/Data/pubs.mdb;
Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";
Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:
Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";
Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;
Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False
连接字串应该没问题,我试过在程序里动态创建oledbconnection,连接就没问题,如果是设计时放控件就不行.
 
你的意思是说,
这些连接串是设计控件时,自动生成的。
如果你手工写一个OledbConnetion对象,就没问题,是这样吗?
那你从代码中把设计控件自动生成的ConnectionString,手工改一下,
去掉后面那些冗长的属性,天知道那是干什么的。
 
是,在代码里生成oledbConnection对象也是用上面的ConnectionString,没问题,是不是.net的bug?
 
原来存放数据库文件的目录一定要给ASPNET这个用户加上修改权限才行
 
多人接受答案了。
 

Similar threads

顶部