SQL1159 Initialization error with DB2 .NET Data Provider, reason code 7(问题补充)
SQL1159 Initialization error with DB2 .NET Data Provider, reason code 7
需要注册GAC,修改注册表
IBM官方方案:
http://www-01.ibm.com/support/docview.wss?uid=swg21618434
Technote (troubleshooting)
Problem(Abstract)
This technote contains recommendations and guidance to address problems encountered during installation of the IBM Data Server Driver Package (ds driver) on Microsoft Windows 8 and Windows Server 2012 systems.
Resolving the problem
IBM Data Server Driver
Guidelines for known issues on Windows 8 and Windows Server 2012
This technote provides recommendations and guidance to address the problems encountered during installation of the IBM Data Server Driver Package (also referred to as ‘ds driver’) on Microsoft Windows 8 and Microsoft Windows Server 2012 systems. It is also applicable for the below products:
· IBM Data Server Client
· IBM Data Server Runtime Client
· Any IBM DB2 LUW Server Package
These instructions are for the installation of the Data Server Driver. If installing other client packages, use the appropriate installation path and install copy name for that package.
Installing Data Server Driver on Windows 8 or Windows Server 2012
Step 1)
Ensure the .NET Framework 3.5 is installed on the machine before installing the IBM Data Server Driver package. To install .NET Framework 3.5, the Specify settings for optional component installation and component repair option should be enabled, located under;
Computer Configuration > Administrative Templates > System
For details, refer: http://msdn.microsoft.com/en-us/library/windows/hardware/hh975396.aspx
You can now proceed to Step3.
Step 2)
If .NET Framework 3.5 is not installed in Windows 8 or Windows Server 2012 machine, then during installation of the IBM DB2 ds driver it might show pop-up error messages such as indicated in Figure1. It is recommended that you follow the above instructions to install .NET Framework 3.5 before installing IBM DB2 ds driver. Also, if IBM DB2 ds driver is installed prior to installation of the .NET Framework 3.5, it is recommended to uninstall IBM DB2 ds driver, install the .NET Framework 3.5 and then re-install the IBM DB2 ds driver product.
Figure1: Pop-up installation error prompting for MS .NET FW 3.5
Step 3)
You shall now be able to proceed with the IBM Data Server Driver installation.
1. Following are the additional steps to be performed after installation of the IBM DB2 ds driver on Windows 8/Windows Server 2012. This is especially to ensure proper functioning of the IBM DB2.NET provider on Windows 8/Windows Server 2012.
2. To ensure proper registration of the DB2 .NET assemblies to the GAC (Global Assembly Cache), there is a need to execute the following commands using the Gacutil (Global Assembly Cache Tool) at the command prompt with Administrative privileges. Gacutil is part of the Windows SDK (which can be installed from: http://msdn.microsoft.com/en-us/windows/desktop/hh852363.aspx#Related ) and also comes bundled with Visual Studio. If you have Visual Studio installed, it is recommended to use the Visual Studio Command Prompt for the below commands:
64-bit Windows platform
run the following commands:
gacutil /i “<ds driver installation Path>\bin\netf20\IBM.Data.DB2.dll”
gacutil /i “<ds driver installation Path>\bin\netf20_32\IBM.Data.DB2.dll”
gacutil /i “<ds driver installation Path>\bin\netf40\IBM.Data.DB2.dll”
gacutil /i “<ds driver installation Path>\bin\netf40_32\IBM.Data.DB2.dll”
gacutil /i “<ds driver installation Path>\bin\netf20\IBM.Data.Informix.dll”
gacutil /i “<ds driver installation Path>\bin\netf20_32\IBM.Data.Informix.dll”
gacutil /i “<ds driver installation Path>\bin\netf40\IBM.Data.Informix.dll”
gacutil /i “<ds driver installation Path>\bin\netf40_32\IBM.Data.Informix.dll”
gacutil /i “<ds driver installation Path>\bin\netf20\IBM.Data.DB2.Entity.dll”
gacutil /i “<ds driver installation Path>\bin\netf20_32\IBM.Data.DB2.Entity.dll”
gacutil /i “<ds driver installation Path>\bin\netf40\IBM.Data.DB2.Entity.dll”
gacutil /i “<ds driver installation Path>\bin\netf40_32\IBM.Data.DB2.Entity.dll”
32-bit Windows 8
run the following commands:
gacutil /i “<ds driver installation Path>\bin\netf20\IBM.Data.DB2.dll”
gacutil /i “<ds driver installation Path>\bin\netf40\IBM.Data.DB2.dll”
gacutil /i “<ds driver installation Path>\bin\netf20\IBM.Data.Informix.dll”
gacutil /i “<ds driver installation Path>\bin\netf40\IBM.Data.Informix.dll”
gacutil /i “<ds driver installation Path>\bin\netf20\IBM.Data.DB2.Entity.dll”
gacutil /i “<ds driver installation Path>\bin\netf40\IBM.Data.DB2.Entity.dll”
Place holder <ds driver installation Path> refers to the ds driver installation Path. It should be replaced with the actual path of ds driver installation while executing above commands.
Example for ds driver path:
C:\Program Files\IBM\IBM DATA SERVER DRIVER
3. Additionally the following registry key values need to be verified and added if not already present.
Run 'regedit' command.
Figure 2: Launch ‘regedit’
The string values for <version>.DEF.2 and <version>.DEF.4 in the below mentioned registry paths needs to be verified.
HKEY_LOCAL_MACHINE\SOFTWARE\IBM\DB2\InstalledCopies
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\IBM\DB2\InstalledCopies (this is not applicable for 32-bit Windows 8)
After successful installation of ds driver, above mentioned two paths will have two registry entries each. This includes ‘(Default)’ and ‘defaultClientInterfaceCopy’ and the Data value as the ds driver's copy name. By default ds driver's copy name is expected to be IBMDBCL1. Two more registry entries/keys, <version>.DEF.2 and <version>.DEF.4, should be present in each of the above mentioned two paths. To add registry entries right click in the right portion of the window, select New=>String Value. Eg: in the case of IBM ds driver V10.1 FP1 installation, the entries would need to be 10.1.1.DEF.2 and 10.1.1.DEF.4. Also in the case of v9.7 FP6 the version needs to be 9.7.6.DEF.2 and 9.7.6.DEF.4. Right click on the just created String value and select Modify to enter the same value that was present for defaultClientInterfaceCopy (in this case IBMDBCL1). Refer to Figure3 on the required registry structure and values.
Figure 3: Set registry values for DEF.2 and DEF.4 entry