Not logged in : Login

About: IODBCPerlHOWTO     Goto   Sponge   NotDistinct   Permalink

An Entity of Type : atom:Entry, within Data Space : iodbc.org associated with source document(s)

AttributesValues
rdf:type
dcterms:created
dcterms:modified
rdfs:label
  • IODBCPerlHOWTO
maker
http://rdfs.org/si...ices#has_services
dc:title
  • IODBCPerlHOWTO
sioc:link
sioc:id
  • 152a064c08f798f74ab48ec998651355
opl:isDescribedUsing
sioc:links_to
sioc:has_creator
sioc:has_container
atom:source
atom:title
  • IODBCPerlHOWTO
atom:author
atom:published
  • 2016-09-14T12:28:33Z
atom:updated
  • 2016-09-14T12:28:33Z
sioc:content
  • ---+ iODBC+Perl HOWTO Tim Haynes, OpenLink Software, Tue Mar 23 17:51:50 2004 %TOC% ---++Introduction The following is a HOWTO document for installing Perl modules with the OpenLink iODBC SDK or iODBC Driver Manager as an Apache module on Linux/Unix systems. Feel free to criticize, suggest modifications, or ask further questions. It is currently being maintained by iodbc@openlinksw.com. Prerequisite: Basic Unix, Linux or MacOS X familiarity (creating directories and users, using an editor, etc). Knowledge of how Perl modules work is useful. ---++ODBC client download and installation This installation will provide the iODBC Driver Manager, header files, and example program without source code. Additional ODBC driver download is necessary. For the latest version, visit the following OpenLink Software download pages and choose your download based on your client operating system: * SDK download page * Multi-Tier ODBC Client download page (choose only Client option to download); see footnote 1. * or Single-Tier driver download page The SDK includes the header files required for compilation. The second download is only required if you have not already installed a third party driver to connect to your database. (See also footnote 2.) b. Create a new Openlink directory, such as /usr/openlink c. Copy the "install.sh" file and the ODBC SDK .taz archive(s) into /usr/ openlink d. Navigate to that directory, and run: sh install.sh This will extract the software, creating lib/ (for the driver) and include/ (for the compilation) directories under /usr/openlink/odbcsdk e. (Optional) Copy your Single-Tier or Multi-Tier ODBC Client .taz file and the install.sh into the /usr/openlink/odbcsdk directory, navigate to that directory, and subsequently run: sh install.sh f. (Optional) For the Multi-Tier server side download, visit the OpenLink Software Multi-Tier download page and choose your download based on your server operating system. g. Unzip the archive and perform an installation (see http://docs.openlinksw.com/mt/ for more). h. Make sure the OpenLink Request Broker (oplrqb) is started. ---++ iODBC Driver Manager Source and SDK The iODBC Driver Manager is recommended for programmers or those with experience with non-OpenLink drivers. Following these steps will perform a generic installation of the driver manager onto your system. The files are installed under /usr/local, unless you specify otherwise with a different --prefix directive at configure-time. It is also recommended that you refer to the README and INSTALL files prior to proceeding. a. From [[http:/www.iodbc.org/]], download the appropriate component (for the Driver Manager) b. Extract the archive using the following command: gzip -dc < file.taz| tar -xvf - where file.taz is the file you downloaded. c. Move to the source directory which was just created from the extraction d. Execute the following commands: ./configure make make check make install ---++ Creating and Testing an ODBC DSN You need to create an ODBC DSN (data source). This will exist in your client-side odbc.ini file, and can be done in one of two ways: ---+++Manual mode You can also review the instructions at the "OpenLink iODBC SDK for Unix" link from the Client Components Installation section of the Multi-Tier Release 4.0 documentation. A sample odbc.ini file can be found in the doc subdirectory from your OpenLink iODBC SDK installation. To begin: a. Set and export the ODBCINI environment variable (this assumes you have not moved that file to another directory): export ODBCINI=/usr/openlink/odbcsdk/doc/odbc.ini or setenv ODBCINIT /usr/openlink/odbcsdk/doc/odbc.ini depending on your shell. ---++++Create your DSN For example, to connect to an MS Access database on Windows, you can create a [dsn_access] section, change the Host, ServerType, Database, Username and Password entries to match your server settings. Here is part of the odbc.ini file: [dsn_access] Driver = /usr/openlink/odbcsdk/lib/oplodbc.so.1 Host = ServerType = Odbc Database = UserName = sa Password = ;FetchBufferSize = 30 where Host is the machine hosting your MS Access database, and Database the is the name of the MS Access driver DSN you set up in the Windows ODBC control panel. ---++++ Run "iodbctest" cd /usr/openlink/odbcsdk/examples ./iodbctest d. At the prompt, type a valid connect string, such as `DSN=dsn_access' (from above example) e. Once you get a prompt, you are connected and can execute any valid SQL against your database, or `tables' to obtain a list of tables in that database. ---+++Graphical mode You can configure data sources by using the Admin Assistant HTML wizards (accessible once the Request Broker is started on the client). (See footnote 3.) 1. Ensure that your openlink.sh file has been sourced in the current shell. 2. Start the Request Broker: cd /usr/openlink/bin ./oplrqb c. Navigate to http://localhost:8000/ on the client machine. d. In "Client Components Administration", proceed to configure an ODBC Data Source and test. ---++ FreeBSD-specific Concerns On FreeBSD, it has been found to help if perl is compiled with threading; to do this, you need to build it from the lang/perl58/ port, and define WITH_THREADS (e.g. in /etc/make.conf). ---++ MacOS X-specific Concerns On MacOS X, you have the option to compile libraries either as traditional unix-like shared libraries, or as a `framework'. On OS X, the latter is generally preferred - for example, iODBC is built as a framework, most of the Perl modules are, etc. The instructions below for DBI apply regardless; however, for DBD::ODBC you have a choice of one or other method. ---++ Compiling the Perl Modules for ODBC support Perl's DBI is a generic database interface module for Perl; DBD is a range of specific database interfaces, DBD::Pg, DBD::Sybase, DBD::Oracle, DBD::ODBC, etc, loaded by DBI. ---+++ DBI Download the DBI module from CPAN - this is frequently provided as a package with your operating system; alternatively, you can download it from CPAN (http:/search.cpan.org) under the "Database Interfaces" category. Assuming you have a working Perl installation already installed on your system, we recommend the following method - using Perl's CPAN module - to automate the whole process: bash# perl -MCPAN -e shell cpan> CPAN: Storable loaded ok Going to read /root/.cpan/Metadata Database was generated on Wed, 02 Oct 2002 18:22:45 GMT CPAN: LWP::UserAgent loaded ok Fetching with LWP: [snip] cpan> install DBI DBI is up to date. More documentation on this method is to be found at http:/www.perldoc.com/perl5.6/pod/perlmodinstall.html . ---+++ DBD::ODBC Download the DBD::ODBC module from CPAN. You can either download it by hand from http:/www.perl.com/CPAN-local/modules/index.html, or use the following to obtain it - note that we only recommend getting it this way rather than attempting a full install, as some intervention is necessary to configure and compile it: bash# perl -MCPAN -e shell cpan> CPAN: Storable loaded ok Going to read /root/.cpan/Metadata Database was generated on Wed, 02 Oct 2002 18:22:45 GMT | [snip] cpan> get DBD::ODBC Running get for module DBD::ODBC CPAN: Digest::MD5 loaded ok Checksum for /root/.cpan/sources/authors/id/J/JU/JURL/DBD-ODBC-0.45.tar.gz ok Scanning cache /root/.cpan/build for sizes DBD-ODBC-0.45/ DBD-ODBC-0.45/Changes DBD-ODBC-0.45/dbdimp.c DBD-ODBC-0.45/dbdimp.h DBD-ODBC-0.45/fixup_c.h DBD-ODBC-0.45/fixup_t.h DBD-ODBC-0.45/Makefile.PL DBD-ODBC-0.45/MANIFEST (and so on.) Now enter the build directory (cd /root/.cpan/build/ DBD-ODBC-0.45 above), and run: bash# env ODBCHOME=/opt/openlink/odbcsdk perl Makefile.PL Configuring DBD::ODBC ... >>>Remember to actually *READ* the README file! And re-read it if you have any problems. Using DBI 1.30 installed in /usr/lib/perl5/auto/DBI Using ODBC in /opt/openlink/odbcsdk Umm, this looks like a iodbc type of driver manager. We expect to find the isql.h, isqlext.h and iodbc.h files (which were supplied with iODBC) in $ODBCHOME/include directory alongside the /opt/openlink/odbcsdk/lib/libiodbc.a /opt/openlink/odbcsdk/lib/libiodbc.so library. Using DBI 1.30 installed in /usr/lib/perl5/auto/DBI Writing Makefile for DBD::ODBC This tells this particular compilation of DBD::ODBC to use the iODBC installation in the openlink odbcsdk distribution. To perform the actual build, simply type `make'. Note: There is a bug in some versions of DBD::ODBC's Makefile.PL whereby the generated Makefile is invalid - typically you get an error such as Makefile:313: *** missing separator. Stop. You can simply comment-out the offending line, thus: config :: $(changes_pm) # @$(NOOP) Alternatively, replacing the leading spaces with a TAB character will also fix it. ---++++ MacOSX-specific note Instead of typing `make' above, if you wish to build this module as a framework instead of a shared library, you will have to edit the generated Makefile; you still use the same `perl Makefile.PL -o /path/to/iodbc' command to generate the Makefile (it will fail if it can't find the lib/ directory, and fail to compile if it can't find the headers to include), but the references to `-liodbc' should become `-framework iODBC' throughout, and the `-L'(path to iodbc/lib) should be removed, thus: VERSION_FROM = ODBC.pm INC = -I. -I/Library/Perl/darwin/auto/DBI DEFINE = -I/Users/openlink/tim/iodbc-shared/include OBJECT = $(O_FILES) # DBD::ODBC might depend on some other libraries: # See ExtUtils::Liblist for details # EXTRALIBS = -framework iODBC LDLOADLIBS = -framework iODBC BSLOADLIBS = LD_RUN_PATH = # /Users/openlink/tim/iodbc-shared/lib ---++++Testing DBD::ODBC You should also run through the tests - assign values to these variables: The DBD::ODBC tests will use these values for the database connection: DBI_DSN=e.g. dbi:ODBC:demo DBI_USER= DBI_PASS= and execute `make test'. Optionally, for maximum verbosity, use make test TEST_VERBOSE=1 instead. ---++++Installation Finally, become root if you were not already, using su or sudo or equivalent, and type make install to install DBD::ODBC into your perl tree. A short sample perl script using DBD::ODBC might be the following: bash# cat > dbitest.pl #!/usr/bin/perl use DBI; use DBD::ODBC; $|=1; map { print "Data sources for $_: " . join(" ", DBI->data_sources($_)). " " } grep(!/ADO|template/, DBI->available_drivers); which, when you run it, lists all data-sources for all the installed DBD:: drivers, now including ODBC: bash# perl ./dbitest.pl Data sources for CSV: DBI:CSV:f_dir=mytest DBI:CSV:f_dir=t DBI:CSV:f_dir=blib Data sources for ODBC: DBI:ODBC:DB2v7.x(linux) DBI:ODBC:DB2v7.x(aix32bit) DBI:ODBC:DB2v7.x(solaris) ---++ Footnotes 1. OpenLink Multi-tier drivers involve installation on both the client- and server-sides.%BR%%BR% 2. A known bug was discovered when using certain versions of the OpenLink iODBC SDK coupled with Perl DBD, whereby a disconnect in the Perl script would cause a core dump. The bug did not prove to affect script functionality; it was driver-specific. The problem has been addressed in the latest ODBC SDK available at OpenLink Software's web site (see the iODBC SDK option). For this reason, unless you are using non-OpenLink drivers to connect in your scripts, it is recommended that you install the OpenLink iODBC SDK option for your ODBC home.%BR%%BR% 3. If you configure a DSN using the Admin Assistant, you'll have to copy the modified odbc.ini file into either the home directory (or " ~/.") of the Perl account, or export ODBCINI to point at it, for it to be recognized at run-time.%BR%%BR% ---++ Glossary * *Admin Assistant* - the Admin Assistant is an HTML-based interface which simplifies the process of configuring text-based configuration files used in the OpenLink Multi-Tier data architecture. It is made available via the OpenLink Request Broker, which is available for download for your Unix/ Linux client from the OpenLink Multi-Tier download page. Since the Request Broker is a server component, you obtain it by specifying your server platform as your Unix/ Linux client. Once downloaded, you can install the archive into your ODBC home directory. It will be installed as the file "oplrqb" in a bin subdirectory. More information can be found at the link "ODBC Client Components for Unix" (Wizards-Based Data Source Management) in the OpenLink Multi-Tier Release 4.0 documentation. * *Database Agent* - an OpenLink Database Agent is an executable process which initiates a connection to the specified database (in the ServerType odbc.ini parameter). For ServerTypes of "Odbc", it acts as a generic agent, acting as a proxy to the actual database driver which will complete the connection on the server. * *ODBC home directory* - this is the directory to which you have installed either the iODBC driver manager or the OpenLink iODBC SDK. It will contain directories like include and lib directly under it. * *Request Broker* - the OpenLink Request Broker is a server daemon which listens on a specified TCP port (default of 5000) and broadcasts on a UDP port. It acts exactly as its name suggests, "brokering" out incoming connection requests to the appropriate Database Agent process. The Request Broker implicitly starts another server daemon called "www_sv" which acts as a stand-alone web server providing easy configuration for initialization files.
sioc:topic
is made of
is http://rdfs.org/si...vices#services_of of
is sioc:link of
is sioc:links_to of
is sioc:creator_of of
is sioc:container_of of
is atom:entry of
is atom:contains of
Faceted Search & Find service v1.17_git132 as of May 12 2023


Alternative Linked Data Documents: PivotViewer | iSPARQL | ODE     Content Formats:   [cxml] [csv]     RDF   [text] [turtle] [ld+json] [rdf+json] [rdf+xml]     ODATA   [atom+xml] [odata+json]     Microdata   [microdata+json] [html]    About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 07.20.3238 as of May 23 2023, on Linux (x86_64-generic-linux-glibc25), Single-Server Edition (15 GB total memory, 2 GB memory in use)
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2024 OpenLink Software