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

Hard Code Native Error number in VB 6 program?

Using VB 6, sp6,
On sql server 2000 (sp4)

When I try to establish a connection to the database
from a VB 6 program using ADO, I get a similar message
if the UserID does not exist or if the UserID does exist
but does not have the permission to the database.

The NativeError number is different,

NativeError - 18456 The UserID does not exist
NativeError - 4060  The UserID exists, but does not have permission
                    to the database.

Can I hard code the NativeError number in my VB 6
program to determine exactly what happened,
(the UserID did not exist or the UserID does exist but
does not have the proper permission.)

I worry that the code number might change in a future
version of sql server.  

I hate to do this but there is no other way to determine
exactly what happened.

Thanks in Advance,

Laurencel



 
0
misdevelopers
Asked:
misdevelopers
1 Solution
 
Anthony PerkinsCommented:
Since these are SQL Server errors and not ADO error numbers, they will remain the same for backward compatibility, at least in 2000 and 2005 :)

This is the current description in SQL Server 2000:
4060: Cannot open database requested in login '%.*ls'. Login fails.
18456: Login failed for user '%ls'.

And this in SQL Server 2005
4060:  Cannot open database "%.*ls" requested by the login. The login failed.
18456:  Login failed for user '%.*ls'.%.*ls

0

Featured Post

Transaction-level recovery for Oracle database

Veeam Explore for Oracle delivers low RTOs and RPOs with agentless transaction log backup and transaction-level recovery of Oracle databases. You can restore the database to a precise point in time, even to a specific transaction.

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