ODBC驱动程序不支持所需的属性的解决办法
用这个连接串StrDSN="driver={SQLserver}server="&StrServer&",1104uid="&StrUser&"pwd="&StrSaPwd&"database=database
出现下面错误
MicrosoftOLEDBProviderforODBCDrivers(0x80040E21)
ODBC驱动程序不支持所需的属性。
用这个连接串
StrDSN="Provider=SQLOLEDB.1Password=passPersistSecurityInfo=TrueUserID=idInitialCatalog=datebaseDataSource="&StrServer&""
错误类型:MicrosoftOLEDBProviderforSQLServer(0x80040E21)
多步OLEDB *** 作产生错误。如果可能,请检查每个OLEDB状态值。没有工作被完成。
默认CommandTimeout=30,修改成:StrDSN="Provider=SQLOLEDB.1Password=zxc1035PersistSecurityInfo=TrueUserID=zxcInitialCatalog=databaseDataSource="&StrServer&"timeout=2000"
建立和数据库master的连接
set Conn=Server.CreateObject("ADODB.Connection")
Conn.OpenStrDSN
set Rs=Server.CreateObject("ADODB.RecordSet")
conn.CommandTimeout=3000'注意加了这个RS.openSQL,conn,1,1。
如果计算机上没有安装Microsoft.Jet.OLEDB.4.0的驱动程序,系统就会提示 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”的错误。\r\n解决方法:下载数据库引擎:Access Database Engine X64,然后进行安装即可。可以肯定的你是不能解决的。需要修改源代码。
关于ActiveServerPages和Microsoft数据访问组件中的80004005错误的疑难解答
概要
本文列出了各种80004005错误信息、导致错误信息的最常见原因以及解决问题的疑难解答步骤。收到80004005错误的是ActiveServerPages中的Microsoft数据访问组件(MDAC),其中包括MicrosoftActiveX数据对象(ADO)、OLEDB以及远程数据服务(RDS)。虽然本文假定您是在ActiveServerPages(ASP)页中使用ADO,但是导致错误的原因以及许多疑难解答步骤适用于任何使用ODBC进行数据访问的环境。
回到顶端
错误信息列表
80004005错误信息表示无法访问您的数据。此错误可以解释为“由于某种原因,我无法访问您的数据”。本节列出了最常见的错误信息的内容和原因。有关可能有助于确定错误原因的其他相关文章,请参见“参考”一节。虽然本文试图提供尽可能多的信息,但可能还是有所遗漏。
错误信息
MicrosoftOLEDBProviderforODBCDriverserror'80004005'
[Microsoft][ODBCMicrosoftAccess97Driver]
TheMicrosoftJetdatabaseenginecannotopenthefile'(unknown)'.Itisalreadyopenedexclusivelybyanotheruser,oryouneedpermissiontoviewitsdata.
原因
出现此信息的原因有多种。有关其他信息,请单击下面的文章编号,以查看Microsoft知识库中相应的文章:
306269(/kb/306269/)PRB:错误80004005“TheMicrosoftJetDatabaseEngineCannotOpentheFile'(Unknown)'”(MicrosoftJet数据库引擎不能打开文件“(未知)”)
189408(/kb/189408/)FIX:在IIS4.0和IIS5.0中ASP无法访问网络文件
错误信息
MicrosoftOLEDBProviderforODBCDriverserror'80004005'
[Microsoft][ODBCMicrosoftAccess97Driver]Couldn'tuse'(unknown)'filealreadyinuse.
原因
无法为多个用户正确锁定数据库。有关其他信息,请单击下面的文章编号,以查看Microsoft知识库中相应的文章:
174943(/kb/174943/)PRB:80004005“Couldn'tUse'(unknown)'FileAlreadyinUse”(无法使用“(未知)”,文件已在使用)
错误信息
MicrosoftOLEDBProviderforODBCDriverserror'80004005'
[Microsoft][ODBCDriverManager]Datasourcenamenotfoundandnodefaultdriverspecified.
原因
此错误是比较常见的错误之一,有多种解决方法。有关其他信息,请单击下面的文章编号,以查看Microsoft知识库中相应的文章:
306345(/kb/306345/)PRB:ASP错误80004005“DataSourceNameNotFound”(未找到数据源名称)
请确保安装了最新的驱动程序。可从以下Microsoft网站下载MDAC的最新版本:
/dataaccess(/dataaccess)
错误信息
MicrosoftOLEDBProviderforODBCDriverserror'80004005'
[Microsoft][ODBCDriverManager]Datasourcenamenot??
原因
出现此错误的原因是,计算机上安装和卸载软件的顺序有问题。如果ODBC核心文件变得不同步(它们的版本应该都相同),您可能会收到此错误。
要更新所有的核心ODBC驱动程序,请从以下Microsoft网站安装MDAC的最新版本:
/dataaccess(/dataaccess)
错误信息
MicrosoftOLEDBProviderforODBCDriverserror'80004005'
[Microsoft][ODBCAccess97ODBCdriverDriver]GeneralerrorUnabletoopenregistrykey'DriverId'.
原因
当您从注册表中读取值时,会出现此错误。使用注册表编辑器(Regedt32.exe)检查注册表项的权限。还可以使用WindowsNT注册表监视器(NTRegMon)检查注册表读取故障。可以从以下Sysinternals网站下载NTRegMon:
()
错误信息
MicrosoftOLEDBProviderforODBCDriverserror'80004005'
[Microsoft][ODBCSQLServerDriver][dbnmpntw]ConnectionOpen(CreateFile()).
原因
导致此错误的原因有两种,它们都与权限有关。当数据库驻留在Web服务器以外的计算机上时,或者当您使用通用命名约定(UNC)路径(\ServerShare)引用数据库时,会出现此错误。即使数据库和Web服务器在同一台计算机上,当您使用UNC路径时,Web服务器也假定数据库驻留在网络上的不同计算机上。
有关其他信息,请单击下面的文章编号,以查看Microsoft知识库中相应的文章:
175671(/kb/175671/)PRB:访问SQL时出现80004005ConnectionOpen(CreateFile())错误
Internet开发人员的IIS身份验证和安全(IISAuthenticationandSecurityforInternetDevelopers)
/library/default.asp?url=/library/en-us/dnauth/html/dnauth_security.asp(/library/default.asp?url=/library/en-us/dnauth/html/dnauth_security.asp)
错误信息
MicrosoftOLEDBProviderforODBCDriverserror'80004005'
Microsoft][ODBCMicrosoftSQLDriver]LogonFailed()
原因
如果SQLServer不接受或者不能识别提交的登录帐户和/或密码(如果您使用的是“标准”安全性),或者没有WindowsNT帐户到SQL帐户的映射(如果您使用的是“集成”安全性),SQLServer就会产生此错误。
有关其他信息,请单击下面的文章编号,以查看Microsoft知识库中相应的文章:
306586(/kb/306586/)PRB:ASP中的错误80004005“LoginFailed”(登录失败)的疑难解答
错误信息
MicrosoftOLEDBProviderforODBCDriverserror'80004005'
[Microsoft][ODBCSQLServerDriver][SQLServer]Loginfailed-User:Reason:NotdefinedasavaliduserofatrustedSQLServerconnection.
原因
出现此错误的原因是,SQL企业管理器中打开了“集成”安全性,以及所用的WindowsNT帐户没有映射为SQL帐户。要解决此问题,请使用以下方法之一:?配置SQLServer以使用“标准”安全性。在SQL企业管理器中,右键单击“服务器”,然后单击SQLServer。在SQLServer属性对话框中,单击安全选项选项卡。在身份验证下,单击以选中SQLServer和Windows,然后单击确定。
?如果您是在IIS4.0下运行,请清除此项目的密码同步复选框。
错误信息
MicrosoftOLEDBProviderforODBCDriverserror'80004005'
[Microsoft][ODBCMicrosoftAccess97Driver]Couldn'tlockfile.
原因
有关其他信息,请单击下面的文章编号,以查看Microsoft知识库中相应的文章:
306441(/kb/306441/)PRB:ASP中的错误80004005“Couldn'tLockFile”(无法锁定文件)的疑难解答
错误信息
MicrosoftOLEDBProviderforODBCDriverserror'80004005'
[Microsoft][ODBCMicrosoftAccess97Driver]
'(unknown)'isn'tavalidpath.Makesurethatthepathnameisspelledcorrectlyandthatyouareconnectedtotheserveronwhichthefileresides.
原因
Web服务器正在读取的路径不是有效路径。当使用Global.asa文件时,如果在Web服务器以外的计算机上创建连接字符串,通常会出现此错误。如果路径是一个映射驱动器号,它可能仅对创建连接字符串的客户机有效。
错误信息
MicrosoftOLEDBProviderforODBCDriverserror'80004005'
[Microsoft][ODBCSQLServerDriver][SQLServer]
Thequeryandtheviewsinitexceedthelimitof16tables.
原因
出现此错误的原因是查询过于复杂。对查询是有一些限制的。
错误信息
MicrosoftOLEDBProviderforODBCDriverserror'80004005'
[Microsoft][ODBCSQLServerDriver][DBNMPNTW]
ConnectionWrite(GetOverLappedResult()).
原因
如果您关闭允许匿名用户上下文,在首次请求完成后,WindowsNT将关闭SQLServer的管道。这是因为首次连接到SQLServer时用的是IIS匿名用户帐户。然后,IIS或者模拟该同一线程上的浏览器客户端,或者尝试访问在模拟用户上下文中运行的另一个线程上的连接。不论何种情况,WindowsNT都会检测到使用在别的用户上下文中打开的网络命名管道句柄的企图,并根据安全规则强行关闭管道。当您使用网络监视器查看SQLServer上的连接时,WindowsNT会发出一个命名管道关闭请求,这将导致Web浏览器中出现此错误。
错误信息
MicrosoftOLEDBProviderforODBCDriverserror'80004005'
[Microsoft][ODBCSQLServerDriver][DBMSSOCN]
Generalnetworkerror.Checkyournetworkdocument
原因
当您重命名SQLServer计算机时,会出现此错误。当无法找到计算机名称时,引用原名称的域名系统(DNS)将失败。
错误信息
MicrosoftOLEDBProviderforODBCDriverserror'80040e21'
Errorsoccurred
-或-
80004005:ConnectionWrite(GetOverLappedResult)
原因
当您试图在字段中插入超出允许数量的数据时(例如,在格式设置为仅接受25个字符的MicrosoftAccess字段中插入26个字符),会出现此错误。
有关其他信息,请单击下面的文章编号,以查看Microsoft知识库中相应的文章:
166659(/kb/166659/)PRB:再次尝试访问SQL数据库时失败
错误信息
Multiple-stepOLEDBoperationgeneratederrors.CheckeachOLEDBstatusvalue,ifavailable.Noworkwasdone.
原因
导致此错误的原因有多种;请参见“参考”一节,查看与此错误信息有关的文章。
错误信息
MicrosoftOLEDBProviderforODBCDriverserror'80040e14'
[Microsoft][ODBCMicrosoftAccess97Driver]
SyntaxerrorinINSERTINTOstatement.
原因
出现此错误的原因是某个列名可能是保留字(如“DATE”)。将列名更改为非保留字(如“SaleDate”)。
错误信息
MicrosoftOLEDBProviderforODBCDriverserror'80040e10'
[Microsoft][ODBCMicrosoftAccess97Driver]
Toofewparameters.Expected1.
原因
出现此错误的原因是您在查询语法中使用了不存在的列名。通常,此错误只不过是一个拼写错误。将数据库中的列名与查询字符串进行对比检查。如果使用的是MicrosoftAccess,请确保使用的是实际的列名,而不是列的“显示”名称。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)