README
1iODBC Driver Manager
2Copyright (C) 1995 by Ke Jin <kejin@empress.com>
3Copyright (C) 1996-2006 by OpenLink Software <iodbc@openlinksw.com>
4All Rights Reserved.
5
6
71. Introduction
8
9 Welcome to the iODBC driver manager maintained by OpenLink Software
10 (<http://www.openlinksw.com/>). This kit will provide you with
11 everything you need in order to develop ODBC-compliant applications
12 under Unix without having to pay royalties to other parties.
13
14 This kit consists of a number of parts:
15
16 o The iODBC driver manager. This is a complete implementation of
17 an ODBC driver manager, released under either the GNU Library
18 General Public License or the BSD License. We fully comply with
19 these licenses by giving you this product in source form (as well
20 as the binary form). You can download the latest version of the
21 driver manager from <http://www.iodbc.org/>
22
23 o A simple example, iodbctest.c, which gives you a command-line
24 interface to SQL. You can fit this to your purposes, but at the very
25 least this is useful for verification of your ODBC installation.
26
27 You can use either part stand-alone, if you wish.
28
29 An ODBC driver is still needed to affect your connection
30 architecture. You may build a driver with the iODBC components or
31 obtain an ODBC driver from a commercial vendor. OpenLink Software
32 produces cross-platform commercial drivers as well as maintaining
33 the iODBC distribution: evaluation copies may be obtained via
34 download from <http://www.openlinksw.com/>. Any ODBC-compliant
35 driver will work with the iODBC Driver Manager.
36
37 See also the iODBC website, <http://www.iodbc.org/>, for more pointers
38 to various ODBC drivers.
39
40
41
422. Installation of run-time distribution
43
44 You probably already unpacked this distribution. The next step is
45 to make sure that your applications can find all the dynamic link
46 libraries. Depending on your system's implementation of dynamic link
47 libraries, you have a number of options:
48
49 o Install the libraries in a directory that is searched by your
50 linker by default. Typical locations are /usr/lib and
51 /usr/local/lib.
52
53 o Install the libraries in some other place, and make sure that the
54 environment variable your dynamic linker uses to find extra
55 locations for dynamic link libraries. Most systems use the
56 environment variable LD_LIBRARY_PATH to this end. Exceptions are
57 AIX which uses LIBPATH and HP/UX which uses SHLIB_PATH.
58
59 If your system has a C compiler, you can verify the installation
60 by compiling the iodbctest program. Otherwise, you may have ODBC
61 applications installed on your system which you can use.
62
63
64
653. Configuration of run-time distribution
66
67 The iODBC driver manager looks for a file ~/.odbc.ini, where the
68 tilde stands for the user's home directory. This file only contains a
69 default section where you can select which driver library to use. Copy
70 the odbc.ini file from the examples directory to ~/.odbc.ini and make
71 sure the right path and filename is used for your installation.
72
73 A data source is a section (enclosed in square parenthesis), and
74 the attributes for a data source are given within this section.
75 The most important attribute to iODBC for each datasource is the Driver
76 attribute. This must point to the shared library for the ODBC driver
77 associated with the data source.
78
79 As example, the OpenLink ODBC drivers have a number of attributes
80 which can be set for a data source. Here is a description (with ODBC
81 connect string tags between parenthesis):
82
83 Host
84 The hostname where the database resides (HOST).
85
86 ServerType
87 The type of server (see oplrqb.ini on the server, SVT).
88
89 ServerOptions
90 Server-specific extra options. See OpenLink server documentation
91 for agents which can use this.
92
93 Database
94 The database to use (DATABASE).
95
96 Options
97 Connect options for the database (OPTIONS).
98
99 UserName
100 The name of the user (a password cannot be specified in the
101 UDBCINI file, UID/PWD).
102
103 ReadOnly
104 A Yes/No value in order to make the connection read-only
105 (READONLY=Y/N).
106
107 FetchBufferSize
108 The number of records that are transferred in a single call to
109 the server. Default is 5; maximum is 99, minimum is 1
110 (FBS=value).
111
112 Protocol
113 The protocol to use. Leave set to ``TCP'' for this release.
114
115
116 Apart from these data source-specific settings, you may add a section
117 called [Communications], which you may use to tune our driver further:
118
119 ReceiveTimeout
120 The time the client application will wait for the database agent
121 to finish the request (default is 60 seconds).
122
123 BrokerTimeout
124 The time the client application will wait for the request broker
125 to accept of reject a database connection (default is 30
126 seconds).
127
128 SendSize
129 RPC send buffer size. A value of 0 (the default) will cause the
130 application to use system-dependent defaults.
131
132 ReceiveSize
133 RPC receive buffer size. A value of 0 (the default) will cause
134 the application to use system-dependent defaults.
135
136 DebugFile
137 If set, the name of a file to which debugging output from the
138 driver should be directed.
139
140
141
1424. Contribution of changes, patches and updates.
143
144 While not mandated by the BSD license, any patches you make to
145 the iODBC may be contributed back into the iODBC project at
146 your discretion. Contributions will benefit the Open Source and
147 Data Access community as a whole. Submissions may be made at
148 <http://www.iodbc.org/>.
149
150
151
1525. iODBC driver manager platform availability
153
154 The iODBC driver manager has been ported to following Unix platforms:
155
156 BSDi BSD/OS 2.x ?
157 DEC Unix(OSF/1) 3.x - 5.x DEC Alpha
158 DG/UX 5.x Aviion
159 FreeBSD 2.x - 5.x x86
160 HP/UX 9.x - 11.x HP9000 s700/s800
161 HP/UX 9.x HP9000 s300/s400
162 IBM AIX 3.x - 5.x IBM RS6000, PowerPC
163 Linux ELF 1.x, 2.x x86, Itanium, PowerPC
164 Mac OS X 10.x PowerPC
165 Max/OS SVR4 1.x Concurrent Maxion 9200 MP
166 NCR SVR4 3.x NCR 3435
167 OpenVMS 6.x DEC Alpha
168 SCO OpenServer 5.x x86
169 SGI Irix SVR4 5.x, 6.x IP12 MIPS, IP22 MIPS
170 SunOS 4.1.x Sun Sparc
171 Sun Solaris 2.x Sun Sparc, PCx86
172 UnixWare SVR4.2 1.x, 2.x x86
173 Windows NT 4.x x86
174
175 As the iODBC driver manager uses autoconf/automake/libtool it should
176 be portable to most modern UNIX platforms out of the box. However if
177 you do need to make changes to the code or the configuration files,
178 we would appreciate you share your changes with the rest of the
179 internet community by mailing your patches to <iodbc@openlinksw.com>
180 so we can include them for the next build.
181
182 Porting of iODBC driver manager to some non-UNIX operating systems
183 such as Windows family(3.x, 95, NT), OS/2 and Mac Classic is
184 supported but has not been compiled and tested recently. Of cause,
185 you need to supply a make/build file and a short LibMain for creating
186 the iodbc.dll.
187
188
189
1906. How to build iODBC driver manager:
191
192 Mac OS X users should read the separate README.MACOSX document for
193 more detail of porting on this platform. Otherwise:
194
195 step 1. Run configure to adjust to target platform
196 step 2. Run make
197 step 3. Run make install
198
199 The configure program will examine your system for various compiler
200 flags, system options etc. In some cases extra flags need to be
201 added for the C compiler to work properly.
202
203 E.g. on HP systems you may need:
204
205 $ CFLAGS="-Ae -O" ./configure --prefix=/usr/local ..........
206
207
208 File Hierarchy
209 --------------
210
211 Note that the path of the system wide odbc.ini file is calculated as
212 follows (based on flags to ./configure):
213
214 no --prefix default is /etc/odbc.ini
215 --prefix=/usr /etc/odbc.ini
216 --prefix=/xxx/yyy /xxx/yyy/etc/odbc.ini
217 --sysconfdir=/xxx/yyy /xxx/yyy/odbc.ini
218 --with-iodbc-inidir=/xxx/yyy /xxx/yyy/odbc.ini
219
220 If the `--with-layout=' option is set, then the prefix and
221 sysconfdir parameters will be changed accordingly. Currently, this
222 parameter understands values of `gentoo', `redhat', `gnu',
223 `debian' or `opt' (with everything going into /opt/iodbc/). If
224 both are specified, a --prefix argument will overrule a --with-layout.
225
226
227 Example
228 -------
229
230 $ ./configure --prefix=/usr/local --with-iodbc-inidir=/etc
231 ...
232 ...
233 ...
234 $ make
235 ...
236 ...
237 ...
238 $ su
239 # make install
240 ...
241 ...
242 ...
243
244
2457. odbc.ini
246
247 Driver manager and drivers use odbc.ini file or connection string
248 when establishing a data source connection. On Windows, odbc.ini is
249 located in Windows directory.
250
251 On UNIX, the iODBC driver manager looks for the odbc.ini file in the
252 following sequence:
253
254 1. check environment variable ODBCINI
255
256 2. check $HOME/.odbc.ini
257
258 3. check home in /etc/passwd and try .odbc.ini in there
259
260 4. system-wide odbc.ini (settable at configuration time)
261
262
263 Item 1 is the easiest as most drivers will also look at this variable.
264
265
266
267 The format of odbc.ini( or ~/.odbc.ini ) is defined as:
268
269 odbc.ini ::= data_source_list
270
271 data_source_list ::= /* empty */
272 | data_source '\n' data_source_list
273
274 data_source ::= '[' data_source_name ']' '\n' data_source_desc
275
276 data_source_name ::= 'default' | [A-Za-z]*[A-Za-z0-9_]*
277
278 data_source_desc ::= /* empty */
279 | attrib_desc '\n' data_source_desc
280
281 addrib_desc ::= Attrib '=' attrib_value
282
283 Attrib ::= 'Driver' | 'PID' | 'UID' | driver_def_attrib
284
285 driver_def_attrib ::= [A-Za-z]*[A-Za-z0-9_]*
286
287
288
289 An example of an odbc.ini file:
290
291 ;
292 ; odbc.ini
293 ;
294 [ODBC Data Sources]
295 Myodbc = Myodbc
296 Sample = OpenLink Generic ODBC Driver
297 Virtuoso = Virtuoso
298
299 [ODBC]
300 TraceFile = /tmp/odbc.trace
301 Trace = 0 ; set to 1 to enable tracing
302
303 [Sample]
304 Driver = /usr/local/openlink/lib/oplodbc.so.1
305 Description = Sample OpenLink DSN
306 Host = localhost
307 UserName = openlink
308 Password = xxxx
309 ServerType = Oracle 8.1.x
310 Database =
311 FetchBufferSize = 99
312 ReadOnly = no
313
314 [Virtuoso]
315 Driver = /usr/local/virtuoso/lib/virtodbc.so.1
316 Address = localhost:1112
317 Database = Demo
318
319 [Myodbc]
320 Driver = /usr/lib/libmyodbc.so
321 HOST = localhost
322
323 [Default]
324 Driver = /usr/local/openlink/lib/oplodbc.so.1
325
326
327
3288. Tracing
329
330 iODBC driver manager traces driver's ODBC call invoked by the driver
331 manager. Default tracing file is ./odbc.log. Tracing option (i.e.
332 on/off or optional tracing file name) can be set in odbc.ini file
333 under the [ODBC] heading as:
334
335 [ODBC]
336 TraceFile = <optional_trace_file>
337 Trace = ON | On | on | 1 | OFF | Off | off | 0
338
339 If <optional_trace_file> is stderr or stdout, i.e.
340
341 TraceFile = stderr
342
343 or
344
345 TraceFile = stdout
346
347 the tracing message will go to the terminal screen (if it is available).
348
349
3509. Further Information Sources:
351
352 <http://www.iodbc.org/>
353 iODBC project home page.
354 Binaries, source, documentation
355
356 <http://sourceforge.net/projects/iodbc>
357 Source, CVS tree, mailing lists, forums, bug reports
358
359 <http://www.openlinksw.com/>
360 OpenLink Software.
361 Free trials and support for OpenLink's ODBC drivers.
362
363 <http://www.microsoft.com/data/odbc/>
364 Microsoft's ODBC pages.
365
README.CVS
1iODBC Driver Manager
2Copyright (C) 1995 by Ke Jin <kejin@empress.com>
3Copyright (C) 1996-2006 by OpenLink Software <iodbc@openlinksw.com>
4All Rights Reserved.
5
6
7Introduction
8============
9This document describes how to checkout a copy of the CVS tree for
10development purposes. It also lists the packages that need to be
11installed prior to generating the necessary scripts and Makefiles to
12build the project.
13
14CVS access is only needed for developers who want to actively track
15progress of the iODBC source code and contribute bugfixes or enhancements
16to the project. It requires basic knowledge about the general layout
17of open source and GNU projects, the use of autoconf and automake etc,
18which is beyond the scope of this document. If you have any questions,
19please email us at <iodbc@openlinksw.com>.
20
21
22CVS Archive Server Access
23=========================
24OpenLink currently provides read-only CVS Archive access throught the
25SourceForge.net servers:
26
27$ cvs -d:pserver:anonymous@iodbc.cvs.sourceforge.net:/cvsroot/iodbc login
28
29(The password is blank)
30
31$ cvs -z3 -d:pserver:anonymous@iodbc.cvs.sourceforge.net:/cvsroot/iodbc co iODBC
32
33
34Package Dependencies
35====================
36To generate the configure script and all other build files necessary,
37please make sure the following packages and recommended versions are
38installed on your system.
39
40 Package Version From
41 ======== ======= ==================================
42 autoconf 2.57 ftp://ftp.gnu.org/pub/gnu/autoconf
43 automake 1.6.3 ftp://ftp.gnu.org/pub/gnu/automake
44 libtool 1.4.3 ftp://ftp.gnu.org/pub/gnu/libtool
45 gtk+ 1.2.10 ftp://ftp.gtk.org/pub/gtk/v1.2
46
47The above version are used for generating the source distributions with
48are currently generated on a standard RedHat 9 installation. Older version
49of these packages can sometimes be used, but could cause build problems.
50
51To check the version number of the tools installed on your system,
52use one of the following commands:
53
54 $ autoconf --version
55 $ automake --version
56 $ libtoolize --version
57 $ gtk-config --version
58
59
60Generate build files
61====================
62To generate the configure script and all related build files, use one
63of the following commands:
64
65 $ autoreconf --install
66
67or use the supplied script in your CVS checkout directory:
68
69 $ ./bootstrap.sh
70
71If the above commands succeed without any error messages, please use the
72following command to check out all the options you can use:
73
74 $ ./configure --help
75
76Certain build targets are only enabled when the --enable-maintainer-mode
77flag is added to configure.
78
79Please read the files INSTALL and README in this directory for further
80information on how to configure the package and install it on your system.
81
82
83Submitting fixes and enhancements
84=================================
85Patches and new contributions can be submitted as diffs from the current
86CVS archive by:
87
88 $ cvs add newfiles
89
90 $ cvs -z3 diff -uN > diffs
91
92Patches and contributions can be send to the OpenLink iODBC source
93archive manager at <iodbc@openlinksw.com> to be included the next
94distribution. Please provide accompanying documentation on which bugs
95are fixed or new features are introduced.
96
README.MACOSX
1iODBC Driver Manager
2Copyright (C) 1995 by Ke Jin <kejin@empress.com>
3Copyright (C) 1996-2006 by OpenLink Software <iodbc@openlinksw.com>
4All Rights Reserved.
5
6
7
8How to build iODBC for Mac OS X
9===============================
10
11
12Method 1: Using Project builder
13-------------------------------
14
15You first need to install the latest Mac OS X Developer Packages,
16which can be found at:
17
18 http://developer.apple.com/tools
19
20
21Then, you can open the Xcode Project Builder files under mac/iODBCinst,
22mac/iODBC, mac/iODBCtest and mac/iODBCtestw, or execute the following
23commands from a terminal session to build all the frameworks and
24demo applications:
25
26 $ cd mac
27 $ make
28
29
30After building the iODBC and iODBCinst frameworks, you have to
31install them on your system with the command:
32
33 $ cd mac
34 $ make install
35
36
37This installs the iODBCinst and iODBC frameworks into:
38
39 /Library/Frameworks
40
41and the demo applications iodbctest and iodbctest into:
42
43 /Library/Application Support/iODBC/bin
44
45
46Now that you have installed the iODBC frameworks on your system,
47you are able to use ODBC applications or build your own applications
48using the iODBC API.
49
50
51Once you have installed an ODBC driver and configured a DSN, you
52will be able to make a connection using the iodbctest command which
53is located in:
54
55 /Library/Application Support/iODBC/bin/iodbctest
56
57
58
59Method 2: Using configure and make
60----------------------------------
61
62The iODBC package can also be build like any other OpenSource package
63not using any frameworks.
64
65To build the libraries, open up a terminal session and execute the
66following commands:
67
68 $ ./configure
69 $ make
70
71To install the header files and libraries in /usr/local, you execute
72the following command as administrator:
73
74 $ sudo make install
75