1.应用程序无法设置ODBC DRIVERS
这个是比较通用说法,ODBC是微软系统开发的对象数据库接口,使用到ODBC的一般是C/S结构较多,就如某财务软件,数据库,客户端软件,客户端软件与数据库之间需要一个沟通连接,就需要如ODBC功能了,要知道如何设置,就必须要先了解你的数据库类型,数据库所在的电脑名或IP,数据库名称,数据库用户,数据库密码。
当然知道了这些才好进行下一步设置,如果你不知道这些,就需要联系数据库管理员或网络管理搞定,如果你已经知道我上述所说的这些,你告诉我,我可以告诉你具体操作,因为不同的数据库类型在windows中设置有稍微差别。
2.求大神解决在win10下使用ODBC连接Oracle,提示驱动程序的
弄了好久,原来是环境配置问题!
环境变量path值
%JAVA_HOME%\bin;%CATALINA_HOME%\bin;D:\oracle\ora92\bin;D:\oracle\isuite\jdk\jre\bin\classic;D:\oracle\isuite\jdk\jre\bin;D:\oracle\isuite\jdk\jre\bin\client;D:\oracle\isuite\jlib;D:\oracle\isuite\bin;D:\oracle\isuite\jre\1.1.8\bin;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
因为昨天又安装了一个Oracle客户端,今天发现ODBC就无法使用了,老是提示“[Microsoft][ODBC 驱动程序管理器] 驱动程序的 SQLAllocHandle on SQL_HANDLE_ENV 失败”之类的错误信息,把红色部份调到path值的最前面,成功解决问题!
解决方法:
1 选择OracleHome 目录(c:/oracle)
2 右健单击 OracleHome 目录,选择属性
3 在属性对话框中选择 [安全] tab页
4 单击该页中 [添加] 按钮,将 "IUSR_计算机名(Internet 来宾账号)"、"IWAW_计算机名(启动IIS进程账号)" 两个账号!添加进来!
5 选择高级,将 “允许将来自父系的可继承权限传播给该对象”复选框---选中 ,需等一些时间
6 在高级选项中,作如下设定:
权限->“用在此显示的可以应用到子对象的项目替代所有子对象的权限项目”选上
审核->“用在此显示的可以应用到子对象的项目替代所有子对象的权限项目”选上
所有者->“替换子容器及对象的所有者”选上
再按“确定”,等执行完成。
7 重启计算机
3.protel 99se 提示错误 ODBC microsoft access driver
ASP常见问题:Access数据库不能更新
有很多人的ASP程序报告了以下错误:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。
解决办法:
在IIS里面,有一个设置,就是Web匿名访问用户,也就是大家熟悉的 IUSR_<MachineName>。
给你的Access数据库文件增加 IUSR_<MachineName>; 的改写权限。
问题是有些人用惯了Win98或者FAT/FAT32文件格式,根本就不知道如何修改文件或者文件夹的NTFS设置。
一、找到要用程序去操作的Access数据库文件(就是对应你的protel的电路图数据库文件)。
二、右键 -->; 属性,此文件的“安全”属性
三、增加用户 IUSR_<Hostname>
四、设置 IUSR_<Hostname>; 对Access数据库文件的访问权限这是设置好了的权限。
注意我只给了 IUSR_<Hostname>; 的读、写权限哦。像有些人动不动就给 Everyone 权限,而且还要给 执行(Execute) 权限,这样被人家上传了ASP木马,然后执行,你的系统最高级的权限就被入侵者获取了。有人曾经指责LeadBBS的安全性差,如果不经过合理的安全设置,什么论坛能安全呢?
4.错误 28 OLE DB 错误: OLE DB 或 ODBC 错误 : 用户 'NT
法 2000-4-15 动网先锋 作者:BatMan 错误信息(错误信息我不用翻译成中文了吧,呵呵,大家谅解) 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 permission to view its data. 原因: 这个错误发生在当IIS使用匿名帐号(通常是IUSR)时,该帐号在NT中对数据库所在的目录 没有正确的权限.(这就是为什么在Win95和PWS下没问题,因为win95根本就没有目录权限这一说) 检查文件和目录的权限. 确定你能够在该目录中有能够新建和删除临时文件的权限。
这些临时文件其实是数据库建立在同一个目录下的文件, 但是要注意的是,有可能这些文件 也可能建立在别的目录,例如 /Winnt. 使用NT的文件监视程序监视文件失败时到底是访问了什么目录。 这个NT的文件监视程序可以在这个地方下载 如果你对数据库使用了一个网络地址,例如映射地址,就要检查一下共享文件和目录的权限, 还要检查一下数据源文件(DSN)是否被别的程序标志成为正在使用中, 这些别的程序一般是Visual InterDev,关闭任何一个InterDev中的正打开和数据库连接的项目。
这个错误还可能发生在这种情况:如果在DSN中使用了一个UNC路径(就是通用命名协议),请改用 本地路径进行测试,因为如果对本地数据库使用UNC也可能出错。 还可能发生在这种情况,如果服务器要访问Access中的一个表,而这个表却联接在一个网络服务器上。
错误信息: Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Microsoft Access 97 Driver] Couldn't use '(unknown)'; file already in use. 原因: 多人使用时数据库被锁定。 错误信息: 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版本。 错误信息 Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Driver Manager] Data source name not ?? 原因: 这个错误有可能是出现在你的计算机上软件安装(或则反安装)的顺序上。
如果ODBC的版本不一致的话,就会发生该错误。 解决办法是安装最新版本的MDAC 错误信息: 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)来看读取失败信息。
该程序到这找: 错误信息: Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC SQL Server Driver][dbnmpntw]ConnectionOpen (CreateFile()). 原因: 两个原因:当一个数据库中包含有分别在不用机器上的许可关系时, 这也可能发生在同一台机器上,当你给一个关系设置了UNC路径,而另一个关系却是本地路径。 错误原因是: 当用户使用IIS匿名帐号登录后,对本地这台机器而言他是有权的,但是对于一个UNC路径的机器, 另外这台机器是不会认为你当前匿名登录的帐号在它那上面也是合法的。
这样它就不允许你访问它上面的资源,导致错误。 两个解决办法: 1。
在IIS工具中,改变IIS匿名帐号成另外一个基于域的帐号。(也就是不使用匿名登录) 2。
或则在那台你要访问资源的机器上也创建一个和当前匿名帐号同样的帐号,使用同样的密码。 错误信息 Microsoft OLE DB Provider for ODBC Drivers error '80004005' Microsoft][ODBC Microsoft SQL Driver] Logon Failed() 原因: 该错误是由SQL Server产生的,当它不接受或则不能够认识这个登录帐号的时候,或者没有使用管理员身份登录, 也可能是在NT中没有SQL影射帐号造成的。
使用系统管理员帐号(SA)登录,一般密码应该为空.注意,这时必须使用CoonectString而不能够使用DSN文件。 因为DSN中没有保存用户名。
5.错误类型: Microsoft OLE DB Provider for ODBC Drivers (0x80040E
参考,希望有帮助 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 permission to view its data. 原因: 这个错误发生在当IIS使用匿名帐号(通常是IUSR)时,该帐号在NT中对数据库所在的目录 没有正确的权限.(这就是为什么在Win95和PWS下没问题,因为win95根本就没有目录权限这一说) 检查文件和目录的权限. 确定你能够在该目录中有能够新建和删除临时文件的权限。
这些临时文件其实是数据库建立在同一个目录下的文件, 但是要注意的是,有可能这些文件 也可能建立在别的目录,例如 /Winnt. 使用NT的文件监视程序监视文件失败时到底是访问了什么目录。 这个NT的文件监视程序可以在这个地方下载 如果你对数据库使用了一个网络地址,例如映射地址,就要检查一下共享文件和目录的权限, 还要检查一下数据源文件(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")% P %= "'auth_type' is " request.servervariables("auth_type")% P %= "connection string is " session("your_connectionstring")% P 还有一个原因就是你在你的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)来看读取失败信息。
该程序到这找: 6.错误信息: Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC SQL Server Driver][dbnmpntw]ConnectionOpen (CreateFile()). 原因: 两个原因:当一个数据库中包含有分别在不用机器上的许可关系时, 这也可能发生在同一台机器上,当你给一个关系设置了UNC路径,而另一个关系却是本地路径。 错误原因是: 当用户使用IIS匿名帐号登录后,对本地这台机器而言他是有权的,但是对于一个UNC路径的机器, 另外这台机器是不会认为你当前匿名登录的帐号在它那上面也是合法的。
这样它就不允许你访问它上面的资源,导致错误。 两个解决办法: 1。
在IIS工具中,改变IIS匿名帐号成另外一个基于域的帐号。(也就是不使用匿名登录) 2。
或则在那台你要访问资源的机器上也创建一个和当前匿名帐号同样的帐号,使用同样的密码。 7.错误信息 Microsoft OLE DB Provider for ODBC Drivers error '80004005' Microsoft][ODBC Microsoft SQL Driver] Logon Failed() 原因: 该错误是由SQL Server产生的,当它不接受或则不能够认识这个登录帐号的时候,或者没有使用管理员身份登录, 也可能是在NT中没有SQL影射帐号造成的。
使用系统管理员帐号(SA)登录,一般密码应该为空.注意,这时必须使用CoonectString而不能够使用DSN文件。 因为DSN中没有保存用户名和密码。
检查NT是否给SQL映射了帐号。 8.错误信息 Microsoft OLE DB 。
转载请注明出处windows之家 » win10应用程序设置ODBC错误