Microsoft Knowledge Base Article
This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved.
Terms
of Use |
Trademarks
Article ID: 265885 - Last Review: February 12, 2007 - Revision: 4.5
FIX: Cannot Get OLE DB Errors on Japanese Windows 95 and Windows 98
This article was previously published under Q265885
When you run an OLE DB or ActiveX Data Objects (ADO) application on Japanese Windows 95 or Japanese Windows 98 with MDAC 2.5 installed, Japanese error messages that are raised by the OLE DB Core Services layer are blank.
When an error in the OLE DB Core Services layer occurs in an application, you may receive only the error number without Japanese error message strings. If the error is from OLE DB Provider itself, you can get Japanese error messages as usual.
This error occurs only on Japanese Windows 95 and Japanese Windows 98, but does not occur on Japanese Windows 98 Second Edition, Microsoft Windows NT 4.0, or Microsoft Windows 2000.
The Win32
FormatMessageA API in Japanese Windows 95 and Japanese Windows 98 does not work correctly with the Unicode message table that is used by OLE DB.
A supported fix is now available from Microsoft, but it is only intended to correct the problem that is described in this article. Apply it only to computers that are experiencing this specific problem. This fix may receive additional testing. Therefore, if you are not severely affected by this problem, Microsoft recommends that you wait for the next Microsoft Data Access Components service pack that contains this hotfix.
To resolve this problem immediately, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information about support costs, visit the following Microsoft Web site:
NOTE: In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The typical support costs will apply to additional support questions and issues that do not qualify for the specific update in question.
The version of this fix should have the following file attributes or later:
Date Version Size File name
-----------------------------------------------------
5/03/00 2.51.5303.0 483,600 bytes Oledb32.dll
5/18/00 2.51.5303.0 57,616 bytes Oledb32a.dll
Installation Procedure
To install the fix, perform the following steps:
- Close or stop any applications or services that are using the Microsoft OLE DB components. These may include Microsoft Personal Web Server (PWS), Microsoft Transaction Server (MTS), Microsoft Data Engine (MSDE), and any Microsoft ActiveX Data Objects (ADO) or OLE DB applications.
- Download the fix into a temporary folder, and then run it to extract the files listed in the table.
- Rename the current version of the Oledb32.dll file. (This file may be located in the Program Files\Common Files\System\Ole db folder.)
- Copy the extracted files to the same location.
- Restart any services you stopped in step 1.
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.
Steps to Reproduce Behavior
The following ADO code is an example of a situation in which this error will occur. It can also be reproduced with a pure OLE DB application, because the error is in OLE DB, not ADO.
Sub BlankErrMsg()
On Error GoTo ErrTrap
Dim conn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim strConnect As String
'Note that it does not matter which OLE DB provider you use
strConnect = "PROVIDER=SQLOLEDB;SERVER=myServer;DATABASE=myDatabase;USER ID=myUser;PASSWORD=myPassword;"
conn.Open strConnect
'Intentionally cause OLE DB errors to occur
Debug.Print "*** Execute Command without setting CommandText ***"
Set cmd.ActiveConnection = conn
cmd.Execute
Debug.Print "*** CommitTrans without BeginTrans ***"
conn.CommitTrans
Debug.Print "*** BeginTrans, BeginTrans ***"
conn.BeginTrans
conn.BeginTrans
Exit Sub
ErrTrap:
Dim e As ADODB.Error
For Each e In conn.Errors
Debug.Print Hex(e.Number) & " " & e.Description
Next
Resume Next
End Sub
The code causes the following to be output in the Immediate window:
*** Execute Command without setting CommandText ***
80040E0C
*** CommitTrans without BeginTrans ***
8004D00E
*** BeginTrans, BeginTrans ***
8004D013
After the hotfix has been applied, you will see the appropriate error messages output following each error code.
APPLIES TO
- Microsoft OLE DB 2.5
- Microsoft Data Access Components 2.5
- Microsoft Windows 98 Standard Edition
- Microsoft Windows 95
| kbbug kbfix kbqfe kbhotfixserver KB265885 |
Community Feedback System
Very often, it takes hours to solve a problem. Very often, you've looked high
and low, and have tried a lot of solutions. When you finally found it, chances
are, it was because someone else helped you. Here's your chance to give back.
Use our community feedback tool to let others know what worked for you and what
didn't.
Please also understand that the community feedback system is not warranted to be
correct, it's simply a system that we've built to let people try and help each
other. If something in a feedback response doesn't make sense to you, or you're
not comfortable making changes that the feedback talks about (like registry
edits), please consult a professional.
Thank you for using kbAlertz.com Feedback System.
-- Scott Cate
Be the first to leave feedback, to help others about this knowledge base
article.
(Optional) Name
(Optional)
Public URL Or Email
Comments
No
HTML -- Text Only Please