1

I am running a VB6 application with a Pervasive V9.5 Database. I am receiving a RunTime Error 380 - Specified Fieldname not found in object when only 2 of my users are trying to log in. Rest of the office is fine...Does anyone have any idea what the issue could be? I have searched for a few hours now and can't find anything helpful.

The login uses a VAccess control during the login. Could this be caused by a missing DLL or OCX file on the client machine?

Any suggestions would be appreciated as I am out of ideas.

Edit:

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

I have enabled VADebug mode and on the workstation in question, when the app is launched I receive the DDF error:

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.

Then an error message:

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

Then my login prompts for username and password and once the Login button is clicked is when the user receives the 380 Runtime.

Lance Roberts
  • 22,383
  • 32
  • 112
  • 130
Jose Quervo
  • 33
  • 1
  • 4
  • Where in the code does the Runtime Error 380 occur? What's actually throwing the error? The VAccess could be causing it or it could be other things. – mirtheil Apr 12 '11 at 15:22
  • It happens on the Client machine when the user clicks Login. I can't see where it happens in code because it doesn't occur on our dev machines. – Jose Quervo Apr 12 '11 at 15:34
  • What's different about the machines where it happens versus the machines where it doesn't happen? Is the version of PSQL and VAccess (Acctr732.ocx) the same? Can you add some debugging code that might narrow down what line of code is causing it? – mirtheil Apr 12 '11 at 15:57
  • Ok so I turned switched the VAccess control to VADubugMode = True and recreated the error on my Dev machine. The line of code it crashes on is the first reference to the vaLogon control. I get error message: – Jose Quervo Apr 12 '11 at 17:00
  • DDF Error: The VAccess control was unable to open FIELD.DDF at the specified DDFpath. This may result from an error in the DDFPath or RefreshLocation properties, or from a corrupt FILED.DDF – Jose Quervo Apr 12 '11 at 17:03
  • Can you post some code that is failing? I would suggest if it is happening on some machines and not others it is due to the version of the ocx(s) involved (as mentioned by @mirtheil) - have a look at the versions and timestamps of the AcBtr732 and Acctr732 and check they are the same. – Matt Wilko Apr 13 '11 at 10:31
  • You should also check that path on which the data is located is accessible from both two workstations. – jakdep Apr 13 '11 at 14:21
  • So the time stamps and versions are the same. Nothing really different about the computers. Works on about 30 workstations and broken on 2. Will add a edit with the code that crashes. – Jose Quervo Apr 13 '11 at 18:34
  • Could a corrupt DDF file work on some computers and not on others? If the .DDF files were corrupt on the server, wouldn't all workstations be receiving the error messages? – Jose Quervo Apr 13 '11 at 18:43

1 Answers1

1

The error 170 means "Database login required. Authentication to the database failed due to a wrong or missing username." Are you sure the Datapath variable has the proper path in it?

Can you connect to the database through the Pervasive Control Center? Does it require a user/password?

A corrupt DDF on the server would typically affect all users.

mirtheil
  • 8,952
  • 1
  • 30
  • 29
  • Ended up uninstalling pervasive on the client then uninstalling our application and did a fresh install of both pervasive client and our software. Seemed to work. Maybe a corrupt file in clients pervasive??? Weird that it happened on 2 computers at the same time. – Jose Quervo Apr 15 '11 at 14:56