1,症状:
试图运行一个使用 Server.CreateObject 实例化一个 ActiveX 组件的活动服务器页面 (ASP) 页时出现以下错误消息:
服务器对象错误 ASP 0177:80040154
Server.CreateObject 失败
/<path>/<yourasp.asp><line # >
Server.CreateObject 调用失败。无法创建请求的对象实例。
2,原因
下面是一些典型产生此错误的原因:
- 未正确注册您的控件。
- 在"记录用户"--通常匿名帐户--没有足够的权限运行该控件。在许多情况下 (IUSR_ <machine>) 上的匿名登录帐户不具有适当的权限,某些目录/文件或特定的组件和它的依赖项。同时小于频繁如果某些项在注册表的权限设置不正确,它会导致该控件初始化失败。
- 在"每个人"组已从具有读某些注册表项由于错误的概念的权限的所有人意味着任何人都时实际上它只是说明域/计算机上的所有已验证的用户。
- 在一个文件数据库访问或 $ FoxPro,如的情况下包含数据库文件目录不提供足够的权限为已经过身份验证的用户。
3,解决
警告: 的以下假定熟悉 Internet 信息服务器和 $ 编辑注册表。它总是建议您备份注册表之前以进行任何更改。
由于此错误是不正确的权限设置对文件或注册表设置与相关联,您必须完成以下步骤:
- 找出已验证用户是谁。若要确定哪些用户进行身份验证,您 ASP 的顶部添加下面的代码页:
<%
Response.Write("LOGON_USER: " & _
Request.ServerVariables("LOGON_USER"))
%>
在 LOGON_USER 为空,如果您经过身份验证作为 IUSR_machine。否则,在 LOGON_USER 显示 <domain\user> 已验证身份的用户试图创建该对象的用户的名称。
- 确认已验证用户 (或组) 具有在所需的目录、 文件,和注册表项的权限。这要求在目录、 文件,和特定于控件的注册表项的知识。下面是 ActiveX 数据对象的要求的列表。
回到顶端
ADO 特定案例的文件/目录权限
\InetPub - IUSR_<machine> READ
\InetPub\wwwroot - IUSR_<machine> READ
\Program Files\Common Files\System\ADO - IUSR_<machine> READ
\Program Files\Common Files\System\OLE DB - IUSR_<machine> READ
\Program Files\Common Files\ODBC\Data Sources -IUSR_<machine> READ
\WinNT - IUSR_<machine> CHANGE
\WinNT\System32 - IUSR_<machine> READ
\WinNT\System32\Inetsrv\Asp - IUSR_<machine> READ
\WinNT\System32\Inetsrv\Asp\Cmpnts - IUSR_<machine> READ
\WinNT\Temp - IUSR_<machine> CHANGE
回到顶端
ADO 特定案例的注册表权限
确保下列键上设置以下权限:
权限:
<machine>\Administrator - Full Control
Creator Owner - Full Control
Everyone - READ
INTERACTIVE - Special Access (Query Value, Set Value, Create
Subkey, Enumerate Subkeys,
Notify, Delete)
SYSTEM - Full Control
密钥:
HKEY_CLASSES_ROOT
\LICENCES
\CEDD4F80-B43C-11cf-837C-00AA00573EDE
HKEY_CLASSES_ROOT
\ADODB.Command
\ADODB.Connection
\ADODB.Parameter
\ADODB.Recordset
回到顶端
文件和文件夹权限的数据库大小写
请确保数据库文件和文件夹包含了数据库文件提供了经过身份验证的用户或组的读取、 写入,和执行权限。
4,更多:
常规问题步骤
- 如果 ASP 已正确安装通过运行"ADO 使用 Server.CreateObject"示例复选了"活动服务器页面 Roadmap\More samples 子文件夹"
- 请确保所有的 dll 中注册的 Regsvr32。
- 请确保没有注册 DLL 和注册表项指向正确的多个版本。
- 请确保任何 dll 使用单元线程模型和不是单线程 (下面参见注释 3)。
- 请确认主域控制器 (PDC) 为每个人授予从网络访问此计算机"权限。如果 IIS 是一个 PDC 确保 IUSR_ <machine>还具有这些权限还在本地登录"权限。
回到顶端
快速权限检查步骤
- 通过清除基本和 NT 质询和响应 (NTCR) 在 IIS 服务管理器中强制匿名
- 若要查看是否它使一个差异管理员组暂时添加 IUSR_ <machine>。如果是这样,问题是权限问题。
- 打开 NT 审核 (如下所述),然后重试。
回到顶端
不 So 快速权限检查步骤
- 强制通过清除基本和 NT 质询和响应 (NTCR) 在 IIS 服务管理器中的匿名。
- 创建一个新的名为 IUSR_Test 的 NT 用户帐户。
- 给出了 IUSR_Test 的根驱动器完全控制,并且一直向下层叠这些权限。以后,IUSR_Test 删除,从而将它们从任何目录或文件中删除。
- 打开 NT 审核 (如下所述),然后重试。
启用 NT 审核,请执行下列操作:
若要启用审核,打开用户管理器并选择"审核"从策略"菜单。选择"文件和对象访问"故障。打开"Windows NT 资源管理器",然后选择您的硬盘的根目录。用鼠标右键单击,然后选择"属性。选择安全选项卡,然后按审核按钮。添加感兴趣 (由 ASP 页或 IUSR_machine 返回其中) 的用户并选择所有失败复选框。请确保将这些设置应用到所有文件夹。使用"事件查看器"来查看 (在日志菜单中选择"安全性") 的任何访问失败。请确保您关闭审核完成后进行更改。
注意 2: Jet 使用 SYSTEM TEMP 和 TMP 环境变量指定 JET 操作过程中创建的临时文件的位置。默认情况下这些环境变量为用户定义的而不是系统范围的设置。这些设置可以执行两个操作之一。
选项 1。在将 autoexec.bat 中添加类似于以下两行:
Set TEMP=C:\Temp
Set TMP =C:\Temp
选项 2。右键单击我的电脑:
- 单击属性,选择环境 TAB。
- 单击系统变量列表框 (在上一个) 中的条目。
- 在变量和值编辑控件中键入以下:
Variable = Temp
Value = C:\Temp
- 单击设置。您将现在,请参阅 TEMP 已添加到列表中的系统变量。
- 重复该过程为 TMP 变量。
- 重新启动计算机使更改生效。
此外,已找到 IUSR_ <machine>需要更改到 WinNT 目录使用 Access 数据库驱动程序时创建临时文件的权限。
注 3: 默认情况下 ASP 创建单线程单元的客户端这意味着只有单线程单元 inproc 服务器可由 IIS 传递所需的安全上下文。所有其他线程模型在系统上下文中运行。这意味着,使用单线程模型的 DLL 中安全上下文的系统,而不是预期将启动已验证用户身份
分享到:
相关推荐
set conn=server.createobject("ADODB.connection") con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL服务器名称或IP地址;UID=sa;PWD=数据库密码;DATABASE=数据库名称;" 建立记录集对象: set ...
ASP0177错误是ASP(Active Server Pages)开发中常见的一个错误,通常与服务器对象的使用有关。这个错误的全称是“Server 对象ASP0177 (0x800401F3)无效的类别字符串”,表明在尝试创建或使用一个服务器对象时,遇到...
) ObjReference.AddWebSite %>输入站点参数可参照目录下所带的 AddWeb.asp文件 范例:AddWeb.asp ② 列表已开设的站点: 语法:<% Set ObjReference = Server.CreateObject("Godeyes.GodIIS") ObjReference...
在编程中,尤其是在处理数据库操作时,`set rs=server.CreateObject("adodb.recordset")` 是一个常见的VBScript语句,用于创建一个ADO(ActiveX Data Objects)Recordset对象。Recordset对象是ADODB库中的核心组件之...
Set Conn = Server.CreateObject("ADODB.Connection")Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath‘ 查询数据库Set Rs =CreateObject("ADODB.Recordset")...
在配置服务器和测试ASP程序时,出现的“Server 对象错误 ASP 0178 : ***”提示,常常是因为系统权限设置不当造成的。当IIS的匿名访问用户或其他用户尝试创建或访问某个服务器对象时,由于权限不足而被拒绝访问,从而...
Set HashObj = Server.CreateObject(";iHash.HashObj";) Msg = ";123456"; %>; <;html>; <;head>; <;title>;iHash Demo<;/title>; <;meta ...
‘信息内容 */ 表示回车符Function GetURL(url) Set Retrieval = CreateObject("Microsoft.XMLHTTP") With Retrieval .Open "GET", url, False, "", "" .Send GetURL = ....
Set FMyFuns CreateObject "MyOcrServer MyOcrServerCom" MyStr FMyFuns TsOcr "E: test jpg" "3" "3" "0" "chi sim" MsgBox MyStr Set FMyFuns...
如果您在开通虚拟主机或注册用户时看到以下的错误信息: Server 对象 错误 ‘ASP 0177 : 8007007e’ Server.CreateObject 失败 /inc-freehost-function/FreeHostFunctionMain.asp,行 694 8007007e 造成这个问题的...
aspx1专用系列号 sn:17361-38566-42221 ...将以下代码保存为asp,拷贝在服务器上,用浏览器打开,看返回结果。 set jpeg=server.createobject("persits.jpeg") ...Server 对象, ASP 0177 (0x800401F3) 无效的类别字符串
然而,有时在执行`CreateObject("Excel.Application")`时可能会遇到错误,即使Office已经安装。针对标题和描述中提到的问题,我们将深入探讨这个问题以及可能的解决方案。 在Windows 10操作系统中,报错通常与以下...
错误 Server 对象 错误 ‘ASP 0177 : 800401f3’ Server.CreateObject 失败 /config.inc,行 14 原因: 如果懂的程序的朋友,看下config.inc的第14行应该是这样的:set efang = Server.CreateObject(“Efang41.Common”...
) ‘创建对象,DLL库名为TML,其中TMLi为对象控件中包含两个函数addTXT "作者,字体,字号,X坐标,Y坐标,文字"p dmPaperWidth文档宽,dmPaperLength文档长addTXT语句为添加文字到打印文档中,参数有"作者,...
ADO(ActiveX Data Objects)是微软开发的一种数据访问接口,用于在ASP(Active Server Pages)中与各种数据库进行交互。本教程将详细讲解ADO中的核心对象——Connection对象及其相关属性和方法。 首先,Connection...
`CreateObject` 是一种用于创建 COM(Component Object Model)对象的方法,在多种编程语言环境中都得到了广泛的应用,尤其是在经典的 ASP(Active Server Pages)环境中。通过 `CreateObject`,开发人员能够轻松地...
<br> 创建component,使用以下指令: JScript: var obj = Server.CreateObject("Miraplacid.MSCExec"); VBScript: set obj = Server.CreateObject("Miraplacid.MSCExec") object参考: ...
Set fs = Server.CreateObject(Scripting.FileSystemObject) Set d = fs.GetDrive("c:") Response.Write("Drive " & d & ":") Response.Write("Total size in bytes: " & d.TotalSize) Set d = Nothing Set fs = ...