【问题标题】:RunTime Error 380 - Specified Fieldname not found in object运行时错误 380 - 在对象中找不到指定的字段名
【发布时间】:2011-08-03 22:41:07
【问题描述】:

我正在运行一个带有 Pervasive V9.5 数据库的 VB6 应用程序。我收到一个运行时错误 380 - 当我的只有 2 个用户尝试登录时,在对象中找不到指定的字段名。办公室的其他人都很好......有人知道问题可能是什么吗?我已经搜索了几个小时,但找不到任何有用的东西。

登录在登录期间使用 VAccess 控件。这可能是由于客户端计算机上缺少 DLL 或 OCX 文件造成的吗?

任何建议都将不胜感激,因为我没有想法。

编辑:

With vaLogon
    .RefreshLocations = True
    .DdfPath = DataPath
    .TableName = "USERLOG"
    .Location = "USERLOG.MKD"
    .Open
    If .Status <> 0 Then
        ErrMsg = "Error Opening File " + .TableName + " - Status " + str$(.Status) + vbCrLf + "Contact IT Department"
    End If
End With

我已启用 VADebug 模式,在相关工作站上,当应用启动时我收到 DDF 错误:

The VAccess control was unable to open FIELD.DDF at the specified DDFpath. This may result from an error in the DDFPath or refreshlocations properties, or from a corrupt FIELD.DDF.

然后是错误信息:

ACBtr732 - Btrieve status = 170, Brtrieve Opertation Code = 0, VAccessName = vaLogon, VALocation = 

然后我的登录提示输入用户名和密码,一旦单击登录按钮,用户就会收到 380 运行时。

【问题讨论】:

  • 运行时错误 380 出现在代码的什么位置?究竟是什么引发了错误? VAccess 可能导致它,也可能是其他原因。
  • 当用户点击登录时发生在客户端机器上。我看不到它在代码中发生的位置,因为它不会发生在我们的开发机器上。
  • 发生这种情况的机器与没有发生这种情况的机器有什么不同? PSQL和VAccess(Acctr732.ocx)的版本是一样的吗?你能添加一些调试代码来缩小导致它的代码行吗?
  • 好的,所以我将 VAccess 控件切换到 VADubugMode = True 并在我的开发机器上重新创建了错误。它崩溃的代码行是对 vaLogon 控件的第一个引用。我收到错误消息:
  • DDF 错误:VAccess 控件无法在指定的 DDF 路径打开 FIELD.DDF。这可能是由 DDFPath 或 RefreshLocation 属性中的错误或损坏的 FILED.DDF 造成的

标签: dll vb6 ocx pervasive


【解决方案1】:

错误 170 表示“需要登录数据库。由于用户名错误或缺少用户名,对数据库的身份验证失败。”您确定 Datapath 变量中有正确的路径吗?

您可以通过 Pervasive Control Center 连接到数据库吗?它需要用户/密码吗?

服务器上损坏的 DDF 通常会影响所有用户。

【讨论】:

  • 最终在客户端上卸载了 pervasive,然后卸载了我们的应用程序并重新安装了 pervasive 客户端和我们的软件。似乎工作。也许客户端普遍存在损坏的文件???奇怪的是它同时发生在两台计算机上。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-30
  • 1970-01-01
  • 2019-05-22
  • 2010-10-20
  • 1970-01-01
相关资源
最近更新 更多