• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 938
  • Last Modified:

Btrieve Error 94 trying to use ODBC DSN connecting to BusinessVision Database

We have a setup consisting of a networked multi-user BusinessVision installation.  BusinessVision is installed on our domain controller (Windows Server 2003 R2) in a network share that users have mapped to as their J: drive.  A computer in the shipping department has been set up with UPS Worldship and connected to the database to pull information that is mapped from the database to fields in UPS Worldship.  A system DSN was set up using the Pervasive ODBC Engine Interface version 10.30.17.00 that was working fine.  Due to organizational changes, file permissions were changed for the share that was mapped to for the BusinessVision database.  All users, including this user in shipping, can still use BusinessVision without problems after the change, but the DSN that was connected for UPS now will not communicate with the database.  

If I open ODBC Administrator on the shipping computer (Windows 7 Pro, 32 bit) and bring up the UPS system DSN and hit the test button, I get the error "the application encountered a permission error (btrieve error 94)".  Screen shot is attached.

Error Message
We tried returning the file permissions to the previous settings and it did not resolve the issue.  The permissions change was to remove Domain Users from the share and assign permissions to a new user group consisting only of those that we wanted to have access to the BusinessVision database.  The allowed users do have full control permissions on both the share and file/directory level.
0
bNetworked
Asked:
bNetworked
  • 3
  • 2
1 Solution
 
Bill BachPresidentCommented:
The UPS Worldship application is accessing the BusinessVision/PSQL database via ODBC.  The SERVER needs to have an ODBC Engine DSN created, because this is where the engine itself resides.  You can verify this by going to the server computer, opening the ODBC Administrator, and verifying that the ODBC Engine DSN is there and working properly.  If you have another ODBC tool, then you can test this connection and retrieve data.  Examples of other ODBC tools include MSOffice, SQLExec, ODBCTest, and many more.

On the CLIENT computer, you have Worldship, which is a 32-bit application.  You should have the 32-bit PSQL v10 Client installed there.  Now, the DSN that you must use on this machine is a PSQL Client DSN (otherwise called Pervasive ODBC Client Interface) not an Engine DSN.  When you configure this DSN, you will give it the name of the server, click "Get DSN's", and select the Engine DSN from the server that you wish to connect to.

In essence, the connection trail is:  WorldShip -> ODBC Driver Manager -> ODBC Client Interface -> across the Network -> ODBC Engine Interface -> Named Database -> Database itself.

Usually, the Status 94 results from selecting an ENGINE DSN on the Client computer.  When this happens, you are asking the ENGINE on the Workstation to access the data on the server.  However, the engine is likely running as LOCAL SYSTEM account, and it will not have access to the database files on the server.
0
 
bNetworkedSolutionistaAuthor Commented:
That makes so much sense to me - thank you for the detailed explanation.  I'm a network/server guy and databases has never been my strong point.  I'm also not the guy who originally set it up, he's not around anymore and the support crew at UPS really couldn't help because it was outside the scope of their product.  I will test this out when I'm back at that site in a couple of days.

Thank you very much.  I will report back when I verify the fix, but I'll be surprised if this *doesn't* fix the problem.

Regards,

Brian
0
 
Bill BachPresidentCommented:
One other thing -- I didn't ask, but just assumed that the PSQL Engine installed was the Workgroup Engine.  You should be able to validate this by going to Add/Remove Programs on the server and look to see if it says "Workgroup" or "Server".  Or, check running processes for either W3DBSMGR (Workgroup) or NTDBSMGR (Server).  The Server Engine DOES validate Btrieve connections by username, so the local username (logged into the shipping machine) must have proper access rights to the database folder, too.  

I am betting that you have the Workgroup Engine though...
0
 
bNetworkedSolutionistaAuthor Commented:
The PSQL engine that we've got is whatever the 2013 network version of Business Vision installs. It is most likely the workgroup engine, but I will verify. Thanks.
0
 
bNetworkedSolutionistaAuthor Commented:
Now we have another problem with database mappings in Worldship, but we can see the tables now.  We're going to engage our support contacts at Sage to see if we can get that sorted.  Thank you for the comprehensive information getting the DSN set up!
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now