2 a. I realized that a driver manager doesn't aware of
3 difference between a C5 (i.e. hstmt) and a C6
4 (i.e. transaction) states.
6 b. The link flags "-lc" has been removed from Linux ELF
7 section of Config.mk to fix a segment fault problem.
8 Now, it works fine on Slackware 2.3 and Red Hat 2.0
9 (kernel version are 1.2.xx and 1.3.xx respectively).
11 c. On FreeBSD 2.x, dlsym() doesn't handle the '_'
12 prepended before a exporting function symbol. So,
13 CLI_NAME_PREFIX needs to be defined as "_SQL" for
16 d. Some files are renamed
21 1. iODBC driver manager platform availability
23 iODBC driver manager has been ported to following Unix platforms:
26 HP/UX 9.x, 10.x HP9000 s700/s800
27 HP/UX 9.x HP9000 s300/s400
28 IBM AIX 3.x, 4.x IBM RS6000, PowerPC
29 Sun Solaris 2.x Sun Sparc, PCx86
30 SGI Irix SVR4 5.x, 6.x IP12 MIPS, IP22 MIPS
32 UnixWare SVR4.2 1.x, 2.x x86
33 DEC Unix(OSF/1) 3.x, 4.x DEC Alpha
36 Linux ELF 1.2.x, 1.3.x x86
37 SCO OpenServer 5.x x86
38 Max/OS SVR4 1.x Concurrent Maxion 9200 MP
41 Porting of iODBC driver manager to some non-unix operating systems
42 such as Windows family(3.x, 95, NT), OS/2 and Mac is supported but
43 has never compiled and tested yet :). Of cause, you need to supply
44 a make/build file and a short LibMain for creating the iodbc.dll.
46 2. How to build iODBC driver manager:
48 step 1. Identify your system
49 step 2. Run build with a suitable option
53 %[1]: sh iodbc-2.12.shar
56 %[3]: uname -s -v -r -m
57 HP-UX B.10.01 A 9000/710
62 Generating iODBC driver manager --> /home/kejin/iodbc-2.12.sl
64 3. odbc.ini( ~/.odbc.ini )
66 Driver manager and drivers use odbc.ini(or ~/.odbc.ini on Unix) file
67 or connection string when establishing a data source connection. On
68 Windows, odbc.ini is located in Windows directory. On unix, iODBC driver
69 manager(and all other ODBC drivers and driver managers I awared) looks
70 .odbc.ini file in real user's home directory (it could be a softlink to
71 the file located somewhere else). Make sure your driver will look into
72 the same file (or a file which is a symbolic link to the same file).
73 The format of odbc.ini( or ~/.odbc.ini ) is defined as:
75 odbc.ini(or .odbc.ini) ::= data_source_list
77 data_source_list ::= /* empty */
78 | data_source '\n' data_source_list
80 data_source ::= '[' data_source_name ']' '\n' data_source_desc
82 data_source_name ::= 'default' | [A-Za-z]*[A-Za-z0-9_]*
84 data_source_desc ::= /* empty */
85 | attrib_desc '\n' data_source_desc
87 addrib_desc ::= Attrib '=' attrib_value
89 Attrib ::= 'Driver' | 'PID' | 'UID' | driver_def_attrib
91 driver_def_attrib ::= [A-Za-z]*[A-Za-z0-9_]*
93 An example of .odbc.ini file:
96 # yellow page of metro Toronto
97 Driver = /usr/lib/odbc/oracle.so
101 # white page of metro Toronto
102 Driver = /usr/lib/odbc/oracle.so
106 # all contract documents
107 Driver = /usr/lib/odbc/informix.so
112 Driver = /usr/lib/odbc/nnodbc.so
113 Server = news.empress.com
116 # data source for R&D test
117 Driver = /home/r_d/odbc/empodbc.so
118 URL = empodbc://rnd.empress.com:6322/rnd_test/testdb
121 # default to odbc gateway
122 Driver = /usr/lib/odbc/gateway.so
126 iODBC driver manager traces driver's ODBC call invoked by the driver
127 manager. Default tracing file is ./odbc.log. Tracing option (i.e.
128 on/off or optional tracing file name) can be set in ~/.odbc.ini
129 file (under a data source section) as:
131 TraceFile = <optional_trace_file>
132 Trace = ON | On | on | 1 | OFF | Off | off | 0
134 If <optional_trace_file> is stderr or stdout, i.e.
142 the tracing message will go to the terminal screen(if it is available).
144 iODBC driver manager allows one to tune on/off tracing on selected
145 connection(s). Different connections can share one or use different
146 tracing file(s). ODBC calls on connections without tuning tracing on
152 IAFA-PACKAGE Version and copyright information
153 Changes.log Source changes log
154 Version.mk Version make include file
155 Config.mk Config make include file
157 config.h system config include file
158 isql.h ODBC 1.0 macro
159 isqlext.h ODBC 2.0 macro
160 dlf.h general dynamic loader module interface
161 dlf.c general dynamic loader module (mapping to svr4)
162 dlproc.h simple dynamic loader module interface
163 dlproc.c simple dynamic loader on top of dlf module
164 herr.h error handling module interface
165 herr.c error handling module
166 herr.ci error handling source include
167 henv.h environment handle interface
168 henv.c environment handle module
169 henv.ci environment handle source include
170 hdbc.h connection handle interface
171 hdbc.c connection handle module
172 hstmt.h statement handle interface
173 hstmt.c statement handle module
174 connect.c connect functions
175 prepare.c query prepare functions
176 execute.c query executing functions
177 result.c query result property functions
178 fetch.c query result fetch functions
179 info.c driver information functions
180 catalog.c catalog functions
181 misc.c miscellaneous functions
183 itrace.c trace function
184 main.c entry function used to build a share library on AIX
185 shrsub.exp export symbol list used on AIX
186 autoconfig shell script for creating Config.mk
187 build shell script for building iodbc driver manager