1.错误信息 Microsoft OLE DB Provider for ODBC Drivers error ’80004005’ [Microsoft][ODBC Microsoft Access 97 Driver] The Microsoft Jet database engine cannot open the file ’(unknown)’. It is already opened exclusively by another user, or you need per
mission to view its data. 原因: 这个错误发生在当 IIS 使用匿名帐号(通常是 IUSR)时,该帐号在 NT 中对数据库所在的目录 没有正确的权限.(这就是为什么在 Win95 和 PWS 下没
问题,因为 win95 根本就没有目录权限这一说) 检查文件和目录的权限. 确定你能够在该目录中有能够新建和删除临时文件的权限。 这些临时文件其实是数据库建立在同一个目录下的文件, 但是要注意的是,有可能这些文件 也可能建立在别的目录,例如 /Winnt.
使用 NT 的文件监视程序监视文件失败时到底是访问了什么目录。 这个 NT 的文件监视程序可以在这个地方下载 sysinternals.
如果你对数据库使用了一个网络地址,例如映射地址,就要检查一下共享文件和目录的权限,
还要检查一下数据源文件(DSN)是否被别的程序标志成为正在使用中, 这些别的程序一般是 Visual InterDev,关闭任何一个 InterDev 中的正打开和数据库连接的项目。
这个错误还可能发生在这种情况:如果在 DSN 中使用了一个 UNC 路径(就是通用命名协议) ,请改用 本地路径进行测试,因为如果对本地数据库使用 UNC 也可能出错。 还可能发生在这种情况,如果服务器要访问 Access 中的一个表,而这个表却联接在一个
网络服务器上。
2.错误信息: Microsoft OLE DB Provider for ODBC Drivers error ’80004005’ [Microsoft][ODBC Microsoft Access 97 Driver] Couldn’t use ’(unknown)’; file already in use. 原因: 多人使用时数据库被锁定。
3.错误信息: Microsoft OLE DB Provider for ODBC Drivers error ’80004005’ [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified. 原因: 最可能的原因是 ConnectString 是一个在 global.asa 中初始化的 Session 变量,但是 global.asa 却没有正常工作。解决办法是,检查赋值时是否正确: (在你的 asp 中加入下面的代码) <%= "’auth_user’ is " &; request.servervariables("auth_user")%>
<%= "’auth_type’ is " &; request.servervariables("auth_type")%>
<%= "connection string is " &; session("your_connectionstring")%>
还有一个原因就是你在你的 ConnectString 中加入了多余的空格,例如 DSN = MyDSN; Database = Pubs; 试试改成下面这个样子: DSN=MyDSN;Database=Pubs;
如果是 global.asa 还没有工作,检查该文件是否在运用程序的根目录中,或者是虚拟目录的根目录中。
还有可能错误出现的原因是 DSN 名称没找着,这可以采用我提供的 id=36767 的办法解决。 最后是检查是否安装了
最新的驱动程序,既是否是最新的 MDAC 版本。
4.错误信息 Microsoft OLE DB Provider for ODBC Drivers error ’80004005’ [Microsoft][ODBC Driver Manager] Data source name not ?? 原因: 这个错误有可能是出现在你的计算机上软件安装(或则反安装)的顺序上。 如果 ODBC 的版本不一致的话,就会发生该错误。 解决办法是安装最新版本的 MDAC
5.错误信息: Microsoft OLE DB Provider for ODBC Drivers error ’80004005’ [Microsoft][ODBC Access 97 ODBC driver Driver]General error Unable to open registry key ’DriverId’. 原因: 这个错误发生在爱从注册表中读取数值的时候。使用 regedit32.exe 检查你的注册表的权限。 你也可以使用 NT 中的注册表监视程序(NTRegMon)来看读取失败信息。该程序到这找:sysi nternals
6.错误信息: Microsoft OLE DB Provider for ODBC Drivers error ’80004005’ [Microsoft][ODBC SQL Server Driver][dbnmpntw]ConnectionOpen (Crea