Professional Documents
Culture Documents
--------
CONTENTS
--------
------------------
1. DATA ACCESS SDK TECHNICAL NOTES
------------------
There are five other readme files associated with the Data Access SDK:
In addition, the release notes for each of the Microsoft Data Access Components can
be found in the following locations:
* ADO and RDS 2.0
<drive>:\Program files\Common files\System\ADO\ADOreadme.txt
* RDS 1.1
<drive>:\Program files\Common files\System\MSADC\Doc11\RDS11readme.txt
* OLE DB Provider for ODBC
<drive>:\Program files\Common files\System\OLE DB\MSDASQLreadme.txt
* SQL ODBC Driver
<drive>:\<windir>\<system>\SQLSRdMe.txt
* SQL OLE DB Provider
<drive>:\Program files\Common files\System\OLE DB\SQLOLEDB.txt
* Oracle ODBC Driver
<drive>:\<windir>\<system>\MsOracle32Readme.txt
* Oracle OLE DB Provider
<drive>:\Program files\Common files\System\OLE DB\MSOrclOLEDBreadme.txt
* Jet OLE DB Provider
<drive>:\Program files\Common files\System\OLE DB\JoltReadme.txt
* Visual FoxPro ODBC Driver
<drive>:\<windir>\<system>\Vfpodbc.txt
* OLE DB Service Components
<drive>:\Program files\Common files\System\OLE DB\Msdasc.txt
1.1 Drivers, MDAC, Internet Explorer Must Be Installed on the System
The Data Access SDK assumes that the SQL Server ODBC Driver and the Microsoft
Desktop Database Driver are already installed in the system. If they are not, an
error will be reported when the SDK tries to create Sample DSN to these drivers.
The Data Access SDK delivered with Visual Studio requires that the Microsoft Data
Access Components be installed prior to installing this SDK.
The Data Access SDK requires that Internet Explorer version 3.01 or later be
installed on the system so that the HTML Help document viewer will work correctly.
To use ITest Spy to spy on an application that uses notifications, you will need to
turn off spying on the IConnectionPointContainer interface. Otherwise you could get
an Access Violation while running the program.
-----------------
2. DATA ACCESS SDK KNOWN BUGS, LIMITATIONS, AND WORKAROUNDS
-----------------
Test Case Wizard does not allow double quotation marks in test descriptions. The
description will be truncated after the first quote.
Test Case Wizard allows the backslash ("\") in a description, but the resulting
code will not compile because the string is not properly escaped.
Test Case Wizard does not check whether a file is read-only when invoked from the
command line. When trying to save a file invoked from the command line that is
write-protected, you will receive the error "Unexpected File error, make sure it
still exists!" It should report that the file is read-only.
The Test Case Wizard does not increment the module version after editing.
If HookOLE is installed, the Test Case Wizard crashes on exit. After HookOLE is
removed, the crash will not occur.
Because of restrictions in the MIDL compiler, the OLE DB proxies can either be
remotable or traceable. The current OLE DB proxies that are installed in the SDK
are traceable, but not remotable. Future OLE DB proxies that are designed to remote
the OLE DB interfaces will not be traceable. The traceable proxies are in a DLL
called Oledbproxy.dll. You must choose one or the other proxy. This means that when
remotable proxies become available, you will not be able to trace an application
using the remotable proxies. A newer application that depends on the newer proxies
could be broken by the installation of this SDK, so a check is made to see if the
remotable proxies are installed. If they are, you are given the choice of not
registering the older Oledbproxy.dll.
You can manually switch between the proxies by using the following commands. In the
examples that follow, it is assumed that you have installed the SDK onto the boot
drive, and that the boot drive is the C drive. To install the traceable proxies,
run the following commands:
To install the remotable proxies and stubs, run the following commands:
regsvr32 /u c:\msdasdk\bin\oledb\oledbproxy.dll
regsvr32 "c:\program files\common files\system\ole db\oledbpr.dll"
If you have more than 20 providers and/or enumerators installed on your system, the
Full Connect option in Interface Test (ITest.exe) may not work. Each connection
attempt may give a connection failed message, and the drop-down list of providers
on the Full Connect window may contain spaces at the top of the list.
You can work around the problem by unregistering any providers you are not using.
If Interface Test (Itest.exe) is run with the Service Components invoked, you will
get an access violation when you call CreateDBInstanceEx.
LTM does work with connection strings that contain DBCS characters.
Using LTM interactively, you can specify a connection string that contains DBCS
characters. The connection can be made and tests can be run against the provider.
However, LTM does not correctly write the DBCS string to the .ini file. Therefore,
the saved .ini file will not contain a valid connection string.
2.1.6 Using ITestSpy with LTM and the ADO Minimal Conformance Tests
* Turn off the Log to Screen option in the Start Application dialog box.
* Enable interface filtering in ITestSpy and filter out IConnectionPoint
interfaces.
2.2 ActiveX Control Writer Toolkit
PROBLEM: You will get link errors because the CtlFW and ADBCtl libraries are built
with Visual C++ 6.0..
PROBLEM: If the INCLUDE path for ACW is placed after the include for Visual C++
6.0, you will get the following compiler error:
afxw_w32.h: fatal error C1189: #error : WINDOWS.H already included.
MFC apps must not #include <windows.h>
The error occurs because Visual C++ has an include file called util.h that contains
MFC includes.
SOLUTION: Place the include directory for ACW before the include directory for
Visual C++.
2.3.1 Some Old OLE DB files Are Installed by Internet Explorer 4.01, Service Pack 1
PROBLEM: Installing Visual Studio 98 requires Internet Explorer 4.01, Service Pack
1
(IE 4.01 SP1) if it is not already on the machine. VisualStudio 98 setup prompts
you to install IE 4.01 SP1.
When running IE 4.01 SP1 installation, the following message is displayed twice:
The options are to "Keep the existing component," "Install the new one," or "Cancel
setup."
This message appears for two OLE DB components, Msdadc.dll and Msdaps.dll.
SOLUTION: Select "Keep the existing components" both times this message appears.
The rest of the setup proceeds normally.
2.3.2 On Windows 95-Based Machines with Active Desktop, Installing MDAC 2.0 over
Internet Explorer 4.01, Service Pack 1 Displays Error
PROBLEM: If you are running Active Desktop on a Windows 95-based machine and you
install Internet Explorer 4.01, Service Pack 1 (IE 4.01 SP1) when prompted by
Visual Studio 98 setup (as explained above), the message below may be displayed
when installing MDAC 2.0 components.
If your Windows 95-based machine does not have IE 4.01 SP1 already installed,
Visual Studio 98 setup asks you to install IE 4.01 SP1. The machine is rebooted
after IE 4.01 SP1 has been installed and rest of the setup proceeds.
If you are running Active Desktop (on a Windows 95-based machine) and you select
"server components" and install MDAC 2.0 components only from Visual Studio 98,
then you may get the following error:
SOLUTION: Cancel the Visual Studio 98 setup and reboot the machine. You can restart
Visual Studio 98 setup now and it will proceed normally.
------------------
3. CONFORMANCE TESTING, VERSION 2.0
------------------
For information on OLE DB leveling and on conformance specific to OLE DB, see
sections 3.1 and 3.2 in the OLE DB release notes, OLreadme.txt.
Previous versions of OLE DB in the Data Access SDK contained unsupported versions
of the OLE DB conformance tests. In the Data Access SDK 2.0, the level 0 tests have
been significantly improved and moved to a new directory:
<Install Directory>\Conformance\Tests\Proposed\OLEDBTests
In addition, a basic set of ADO tests (the Minimal set) has been added, under:
<Install Directory>\Conformance\Tests\Proposed\ADOTests
For more information, see the white paper "Conformance Testing in OLE DB 2.0." This
white paper can be found in the Data Access SDK under:
Microsoft Data Access SDK
Microsoft Data Access Technical Articles
The conformance tests shipped with the Data Access SDK 2.0 are run using LTM (Local
Test Manager).
LTM has been improved and simplified for the DA SDK 2.0. There is now only one
executable file (LTM.exe) instead of two (LTM.exe and TD.exe). With fewer files,
it's easier to install, set up, and debug tests.
For more information on using the new LTM to run the conformance tests, see the
white paper "Conformance Testing in OLE DB 2.0."
NOTE: The Help file for LTM has not been completely updated to match 2.0
functionality. In particular:
* The screen shots and sample output are not current.
* Test Result Icons, described in the Test Selection Window section of the Help
file, are now check marks instead of thumbs. Red still indicates failure, green
still indicates success, and yellow has been added to indicate a warning.
* The Multithreaded Execution option described in the Run section of the Help file
is not available.
* The Options dialog box (on the Tools menu, click Options, then click the Results
tab) has been simplified. There are only three options:
-- Results file. (If selected, specify file name and location.)
-- Pass Fail file. (If selected, specify file name and location.)
-- File Append Mode.
* There is a new option on the Tests menu for registering test modules within LTM.
You can now click Register or Unregister on the Tests menu. It is therefore not
necessary to use regserver to register each test module.
* A more complete set of Test Module template files has been added to the 2.0 SDK.
These template files can be used as a framework when creating new tests to be run
in LTM. You can find template.dsp, template.h, template.cpp, and template.rc (along
with the other unsupported OLEDB tests) in
<Install Directory>\Conformance\Tests\Unsupported\OLEDBTests
3.3.2 These keywords are based on OLE DB property names, not ODBC names. The
keywords are derived from the "root" of OLE DB property names. For example,
DBPROP_INIT_USERID becomes USERID. This was done to give the keyword names a
consistent pattern. (In contrast, ODBC connection strings contain UID instead of
USERID.)
3.4 Usage of Default Query with TableDump for Pproviders that Support Commands
Commands are not level 0 functionality. Therefore, when testing providers using the
CONFLEVEL=CONF_LEVEL_0 | CONF_STRICT options, command interfaces will not be
called.
The white paper "Conformance Testing in OLE DB 2.0," section 4, "Building and
running the ADO minimal tests," states that "It is not possible at this time to
debug the ADO tests in the Visual Basic environment."
With the newest version of LTM (included in the Data Access SDK 2.0), this problem
has been addressed. It now is possible to debug the ADO tests in the Visual Basic
environment.
In the white paper "Conformance Testing in OLE DB 2.0," section 4, there is a link
to a document that outlines ADO�s usage of OLE DB interfaces.
ADO works best with providers that support the OLE ErrorInfo object. Currently, ADO
does not call ISupportErrorInfo before calling the method ::GetErroInfo(). ADO will
call ISupportErrorInfo in a future release.
The Data Access SDK contains the most recent Oledb.h file. This file must be
located first in the INCLUDE path, before any older versions.
3.10 OLE DB Sample, Rowset Viewer, and the New OLE DB Property, DATASOURCE