PRB: The Driver Parameter for RegisterDatabase Is Limited to 31 Characters (172196)



The information in this article applies to:

  • Microsoft Visual Basic Professional Edition, 16-bit, for Windows 4.0
  • Microsoft Visual Basic Enterprise Edition, 16-bit, for Windows 4.0

This article was previously published under Q172196

SYMPTOMS

With some ODBC drivers, the RegisterDatabase method of the DBEngine object will cause an error in the ODBC Administrator. The error message is:
"The setup routines for the <driver name> could not be found. Please reinstall the driver."

CAUSE

This error will occur if the name of an ODBC driver contains more than 31 characters.

RESOLUTION

The workaround is to open ODBCINST.INI in a text editor (such as Notepad) and modify the names of the offending ODBC drivers to 31 characters or fewer. The names are listed under the section [ODBC Drivers]. Each ODBC driver will also have a section of its own. The names must be modified in both places. Please see below for an example.

The name for the Access driver is 32 characters:

[ODBC Drivers]
Access 2.0 for MS Office (*.mdb)=Installed

[Access 2.0 for MS Office (*.mdb)]
Driver=D:\WINDOWS\SYSTEM\ODBCJT16.DLL
Setup=D:\WINDOWS\SYSTEM\ODBCJT16.DLL

The new name is only 24 characters:

[ODBC Drivers]
Access 2.0 for MS Office=Installed

[Access 2.0 for MS Office]
Driver=D:\WINDOWS\SYSTEM\ODBCJT16.DLL
Setup=D:\WINDOWS\SYSTEM\ODBCJT16.DLL

The Visual Basic code to register an ODBC data source for the above driver is:
   DBEngine.RegisterDatabase "Test", "Access 2.0 for MS Office", False, ""
				

STATUS

Microsoft is researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

Modification Type:MinorLast Reviewed:3/2/2005
Keywords:kbprb KB172196