.net1.1 环境下 开发Access连接的错误,不支持关键字provider,找不到可安装的 ISAM等。
开发环境win2003 ,ntfs文件系统。 Access 2003,数据库文件安全为everyone 都可读写。
使用OleDbConnection向导建立的连接字串如下,在向导界面测试成功。
CNString= @"Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database Locking Mode=1;Data Source=""E:\Inetpub\wwwroot\WebApplication1\db\db2.mdb"";Jet OLEDB:Engine Type=5;Provider=""Microsoft.Jet.OLEDB.4.0"";Jet OLEDB:System database=;Jet OLEDB:SFP=False;persist security info=False;Extended Properties=;Mode=Share Deny None;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Create System Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;User ID=Admin;Jet OLEDB:Global Bulk Transactions=1";
运行提示 :不支持关键字: “jet oledb:global partial bulk ops”。
换个写法:
CNString=@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=E:\Inetpub\wwwroot\WebApplication1\db\db1.mdb;User ID=Admin;Password=; ";
运行提示:不支持关键字: “provider”
看到网上一些用sqlconnection写连接的含 Provider=sqlOledb时也提示这个错误,把Provider属性删去就正常。
我用的是OledbConnection 想来也把Provider属性删去。
再换个写法如下:
CNString=@"Data Source=E:\Inetpub\wwwroot\WebApplication1\db\db1.mdb;User ID=Admin;Password=; ";
运行提示在 ConnectionString 中未指定 OLE DB 提供程序。示例为:“Provider=SQLOLEDB;”。
晕,把Provider写进去就说不支持,把Provider去掉就说缺少,搞死我了。
上面三种写法,错误都在给OleDbConnection对象ConnectionString属性赋值语句触发错误。
再换种写法如下:
CNString=@"provider=Microsoft.Jet.OLEDB.4.0;Database=E:\Inetpub\wwwroot\WebApplication1\db\db1.mdb;UID=Admin;PWD=; ";
最简单的写法,
现在是在cn.Open();时触发错误,
提示:找不到可安装的 ISAM。
把 mdac27SP1 Access2003重装了仍无补于事。
跪求MVP们如何解决啊。