asp.net 访问 access出现 ole_connection.ServerVersion引发了System.InvalidOperationException的解决
今天在一臺(tái)電腦上使用asp.net訪問(wèn)access,出現(xiàn)了
ole_connection.ServerVersion引發(fā)了System.InvalidOperationException;
下面是解決過(guò)程;
先看下異常的情況;
為了認(rèn)識(shí)錯(cuò)誤的根源,展開(kāi)看更細(xì)節(jié)的異常情況;
此時(shí)連接字符串的兩種寫法都試過(guò)了;
conn_str = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='xxxx.mdb'";
conn_str = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='xxxx.mdb'";
所以不是這個(gè)的問(wèn)題;
參考此文;
http://wangbin840403.blog.163.com/blog/static/21271097201342310550841/
在注冊(cè)表中查看Provider的訪問(wèn)權(quán)限;
搜索項(xiàng);
看下12.0和4.0兩個(gè)提供者都是存在的;
繼續(xù)再搜Microsoft.Jet.OLEDB.4.0,下面這個(gè)也有Microsoft.Jet.OLEDB.4.0,但不是本項(xiàng)目使用的提供者;
看下Microsoft.Jet.OLEDB.4.0的訪問(wèn)權(quán)限;
添加Everyone的完全控制權(quán)限后如下;
對(duì)12.0也同樣添加權(quán)限;
結(jié)果還是一樣的錯(cuò)誤;
是否本機(jī)不存在Microsoft.Jet.OLEDB.4.0的DLL呢;搜索下C盤,這貨還是在的;
那么12.0使用的是哪個(gè)DLL呢?
如果沒(méi)有12.0的提供者;根據(jù)網(wǎng)上資料可在
http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe
下載后安裝即可;
現(xiàn)在連接字符串沒(méi)問(wèn)題;提供者也有;注冊(cè)表權(quán)限也正常;那么可能是本機(jī)某些配置限制了對(duì)OLEDB引擎的訪問(wèn);
下面把另一個(gè)可在另一臺(tái)電腦運(yùn)行的C#操作Access的程序拷貝到本機(jī),下斷點(diǎn)看一下;是一樣的情況;
可知是本機(jī)的電腦配置問(wèn)題;
總結(jié)
以上是生活随笔為你收集整理的asp.net 访问 access出现 ole_connection.ServerVersion引发了System.InvalidOperationException的解决的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Access和Access VBA学习总
- 下一篇: asp.net三层架构连接Oracle