+ url="http://www.iodbc.org">http://www.iodbc.org.
+ Instructions for installing
iODBC> are contained in
+ the
iODBC> distribution. Having said that, any
+ driver manager that you can find for your platform should support
+ the
psqlODBC> driver, or any other ODBC>
+ driver for that matter.
-
-
Writing Applications
-
-
- If I write an application for
Postgres
- can I write it using
ODBC calls
- to the
Postgres server,
- or is that only when another database program
- like MS SQL Server or Access needs to access the data?
-
-
- is the way to go.
- For
Visual C++ coding you can find out more at
- Microsoft's web site or in your
VC++ docs.
-
-
- Visual Basic and the other RAD tools have Recordset objects
- directly to access data. Using the data-aware controls, you can quickly
- link to the
ODBC back end database
- (very quickly).
-
-
- Playing around with MS Access will help you sort this out. Try using
- File->Get External Data .
-
-
-
- You'll have to set up a DSN first.
-
-
-
-
-
-
+ To install
psqlODBC> you simply need to supply the
+ --enable-odbc> option to the configure> script when you are
+ building the entire
PostgreSQL> distribution. The library
+ and header files will then automatically be built and installed with the
+ rest of the programs. If you forget that option or want to build the ODBC
+ driver later you can change into the directory src/interfaces/odbc>
+ and do make> and make install> there.
+
-
-
Unix Installation
+ The installation-wide configuration file odbcinst.ini> will be
+ installed into the directory /usr/local/pgsql/etc/>, or equivalent,
+ depending on what --prefix> and/or --sysconfdir> options
+ you supplied to configure>. Since this file can also be shared
+ between different
ODBC> drivers you can also install it in a shared
+ location. To do that, override the location of this file with the
+ --with-odbcinst> option.
+
-
ODBC database interface
- supported on at least some platforms.
-
ApplixWare v4.4.2 has been
- demonstrated under Linux with
Postgres v7.0
- driver contained in the
Postgres distribution.
+ Additionally, you should install the ODBC catalog extensions. That will
+ provide a number of functions mandated by the ODBC standard that are not
+ supplied by
PostgreSQL> by default. The file
+ /usr/local/pgsql/share/odbc.sql> (in the default installation layout)
+ contains the appropriate definitions, which you can install as follows:
+psql -d template1 -f LOCATION>/odbc.sql
+
+ where specifying template1 as the target
+ database will ensure that all subsequent new databases will
+ have these same definitions.
-
Building the Driver
-
- The first thing
- to note about the
psqlODBC driver
- (or any
ODBC driver) is that there must
- exist a driver manager on the system where
- the
ODBC driver is to be
- used. There exists a freeware
ODBC driver for Unix
- can be obtained from various locations on the Net, including at
- Instructions for installing
iodbc
- are beyond the scope of this
- document, but there is a README
- that can be found inside the
iodbc compressed
- .shar file that should explain how to get it up and running.
-
-
- Having said that, any driver manager that you can find for your platform
- should support the
psqlODBC driver
-
-
- The Unix configuration files for
psqlODBC
- have recently been extensively
- reworked to allow for easy building on supported platforms as
- well as to allow for support of other Unix platforms in the future.
- The new configuration and build files for the driver should make it
- a simple process to build the driver on the supported platforms. Currently
- these include Linux and FreeBSD but we are hoping other users will
- contribute the necessary information to quickly expand the number of
- platforms for which the driver can be built.
-
-
- There are actually two separate methods to build the driver depending on
- how you received it and these differences come down to only where and how to
- run
configure and
make .
- The driver can be built in a standalone, client-only installation, or can be
- built as a part of the main
Postgres distribution.
- The standalone installation is convenient if you have
ODBC
- client applications on multiple, heterogeneous platforms. The integrated
- installation is convenient when the target client is the same as the
- server, or when the client and server have similar runtime configurations.
-
-
- Specifically if you have received the
psqlODBC
- driver as part of the
Postgres distribution
- (from now on referred to as an "integrated" build) then you will
- configure and make the
ODBC driver
- from the top level source directory
- of the
Postgres distribution
- along with the rest of its libraries.
- If you received the driver as a standalone package than you will run
- configure and make from the directory in which you unpacked the
- driver source.
-
-
-
Integrated Installation
-
- This installation procedure is appropriate for an integrated installation.
-
-
-
- Specify the --with-odbc
- command-line argument for
src/configure :
-
-% ./configure --with-odbc
-% make
-
-
-
-
-
- Rebuild the
Postgres distribution:
-
-% make install
-
-
-
-
-
- Install the ODBC catalog extensions available in
- PGROOT/contrib/odbc/odbc.sql :
-
-% psql -e template1 < $PGROOT/contrib/odbc/odbc.sql
-
-
- where specifying template1 as the target
- database will ensure that all subsequent new databases will
- have these same definitions.
-
-
-
-
+
Supported Platforms
- Once configured, the
ODBC driver will be built and installed
- into the areas defined for the other components of the
-
Postgres system. The installation-wide
-
ODBC configuration file will be placed into
- the top directory of the Postgres target tree (POSTGRESDIR ).
- This can be overridden from the
make command-line
- as
-% make ODBCINST=filename install
-
+
psqlODBC has been built and tested
+ on
Linux . There have been reports of success
+ with FreeBSD and with Solaris. There are no known restrictions
+ on the basic code for other platforms which already support
-
-
Pre-v6.4 Integrated Installation
-
- If you have a
Postgres installation older than
- v6.4, you have the original source tree available,
- and you want to use the newest version of the
ODBC
- driver, then you may want to try this form of installation.
-
-
-
- Copy the output tar file to your target system and unpack it into a
- clean directory.
-
-
-
- From the directory containing the
- sources, type:
-
-% ./configure
-% make
-% make POSTGRESDIR=PostgresTopDir install
-
-
-
-
-
- If you would like to install components into different trees,
- then you can specify various destinations explicitly:
-
-% make BINDIR=bindir LIBDIR=libdir HEADERDIR=headerdir ODBCINST=instfile install
-
-
-
-
-
-
Standalone Installation
-
- A standalone installation is not integrated with or built on the normal
-
Postgres distribution. It should be best suited
- for building the
ODBC driver for multiple, heterogeneous
- clients who do not have a locally-installed
Postgres
- source tree.
-
-
- The default location for libraries and headers
- for the standalone installation is /usr/local/lib
- and /usr/local/include/iodbc , respectively.
- There is another system wide configuration file that gets installed
- as /share/odbcinst.ini (if /share
- exists) or as /etc/odbcinst.ini
- (if /share does not exist).
-
-
-
- Installation of files into /share
- or /etc requires system root privileges.
- Most installation steps for
Postgres do not
- have this requirement, and you can choose another destination which
- is writable by your non-root
Postgres superuser
- account instead.
-
-
-
-
- The standalone installation distribution can be built from the
-
Postgres distribution or may be obtained from
- the current maintainers of the non-Unix sources.
-
-
- Copy the zip
- or gzipped tarfile to an empty directory. If using the zip package
- unzip it with the command
-% unzip -a packagename
-
-
- The -a option
- is necessary to get rid of
DOS
- CR/LF pairs in the source files.
-
-
- If you have the gzipped tar package than simply run
-
-% tar -xzf packagename
-
-
-
-
-
-
- To create a tar file for a complete standalone installation
- from the main
Postgres source tree:
-
-
-
-
-
- Configure the main
Postgres distribution.
-
-
-
- Create the tar file:
-
-% cd interfaces/odbc
-% make standalone
-
-
-
-
-
- Copy the output tar file to your target system. Be sure to transfer as
- a binary file if using
ftp .
-
-
-
-
- Unpack the tar file into a clean
- directory.
-
-
-
-
- Configure the standalone installation:
-
-% ./configure
-
-
-
- The configuration can be done with options:
-
-% ./configure --prefix=rootdir --with-odbc=inidir
-
-
- where --prefix installs the libraries and headers in
- the directories rootdir /lib and
- rootdir /include/iodbc , and
- --with-odbc installs odbcinst.ini in the
- specified directory.
-
-
- Note that both of these options can also be used from the integrated build
- but be aware that when used in the integrated build
- --prefix will also apply to the rest of
- your
Postgres installation.
- --with-odbc applies only to the configuration file
- odbcinst.ini .
-
-
-
-
- Compile and link the source code:
-
-% make ODBCINST=instdir
-
-
-
- You can also override the default location for installation on the
- 'make' command line. This only applies to the installation of the
- library and header files. Since the driver needs to know the location
- of the odbcinst.ini file attempting to override the enviroment variable
- that specifies its installation directory will probably cause you
- headaches. It is safest simply to allow the driver to install the
- odbcinst.ini file in the default directory or the directory you specified
- on the './configure' command line with --with-odbc.
-
-
-
-
-
-
- Install the source code:
-
-% make POSTGRESDIR=targettree install
-
-
-
- To override the library and header installation directories separately
- you need to pass the correct installation variables on the
- make install command line. These variables are
- LIBDIR , HEADERDIR
- and ODBCINST .
- Overriding POSTGRESDIR on the make command line will cause
- LIBDIR and HEADERDIR
- to be rooted at the new directory you specify.
- ODBCINST is independent of POSTGRESDIR .
-
-
- Here is how you would specify the various destinations explicitly:
-
-% make BINDIR=bindir LIBDIR=libdir HEADERDIR=headerdir install
-
-
-
- For example, typing
-
-% make POSTGRESDIR=/opt/psqlodbc install
-
-
- (after you've used
- will cause the libraries and headers to be installed in the directories
- /opt/psqlodbc/lib
- and /opt/psqlodbc/include/iodbc respectively.
-
-
- The command
-
-% make POSTGRESDIR=/opt/psqlodbc HEADERDIR=/usr/local install
-
-
- should cause the libraries to be installed in /opt/psqlodbc/lib and
- the headers in /usr/local/include/iodbc. If this doesn't work as
- expected please contact one of the maintainers.
-
-
-
[ODBC Data Sources] and must contain the following entries:
-Driver = POSTGRESDIR /lib/libpsqlodbc.so
+Driver = prefix /lib/libpsqlodbc.so
Database=DatabaseName
Servername=localhost
Port=5432
+
+
+ In the real world, differences in drivers and the level of
+ lessens the potential of
ODBC :
+
+
+
+ Access, Delphi, and Visual Basic all support
ODBC directly.
+
+
+
+ Under C++, such as Visual C++,
+ you can use the C++
ODBC API .
+
+
+
+
+ In Visual C++, you can use the CRecordSet class, which wraps the
+ set within an MFC 4.2 class. This is the easiest route if you are doing
+ Windows C++ development under Windows NT.
+
+
+
+
+
+
+
Writing Applications
+
+
+ If I write an application for
Postgres
+ can I write it using
ODBC calls
+ to the
Postgres server,
+ or is that only when another database program
+ like MS SQL Server or Access needs to access the data?
+
+
+ is the way to go.
+ For
Visual C++ coding you can find out more at
+ Microsoft's web site or in your
VC++ docs.
+
+
+ Visual Basic and the other RAD tools have Recordset objects
+ directly to access data. Using the data-aware controls, you can quickly
+ link to the
ODBC back end database
+ (very quickly).
+
+
+ Playing around with MS Access will help you sort this out. Try using
+ File->Get External Data .
+
+
+
+ You'll have to set up a DSN first.
+
+
+
+
+
+
+
+
ApplixWare
+
ODBC database interface
+ supported on at least some platforms.
+
ApplixWare 4.4.2 has been
+ demonstrated under Linux with
Postgres 7.0
+ driver contained in the
Postgres distribution.
+
+
Configuration
-
-
Supported Platforms
-
psqlODBC has been built and tested
- on
Linux . There have been reports of success
- with FreeBSD and with Solaris. There are no known restrictions
- on the basic code for other platforms which already support
-
-