README in ibm_db-0.7.5 vs README in ibm_db-0.8.0
- old
+ new
@@ -1,346 +1,367 @@
-=====================================================================
-README for the IBM_DB Adapter 0.7.5 and Driver 0.6.0 (2007/04/30)
-For ActiveRecord Version 1.15.3 (and Rails 1.2.3)
-=====================================================================
-
-Change Log
-==============
-2007/06/19 (IBM_DB adapter 0.7.5, driver 0.6.0):
- - Driver code (ibm_db.c) remains at the same level: 0.6.0 (no changes)
- - Fixed client attributes initialization on connection setup [11264]
- - Fixed rake db:schema:dump native data types limits incompatible with table create
-
-2007/06/01 (IBM_DB adapter 0.7.0, driver 0.6.0):
- - Driver code (ibm_db.c) remains at the same level: 0.6.0 (no changes)
- - Fixed remaining failure on {:null => true} option for XML data type [#10877]
- - Fixed handling of {:id => false} option during table creation in DB2 for zOS
- - Fixed handle_lobs failures in table creation for has_many/belongs_to [#10701]
- - Fixe db2-i5-zOS.yaml content (removed inadvertent tab) [#11234]
-
-2007/05/10 (IBM_DB adapter 0.6.5, driver 0.6.0):
- - Driver code (ibm_db.c) remains at the same level: 0.6.0 (no changes)
- - Fixed regression for reconnect after being inactive (connection recycle)
- - Fixed rake db:schema:load failures on boolean data type [#10683]
- - Fixed XML default option (:null => true for XML data type) [#10754]
- - Fixed DB2 for zOS version 9 handling of column changes for DEFAULT NULL
-
-2007/04/30 (0.6.0):
- - Support for remote connections to DB2 Universal Database on z/OS version 9
- - Support for result set pagination via ActiveRecord add_limit_offset! method
- for DB2 Universal Database on z/OS and i5/OS
- - Defect fixes
- - Improved documentation
-
-2007/04/20 (0.4.6):
- - Fixed XML columns creation default value (NOT NULL)
- - Fixed border case for IS NULL in where clauses
- - Improved documentation (connection attributes)
-
-2007/04/20 (0.4.5):
- - Fixed reconnect problems: driver (IBM_DB::active) and adapter (active)
- - Client connection attribute rename (app_user to replace user)
- - Improved support for ROWID data type (DB2 for zOS version 8 and 9)
-
-2007/03/21 (0.4.0):
- - Support added for remote connectivity to DB2 zOS version 8
- - Support added for remote connectivity to DB2 i5 v5r3 and v5r4
- - Improved migration support (added change_column method)
- - Support for setting and retrieving values for client attributes (user,
- account, application, workstation)
-
-2006/10/31 (0.2.0):
- - Significant performance improvements
- - Improved stored procedure support at driver level
- - Added support for Large Object data types (LOBs) greater than 32K (BLOB, CLOB, XML) in size
- - Added XML data type support for native storage of XML documents
- - Significant quality improvements, through many bug fixes in the driver and adapter
- - Improved migration support (added add_column and remove_column methods)
-
-2006/06/07 (0.1.0):
-
- - Fixed compatibility issue with other adapters
- - If a schema is omitted in database.yml, the username is now used as default schema
- - Introduced descriptive CLI error messages when a connection or an execute statement fails
- - Introduced check against schema in method 'indexes'
-
-Supported Operating Systems
-============================
- - Linux 32/64 bit
- - Microsoft Windows 32 bit
- - IBM AIX 32/64 bit
- - HP-UX 32/64 bit
- - Sun Solaris 32/64 bit
-
-
-Supported Databases
-====================
- - IBM DB2 Universal Database on Linux/Unix/Windows versions 8 and 9
- - Remote connections to IBM DB2 Universal Database on i5/OS versions V5R3 and V5R4.
- Please ensure PTF SI27358 (includes SI27250) is installed in i5/OS version 5R3 and
- and PTF SI27256 is installed while using i5/OS version 5R4.
- - Remote connections to IBM DB2 Universal Database on z/OS version 8 and 9
-
-
-There are two alternatives for installing the IBM_DB adapter and driver:
- A. Installing as a Ruby gem in the Ruby runtime
- B. Installing as a Rails plugin in a specific Rails application runtime
-Note: The IBM_DB driver can also be built separately (from source) and used in direct API calls.
-
-A. Installing the IBM_DB adapter and driver as a Ruby gem
-=======================================================
-The IBM_DB gem is an ActiveRecord adapter and requires the abstract adapter to register it
-in the list of RAILS_CONNECTION_ADAPTERS (active_record.rb) before it can be utilized in
-the Rails framework. Once registered, the IBM_DB adapter and its dependencies (ibm_db Ruby
-driver and the IBM Driver for ODBC and CLI) are loaded. This enables any application in the
-Ruby environment, including Rails, to interact with IBM data servers.
-
-1. Windows platforms:
-=====================
- INSTALL (as Ruby gem)
- To remove previous gem version (optionally):
- D:\>gem uninstall ibm_db
- Successfully uninstalled ibm_db version 0.6.0
-
- Example:
- D:\>gem install ibm_db
- Bulk updating gem source index for: http://gems.rubyforge.org
- Select which gem to install for your platform (i386-mswin32)
- 1. ibm_db 0.6.5 (mswin32)
- 2. ibm_db 0.6.5 (ruby)
- 3. ibm_db 0.6.0 (mswin32)
- 4. ibm_db 0.6.0 (ruby)
-
- Running “gem install ibm_db” you are presented with two choices for each release
- (mswin32 or ruby). Choose “mswin32” and the native extension (“ibm_db” driver)
- binary file for Windows is installed.
-
- TEST (simple gem install verification)
- Note: IBM_DB gem requires a manual step after install:
- add “ibm_db” into gems\1.8\gems\activerecord-1.15.3\lib\active_record.rb (Line 77)
- D:\NewApp>dir vendor\plugins
- D:\NewApp>irb
- irb(main):001:0> gem 'ibm_db'
- irb(main):002:0> require 'mswin32/ibm_db' // notice the [mswin32] in the library path
- irb(main):003:0> IBM_DB::connect 'sample', 'db2admin', 'secret'
- D:\NewApp>ruby script\console
-
- BUILD (optionally) “ibm_db” gem from sources (ibm_db-x.x.x.tar.gz):
- 1. Download source from Rubyforge
- http://rubyforge.org/frs/?group_id=2361
- 2. Build gem from specification (IBM_DB.gemspec)
- D:\IBM_DB_Adapter\ibm_db>gem build IBM_DB.gemspec
-
-
-2. Linux and Unix platforms:
-============================
-
- INSTALL (as Ruby gem)
- To remove previous gem version (optionally):
- $ gem uninstall ibm_db
- Successfully uninstalled ibm_db version 0.6.0
-
- Note: DB2 environment is required while using an arbitrary user account
- (other than the DB2 install user account)
- $ . /home/db2inst1/sqllib/db2profile
- $ export IBM_DB_DIR=/opt/ibm/db2/V9.1
- $ export IBM_DB_LIB=/opt/ibm/db2/V9.1/lib32
- $ gem install ibm_db
- Select which gem to install for your platform (i686-linux)
- 1. ibm_db 0.6.5 (mswin32)
- 2. ibm_db 0.6.5 (ruby)
- 3. ibm_db 0.6.0 (ruby)
- 4. ibm_db 0.6.0 (mswin32)
- ...
- Running “gem install ibm_db” you are presented with two choices for each release
- (mswin32 or ruby). Choose “ruby” and the native extension (“ibm_db” driver) is built.
- ...
- > 2
- Building native extensions. This could take a while...
- Successfully installed ibm_db-0.6.5
- Installing ri documentation for ibm_db-0.6.5...
- Installing RDoc documentation for ibm_db-0.6.5...
-
- TEST (simple gem install verification)
- Note: IBM_DB gem requires a manual step after install:
- add “ibm_db” into /gems/activerecord-1.15.3/lib/active_record.rb (Line 77)
- $ ls -al vendor/plugins/
- $ irb
- irb(main):001:0> gem 'ibm_db'
- irb(main):002:0> require 'ibm_db' // notice the library path (different on win32)
- irb(main):003:0> IBM_DB::connect 'sample', 'db2admin', 'secret'
- $ ./script/console
-
- BUILD (optionally) “ibm_db” gem from sources (ibm_db-x.x.x.tar.gz):
- 1. Download source from Rubyforge
- http://rubyforge.org/frs/?group_id=2361
- 2. Build gem from specification (IBM_DB.gemspec)
- $ cd IBM_DB_Adapter/ibm_db
- $ gem build IBM_DB.gemspec
-
-
-B. Installing the IBM_DB adapter and driver as a Rails plugin
-=============================================================
-IBM_DB adapter and driver install as plugin provides support for IBM data servers
-within the scope of a specific and individual Rails application. Rails plugins do
-not offer the version management specific to Ruby gems, but does provide an
-initialization mechanism which allows the IBM_DB plugin to self-insert into the
-ActiveRecord's list of supported adapters: RAILS_CONNECTION_ADAPTERS. Therefore,
-after installing IBM_DB as plugin in your Rails application, no manual step is required
-for the Rails framework to load it.
-
-1. Windows platforms
-=====================
- Register Repository and Query:
-
- A. Download and install Subversion (SVN) client from:
- http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
- Register rubyibm project as plugin source
- D:\NewApp>ruby script\plugin source svn://rubyforge.org/var/svn/rubyibm/trunk/IBM_DB_Adapter/
-
- B. Accessing RubyForge repository through HTTP (no SVN client required) is NOT YET ENABLED
- D:\NewApp>ruby script\plugin source http://rubyibm.rubyforge.org/IBM_DB_Adapter/
-
- LIST plugin
- D:\NewApp>ruby script\plugin list
-
- INSTALL (as Rails plugin)
- D:\NewApp>ruby script\plugin install ibm_db
-
- TEST (simple plugin install verification)
- Note: Make sure there's no ibm_db in gems\1.8\gems\activerecord-1.15.3\lib\active_record.rb (Line 77)
- D:\NewApp>ruby script\console
-
-2. Linux and Unix platforms
-===========================
- Register Repository and Query:
-
- A. Ensure Subversion (SVN) client is installed or download from:
- http://subversion.tigris.org/project_packages.html
- Register rubyibm project as plugin source
- $ ./script/plugin source svn://rubyforge.org/var/svn/rubyibm/trunk/IBM_DB_Adapter/
-
- B. Accessing RubyForge repository through HTTP (no SVN client required) is NOT YET ENABLED
- $ ./script/plugin source http://rubyibm.rubyforge.org/IBM_DB_Adapter/
-
- LIST plugin
- $ ./script/plugin list
-
- INSTALL (as Rails plugin)
- $ ./script/plugin install ibm_db
-
- TEST (simple plugin install verification)
- Note: Make sure there's no ibm_db in /gems/activerecord-1.15.3/lib/active_record.rb (Line 77)
- $ ./script/console
-
-
-Instructions for building and installing the IBM_DB driver from source
-=======================================================================
-Building the driver manually as described below is not required if any the install
-alternatives above have been pursued. This manual procedure is in fact automated
-on Linux and UNIX platforms by the IBM_DB gem and plugin install, but is presented
-here only for reference, and also involves running the unit tests.
-
- Prerequisites:
- Install Ruby from:
- http://rubyforge.org
-
- Linux and Unix platforms:
- Note: commands may vary depending on the shell used
- - To setup DB2 environment while using an arbitrary user account
- (other than the DB2 install user account):
- Example:
- $ . /home/db2inst1/sqllib/db2profile
-
- - To configure test database:
- DB2 v9.x: some IBM_DB driver tests require a UTF-8 database:
- $ db2 CREATE DATABASE testdrv USING CODESET UTF-8 \
- TERRITORY US COLLATE USING SYSTEM PAGESIZE 32768
- DB2 v8.x: driver tests 195 and 52949 requires XML functionality
- only available in DB2 v9.x
-
- - To configure database connection parameters edit config.yaml
- Example:
- database: testdrv
- user: db2inst1
- password: password
- hostname: localhost
- port: 50000
-
- - To compile and link with DB2 client libraries:
- $ export IBM_DB_DIR=/opt/ibm/db2/V9.1
- $ export IBM_DB_LIB=/opt/ibm/db2/V9.1/lib32
-
- Windows platforms:
- - Install Visual C++ 2003, Platform SDK (latest), .Net SDK Version 1.1 from:
- http://wiki.tcl.tk/11431
- - Set environment:
- CALL "C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\SetEnv.Cmd"
- CALL "C:\Program Files\Microsoft Visual C++ Toolkit 2003\vcvars32.bat"
- SET LIB=%LIB%;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib
- - To configure database connection parameters edit config.yaml
-
- Build and Execution:
- rake
-
- Execution of tests without compilation (must have .so in ibm_db source directory):
- rake onlytests
-
- Execution of a single test inside the tests directory can be done by the following:
- export SINGLE_RUBY_TEST=test_001.rb
- rake
-
-
-Limitations and known problems
-==============================
- - ActiveRecord rename_column method is not supported for DB2 LUW, zOS and i5
- - ActiveRecord remove_column method is not supported for DB2 zOS
- - The following tests from the ActiveRecord 1.15.3 test suite are expected to fail
- - test_limited_eager_with_multiple_order_columns
- - test_limited_eager_with_order
- - test_assign_ids_ignoring_blanks
- - test_build_by_new_record
- - test_get_ids
- - test_select_limited_ids_list
- - test_add_index
- - The following tests from the driver test suite are expected to fail on DB2 version 8
- on Linux/Unix/Windows because of missing native XML support. If you want to
- make use of the native XML features in DB2, please upgrade to version 9
- - test_195.rb
- - test_52949.rb
- - The driver returns an error when you try to insert a TIMESTAMP value into a DATE column.
- To fix this, please ensure that the following configuration keyword PATCH2=58 is set
- in the COMMON section of your DB2 CLI initialization file (db2cli.ini):
- - set: db2 UPDATE CLI CFG FOR SECTION COMMON USING PATCH2 58
- - verify: db2 GET CLI CFG FOR SECTION COMMON
- Please refer to http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.apdv.cli.doc/doc/c0007882.htm
- for more information.
- - The behaviour of ActiveRecord::Base.find(:first) without an :order attribute can be unpredictable.
- The first record (i.e. the record with the minimum id) may be not be retrieved. In a relational model,
- the order of the rows returned is unpredictable and independent of the order of insertion.
- This issue may be addressed in a future release.
- - Rails applications on DB2 9 require the APPLHEAPSZ database configuration parameter to be
- set to or above 1024. You will need to set this parameter for each database for which you will be
- running DB2 on Rails applications. Following is the command syntax for updating the
- applheapsz parameter:
- > db2 update db cfg for <database_name> using APPLHEAPSZ 1024
- To enable this parameter, you need to restart your DB2 instance.
- - IBM_DB is not supported on JRuby. As stated in the JRuby Wiki, "Basics of Getting JRuby Running":
- 'You may install other gems, but keep in mind that libraries with C extension dependencies
- will not work in JRuby.' http://www.headius.com/jrubywiki/index.php/Getting_Started
- The IBM_DB adapter relies on IBM_DB driver (C extension) and the IBM Driver for ODBC and
- CLI to access databases on IBM data servers. Alternatively, you can either use the regular C
- implementation of Ruby, or use ActiveRecord-JDBC adapter to access databases.
-
-To Do
-====
- - Support Informix Dynamic Server 11.10
- - Support ActiveRecord remove_column method for DB2 zOS version 9
-
-
-Feedback
-========
- Your feedback is very much appreciated and expected through Rubyforge:
- - rubyibm project: http://rubyforge.org/projects/rubyibm/
- - rubyibm forum: http://rubyforge.org/forum/?group_id=2361
- - rubyibm bug reports: http://rubyforge.org/tracker/?group_id=2361
- - IBM_DB developers: rubyibm-developers@rubyforge.org
\ No newline at end of file
+=====================================================================
+README for the IBM_DB Adapter 0.8.0 and Driver 0.7.0 (2007/07/11)
+For ActiveRecord Version 1.15.3 (and Rails 1.2.3)
+=====================================================================
+
+Change Log
+==============
+2007/07/11 (IBM_DB adapter 0.8.0, driver 0.7.0):
+ - Support for Informix Dynamic Server 11.10 and beyond
+ - New driver method get_last_serial_value to retrieve last inserted serial
+ value for Informix Dynamic Server
+
+2007/06/19 (IBM_DB adapter 0.7.5, driver 0.6.0):
+ - Driver code (ibm_db.c) remains at the same level: 0.6.0 (no changes)
+ - Fixed client attributes initialization on connection setup [11264]
+ - Fixed rake db:schema:dump native data types limits incompatible with table create
+
+2007/06/01 (IBM_DB adapter 0.7.0, driver 0.6.0):
+ - Driver code (ibm_db.c) remains at the same level: 0.6.0 (no changes)
+ - Fixed remaining failure on {:null => true} option for XML data type [#10877]
+ - Fixed handling of {:id => false} option during table creation in DB2 for zOS
+ - Fixed handle_lobs failures in table creation for has_many/belongs_to [#10701]
+ - Fixe db2-i5-zOS.yaml content (removed inadvertent tab) [#11234]
+
+2007/05/10 (IBM_DB adapter 0.6.5, driver 0.6.0):
+ - Driver code (ibm_db.c) remains at the same level: 0.6.0 (no changes)
+ - Fixed regression for reconnect after being inactive (connection recycle)
+ - Fixed rake db:schema:load failures on boolean data type [#10683]
+ - Fixed XML default option (:null => true for XML data type) [#10754]
+ - Fixed DB2 for zOS version 9 handling of column changes for DEFAULT NULL
+
+2007/04/30 (0.6.0):
+ - Support for remote connections to DB2 Universal Database on z/OS version 9
+ - Support for result set pagination via ActiveRecord add_limit_offset! method
+ for DB2 Universal Database on z/OS and i5/OS
+ - Defect fixes
+ - Improved documentation
+
+2007/04/20 (0.4.6):
+ - Fixed XML columns creation default value (NOT NULL)
+ - Fixed border case for IS NULL in where clauses
+ - Improved documentation (connection attributes)
+
+2007/04/20 (0.4.5):
+ - Fixed reconnect problems: driver (IBM_DB::active) and adapter (active)
+ - Client connection attribute rename (app_user to replace user)
+ - Improved support for ROWID data type (DB2 for zOS version 8 and 9)
+
+2007/03/21 (0.4.0):
+ - Support added for remote connectivity to DB2 zOS version 8
+ - Support added for remote connectivity to DB2 i5 v5r3 and v5r4
+ - Improved migration support (added change_column method)
+ - Support for setting and retrieving values for client attributes (user,
+ account, application, workstation)
+
+2006/10/31 (0.2.0):
+ - Significant performance improvements
+ - Improved stored procedure support at driver level
+ - Added support for Large Object data types (LOBs) greater than 32K (BLOB, CLOB, XML) in size
+ - Added XML data type support for native storage of XML documents
+ - Significant quality improvements, through many bug fixes in the driver and adapter
+ - Improved migration support (added add_column and remove_column methods)
+
+2006/06/07 (0.1.0):
+
+ - Fixed compatibility issue with other adapters
+ - If a schema is omitted in database.yml, the username is now used as default schema
+ - Introduced descriptive CLI error messages when a connection or an execute statement fails
+ - Introduced check against schema in method 'indexes'
+
+Supported Operating Systems
+============================
+ - Linux 32/64 bit
+ - Microsoft Windows 32 bit
+ - IBM AIX 32/64 bit
+ - HP-UX 32/64 bit
+ - Sun Solaris 32/64 bit
+
+
+Supported Databases
+====================
+ - IBM DB2 Universal Database on Linux/Unix/Windows versions 8 and 9
+ - Remote connections to IBM DB2 Universal Database on i5/OS versions V5R3 and V5R4.
+ Please ensure PTF SI27358 (includes SI27250) is installed in i5/OS version 5R3 and
+ and PTF SI27256 is installed while using i5/OS version 5R4.
+ - Remote connections to IBM DB2 Universal Database on z/OS version 8 and 9
+ - Informix Dynamic Server 11.10 and beyond.
+ Please ensure that the IBM DataServer Viper 2 client is installed.
+
+
+There are two alternatives for installing the IBM_DB adapter and driver:
+ A. Installing as a Ruby gem in the Ruby runtime
+ B. Installing as a Rails plugin in a specific Rails application runtime
+Note: The IBM_DB driver can also be built separately (from source) and used in direct API calls.
+
+A. Installing the IBM_DB adapter and driver as a Ruby gem
+=======================================================
+The IBM_DB gem is an ActiveRecord adapter and requires the abstract adapter to register it
+in the list of RAILS_CONNECTION_ADAPTERS (active_record.rb) before it can be utilized in
+the Rails framework. Once registered, the IBM_DB adapter and its dependencies (ibm_db Ruby
+driver and the IBM Driver for ODBC and CLI) are loaded. This enables any application in the
+Ruby environment, including Rails, to interact with IBM data servers.
+
+1. Windows platforms:
+=====================
+ INSTALL (as Ruby gem)
+ To remove previous gem version (optionally):
+ D:\>gem uninstall ibm_db
+ Successfully uninstalled ibm_db version 0.6.0
+
+ Example:
+ D:\>gem install ibm_db
+ Bulk updating gem source index for: http://gems.rubyforge.org
+ Select which gem to install for your platform (i386-mswin32)
+ 1. ibm_db 0.6.5 (mswin32)
+ 2. ibm_db 0.6.5 (ruby)
+ 3. ibm_db 0.6.0 (mswin32)
+ 4. ibm_db 0.6.0 (ruby)
+
+ Running gem install ibm_db you are presented with two choices for each release
+ (mswin32 or ruby). Choose mswin32 and the native extension (ibm_db driver)
+ binary file for Windows is installed.
+
+ TEST (simple gem install verification)
+ Note: IBM_DB gem requires a manual step after install:
+ add ibm_db into gems\1.8\gems\activerecord-1.15.3\lib\active_record.rb (Line 77)
+ D:\NewApp>dir vendor\plugins
+ D:\NewApp>irb
+ irb(main):001:0> gem 'ibm_db'
+ irb(main):002:0> require 'mswin32/ibm_db' // notice the [mswin32] in the library path
+ irb(main):003:0> IBM_DB::connect 'sample', 'db2admin', 'secret'
+ D:\NewApp>ruby script\console
+
+ BUILD (optionally) ibm_db gem from sources (ibm_db-x.x.x.tar.gz):
+ 1. Download source from Rubyforge
+ http://rubyforge.org/frs/?group_id=2361
+ 2. Build gem from specification (IBM_DB.gemspec)
+ D:\IBM_DB_Adapter\ibm_db>gem build IBM_DB.gemspec
+
+
+2. Linux and Unix platforms:
+============================
+
+ INSTALL (as Ruby gem)
+ To remove previous gem version (optionally):
+ $ gem uninstall ibm_db
+ Successfully uninstalled ibm_db version 0.6.0
+
+ Note: DB2 environment is required while using an arbitrary user account
+ (other than the DB2 install user account)
+ $ . /home/db2inst1/sqllib/db2profile
+ $ export IBM_DB_DIR=/opt/ibm/db2/V9.1
+ $ export IBM_DB_LIB=/opt/ibm/db2/V9.1/lib32
+ $ gem install ibm_db
+ Select which gem to install for your platform (i686-linux)
+ 1. ibm_db 0.6.5 (mswin32)
+ 2. ibm_db 0.6.5 (ruby)
+ 3. ibm_db 0.6.0 (ruby)
+ 4. ibm_db 0.6.0 (mswin32)
+ ...
+ Running gem install ibm_db you are presented with two choices for each release
+ (mswin32 or ruby). Choose ruby and the native extension (ibm_db driver) is built.
+ ...
+ > 2
+ Building native extensions. This could take a while...
+ Successfully installed ibm_db-0.6.5
+ Installing ri documentation for ibm_db-0.6.5...
+ Installing RDoc documentation for ibm_db-0.6.5...
+
+ TEST (simple gem install verification)
+ Note: IBM_DB gem requires a manual step after install:
+ add ibm_db into /gems/activerecord-1.15.3/lib/active_record.rb (Line 77)
+ $ ls -al vendor/plugins/
+ $ irb
+ irb(main):001:0> gem 'ibm_db'
+ irb(main):002:0> require 'ibm_db' // notice the library path (different on win32)
+ irb(main):003:0> IBM_DB::connect 'sample', 'db2admin', 'secret'
+ $ ./script/console
+
+ BUILD (optionally) ibm_db gem from sources (ibm_db-x.x.x.tar.gz):
+ 1. Download source from Rubyforge
+ http://rubyforge.org/frs/?group_id=2361
+ 2. Build gem from specification (IBM_DB.gemspec)
+ $ cd IBM_DB_Adapter/ibm_db
+ $ gem build IBM_DB.gemspec
+
+
+B. Installing the IBM_DB adapter and driver as a Rails plugin
+=============================================================
+IBM_DB adapter and driver install as plugin provides support for IBM data servers
+within the scope of a specific and individual Rails application. Rails plugins do
+not offer the version management specific to Ruby gems, but does provide an
+initialization mechanism which allows the IBM_DB plugin to self-insert into the
+ActiveRecord's list of supported adapters: RAILS_CONNECTION_ADAPTERS. Therefore,
+after installing IBM_DB as plugin in your Rails application, no manual step is required
+for the Rails framework to load it.
+
+1. Windows platforms
+=====================
+ Register Repository and Query:
+
+ A. Download and install Subversion (SVN) client from:
+ http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
+ Register rubyibm project as plugin source
+ D:\NewApp>ruby script\plugin source svn://rubyforge.org/var/svn/rubyibm/trunk/IBM_DB_Adapter/
+
+ B. Accessing RubyForge repository through HTTP (no SVN client required) is NOT YET ENABLED
+ D:\NewApp>ruby script\plugin source http://rubyibm.rubyforge.org/IBM_DB_Adapter/
+
+ LIST plugin
+ D:\NewApp>ruby script\plugin list
+
+ INSTALL (as Rails plugin)
+ D:\NewApp>ruby script\plugin install ibm_db
+
+ TEST (simple plugin install verification)
+ Note: Make sure there's no ibm_db in gems\1.8\gems\activerecord-1.15.3\lib\active_record.rb (Line 77)
+ D:\NewApp>ruby script\console
+
+2. Linux and Unix platforms
+===========================
+ Register Repository and Query:
+
+ A. Ensure Subversion (SVN) client is installed or download from:
+ http://subversion.tigris.org/project_packages.html
+ Register rubyibm project as plugin source
+ $ ./script/plugin source svn://rubyforge.org/var/svn/rubyibm/trunk/IBM_DB_Adapter/
+
+ B. Accessing RubyForge repository through HTTP (no SVN client required) is NOT YET ENABLED
+ $ ./script/plugin source http://rubyibm.rubyforge.org/IBM_DB_Adapter/
+
+ LIST plugin
+ $ ./script/plugin list
+
+ INSTALL (as Rails plugin)
+ $ ./script/plugin install ibm_db
+
+ TEST (simple plugin install verification)
+ Note: Make sure there's no ibm_db in /gems/activerecord-1.15.3/lib/active_record.rb (Line 77)
+ $ ./script/console
+
+
+Instructions for building and installing the IBM_DB driver from source
+=======================================================================
+Building the driver manually as described below is not required if any the install
+alternatives above have been pursued. This manual procedure is in fact automated
+on Linux and UNIX platforms by the IBM_DB gem and plugin install, but is presented
+here only for reference, and also involves running the unit tests.
+
+ Prerequisites:
+ Install Ruby from:
+ http://rubyforge.org
+
+ Linux and Unix platforms:
+ Note: commands may vary depending on the shell used
+ - To setup DB2 environment while using an arbitrary user account
+ (other than the DB2 install user account):
+ Example:
+ $ . /home/db2inst1/sqllib/db2profile
+
+ - To configure test database:
+ DB2 v9.x: some IBM_DB driver tests require a UTF-8 database:
+ $ db2 CREATE DATABASE testdrv USING CODESET UTF-8 \
+ TERRITORY US COLLATE USING SYSTEM PAGESIZE 32768
+ DB2 v8.x: driver tests 195 and 52949 requires XML functionality
+ only available in DB2 v9.x
+
+ - To configure database connection parameters edit config.yaml
+ Example:
+ database: testdrv
+ user: db2inst1
+ password: password
+ hostname: localhost
+ port: 50000
+
+ - To compile and link with DB2 client libraries:
+ $ export IBM_DB_DIR=/opt/ibm/db2/V9.1
+ $ export IBM_DB_LIB=/opt/ibm/db2/V9.1/lib32
+
+ Windows platforms:
+ - Install Visual C++ 2003, Platform SDK (latest), .Net SDK Version 1.1 from:
+ http://wiki.tcl.tk/11431
+ - Set environment:
+ CALL "C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\SetEnv.Cmd"
+ CALL "C:\Program Files\Microsoft Visual C++ Toolkit 2003\vcvars32.bat"
+ SET LIB=%LIB%;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib
+ - To configure database connection parameters edit config.yaml
+
+ Build and Execution:
+ rake
+
+ Execution of tests without compilation (must have .so in ibm_db source directory):
+ rake onlytests
+
+ Execution of a single test inside the tests directory can be done by the following:
+ export SINGLE_RUBY_TEST=test_001.rb
+ rake
+
+
+Limitations and known problems
+==============================
+ - ActiveRecord rename_column method is not supported for DB2 LUW, zOS and i5
+ - ActiveRecord remove_column method is not supported for DB2 zOS
+ - The following tests from the ActiveRecord 1.15.3 test suite are expected to fail
+ - test_limited_eager_with_multiple_order_columns
+ - test_limited_eager_with_order
+ - test_assign_ids_ignoring_blanks
+ - test_build_by_new_record
+ - test_get_ids
+ - test_select_limited_ids_list
+ - test_add_index
+ - The following tests from the driver test suite are expected to fail on DB2 version 8
+ on Linux/Unix/Windows and Informix Dynamic Server because of missing native XML support. If you want to
+ make use of the native XML features in DB2, please upgrade to version 9 or later
+ - test_195.rb
+ - test_52949.rb
+ - The driver returns an error when you try to insert a TIMESTAMP value into a DATE column.
+ To fix this, please ensure that the following configuration keyword PATCH2=58 is set
+ in the COMMON section of your DB2 CLI initialization file (db2cli.ini):
+ - set: db2 UPDATE CLI CFG FOR SECTION COMMON USING PATCH2 58
+ - verify: db2 GET CLI CFG FOR SECTION COMMON
+ Please refer to http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.apdv.cli.doc/doc/c0007882.htm
+ for more information.
+ - The behaviour of ActiveRecord::Base.find(:first) without an :order attribute can be unpredictable.
+ The first record (i.e. the record with the minimum id) may be not be retrieved. In a relational model,
+ the order of the rows returned is unpredictable and independent of the order of insertion.
+ This issue may be addressed in a future release.
+ - Rails applications on DB2 9 require the APPLHEAPSZ database configuration parameter to be
+ set to or above 1024. You will need to set this parameter for each database for which you will be
+ running DB2 on Rails applications. Following is the command syntax for updating the
+ applheapsz parameter:
+ > db2 update db cfg for <database_name> using APPLHEAPSZ 1024
+ To enable this parameter, you need to restart your DB2 instance.
+ - If you see connectivity issues with Informix Dynamic Server, please ensure that the server is configured to accept DRDA connections.
+ Please refer to http://publib.boulder.ibm.com/infocenter/idshelp/v111/index.jsp?topic=/com.ibm.admin.doc/admin154.htm for more information.
+ - The following tests from the ActiveRecord 1.15.3 test suite are expected to fail on Informix Dynamic Server
+ - test_quote
+ - test_to_xml
+ - test_should_calculate_grouped_by_function
+ - test_should_calculate_grouped_by_function_with_table_alias
+ - test_inserts_with_pre_and_suffix
+ - test_add_table_with_decimals
+ - test_no_limits_datatypes_IBM_DB
+ - test_instance_update_should_quote_pkey
+ - test_integer_columns
+ - test_arguments_line_up
+ - test_no_dump_errors
+ - test_schema_dump_includes_decimal_options
+ - IBM_DB is not supported on JRuby. As stated in the JRuby Wiki, "Basics of Getting JRuby Running":
+ 'You may install other gems, but keep in mind that libraries with C extension dependencies
+ will not work in JRuby.' http://www.headius.com/jrubywiki/index.php/Getting_Started
+ The IBM_DB adapter relies on IBM_DB driver (C extension) and the IBM Driver for ODBC and
+ CLI to access databases on IBM data servers. Alternatively, you can either use the regular C
+ implementation of Ruby, or use ActiveRecord-JDBC adapter to access databases.
+
+To Do
+====
+ - Support ActiveRecord remove_column method for DB2 zOS version 9
+
+
+Feedback
+========
+ Your feedback is very much appreciated and expected through Rubyforge:
+ - rubyibm project: http://rubyforge.org/projects/rubyibm/
+ - rubyibm forum: http://rubyforge.org/forum/?group_id=2361
+ - rubyibm bug reports: http://rubyforge.org/tracker/?group_id=2361
+ - IBM_DB developers: rubyibm-developers@rubyforge.org